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
|
||||
|
||||
[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="CameraZoom2D" 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_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_10x10km_4096px.png"
|
||||
]
|
||||
var map_filename:String = map_filenames[3]
|
||||
var map_filename:String = map_filenames[2]
|
||||
|
||||
var _world_generator:WorldGenerator
|
||||
|
||||
|
|
|
@ -7,6 +7,8 @@ signal set_camera_position(pos:Vector2)
|
|||
@onready var sprite:Sprite2D
|
||||
var is_mouse_inside_minimap:bool = false
|
||||
|
||||
var position_multiplier
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
|
@ -22,8 +24,8 @@ func _draw():
|
|||
func _process(_delta):
|
||||
if !is_mouse_inside_minimap:
|
||||
Globals.camera_marker.position = Vector2i(
|
||||
Globals.CAMERA_POSITION.x / 8,
|
||||
Globals.CAMERA_POSITION.y / 8,
|
||||
Globals.CAMERA_POSITION.x / position_multiplier, # 8 on 256 size map. need a forumla to calculate this
|
||||
Globals.CAMERA_POSITION.y / position_multiplier, # 8 on 256 size map
|
||||
)
|
||||
|
||||
|
||||
|
@ -32,6 +34,10 @@ func _on_main_worldgen_ready():
|
|||
self.set_minimap()
|
||||
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():
|
||||
is_mouse_inside_minimap = true
|
||||
|
@ -46,7 +52,7 @@ func _unhandled_input(event) -> void:
|
|||
Globals.camera_marker.position = get_local_mouse_position()
|
||||
emit_signal(
|
||||
"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