change minimap to use a formula for position multi
This commit is contained in:
parent
14aa4f0e9a
commit
7805b02f0d
3 changed files with 11 additions and 5 deletions
|
@ -128,8 +128,8 @@ texture_repeat = 1
|
||||||
centered = false
|
centered = false
|
||||||
|
|
||||||
[connection signal="set_camera_position" from="." to="CameraZoom2D" method="_on_set_camera_position"]
|
[connection signal="set_camera_position" from="." to="CameraZoom2D" method="_on_set_camera_position"]
|
||||||
[connection signal="worldgen_ready" from="." to="CameraZoom2D" method="_on_main_worldgen_ready"]
|
|
||||||
[connection signal="worldgen_ready" from="." to="ChunkHandler" method="_on_main_worldgen_ready"]
|
[connection signal="worldgen_ready" from="." to="ChunkHandler" method="_on_main_worldgen_ready"]
|
||||||
|
[connection signal="worldgen_ready" from="." to="CameraZoom2D" method="_on_main_worldgen_ready"]
|
||||||
[connection signal="worldgen_ready" from="." to="UILayer/Control/Minimap" method="_on_main_worldgen_ready"]
|
[connection signal="worldgen_ready" from="." to="UILayer/Control/Minimap" method="_on_main_worldgen_ready"]
|
||||||
[connection signal="pressed" from="UILayer/Control/ConstructionPanel/button_residental" to="UILayer/Control" method="_on_button_residental_pressed"]
|
[connection signal="pressed" from="UILayer/Control/ConstructionPanel/button_residental" to="UILayer/Control" method="_on_button_residental_pressed"]
|
||||||
[connection signal="pressed" from="UILayer/Control/ConstructionPanel/button_commercial" to="UILayer/Control" method="_on_button_commercial_pressed"]
|
[connection signal="pressed" from="UILayer/Control/ConstructionPanel/button_commercial" to="UILayer/Control" method="_on_button_commercial_pressed"]
|
||||||
|
|
|
@ -20,7 +20,7 @@ var map_filenames:Array = [
|
||||||
"res://maps/tampere_256px.png",
|
"res://maps/tampere_256px.png",
|
||||||
"res://maps/tampere_10x10km_4096px.png"
|
"res://maps/tampere_10x10km_4096px.png"
|
||||||
]
|
]
|
||||||
var map_filename:String = map_filenames[3]
|
var map_filename:String = map_filenames[2]
|
||||||
|
|
||||||
var _world_generator:WorldGenerator
|
var _world_generator:WorldGenerator
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@ signal set_camera_position(pos:Vector2)
|
||||||
@onready var sprite:Sprite2D
|
@onready var sprite:Sprite2D
|
||||||
var is_mouse_inside_minimap:bool = false
|
var is_mouse_inside_minimap:bool = false
|
||||||
|
|
||||||
|
var position_multiplier
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
|
@ -22,8 +24,8 @@ func _draw():
|
||||||
func _process(_delta):
|
func _process(_delta):
|
||||||
if !is_mouse_inside_minimap:
|
if !is_mouse_inside_minimap:
|
||||||
Globals.camera_marker.position = Vector2i(
|
Globals.camera_marker.position = Vector2i(
|
||||||
Globals.CAMERA_POSITION.x / 8,
|
Globals.CAMERA_POSITION.x / position_multiplier, # 8 on 256 size map. need a forumla to calculate this
|
||||||
Globals.CAMERA_POSITION.y / 8,
|
Globals.CAMERA_POSITION.y / position_multiplier, # 8 on 256 size map
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,6 +34,10 @@ func _on_main_worldgen_ready():
|
||||||
self.set_minimap()
|
self.set_minimap()
|
||||||
self.setup_camera_marker()
|
self.setup_camera_marker()
|
||||||
|
|
||||||
|
# log2(x) = log10(x) / log10(2)
|
||||||
|
var power = log(Globals.map_size) / log(2) - 8
|
||||||
|
position_multiplier = 8 * pow(2, power)
|
||||||
|
|
||||||
|
|
||||||
func _on_mouse_entered():
|
func _on_mouse_entered():
|
||||||
is_mouse_inside_minimap = true
|
is_mouse_inside_minimap = true
|
||||||
|
@ -46,7 +52,7 @@ func _unhandled_input(event) -> void:
|
||||||
Globals.camera_marker.position = get_local_mouse_position()
|
Globals.camera_marker.position = get_local_mouse_position()
|
||||||
emit_signal(
|
emit_signal(
|
||||||
"set_camera_position",
|
"set_camera_position",
|
||||||
get_local_mouse_position() * 8
|
get_local_mouse_position() * position_multiplier # 8 on 256 size map. need a forumla to calculate this
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue