mirror of
https://github.com/Relintai/broken_seals_roguelike.git
synced 2025-04-14 06:00:47 +02:00
Enemies can't be targeted now if they are hidden. Also handle input on touch up.
This commit is contained in:
parent
e2fb52a3ff
commit
ba5ef68239
@ -183,33 +183,36 @@ func _unhandled_input(event: InputEvent) -> void:
|
|||||||
get_tree().set_input_as_handled()
|
get_tree().set_input_as_handled()
|
||||||
|
|
||||||
|
|
||||||
if event is InputEventScreenTouch and event.pressed:
|
if event is InputEventScreenTouch:
|
||||||
if !target(event.position):
|
if event.pressed:
|
||||||
var pos : Vector2 = world.make_canvas_position_local(event.position)
|
pass
|
||||||
|
else:
|
||||||
pos -= transform.origin
|
if !target(event.position):
|
||||||
|
var pos : Vector2 = world.make_canvas_position_local(event.position)
|
||||||
if pos.length() < tile_size / 2:
|
|
||||||
#wait
|
|
||||||
world.player_moved()
|
|
||||||
return
|
|
||||||
|
|
||||||
var mx : int = 0
|
pos -= transform.origin
|
||||||
var my : int = 0
|
|
||||||
|
|
||||||
if abs(pos.x) > tile_size / 2:
|
if pos.length() < tile_size / 2:
|
||||||
if pos.x >= 0:
|
#wait
|
||||||
mx = 1
|
world.player_moved()
|
||||||
else:
|
return
|
||||||
mx = -1
|
|
||||||
|
var mx : int = 0
|
||||||
if abs(pos.y) > tile_size / 2:
|
var my : int = 0
|
||||||
if pos.y >= 0:
|
|
||||||
my = 1
|
if abs(pos.x) > tile_size / 2:
|
||||||
else:
|
if pos.x >= 0:
|
||||||
my = -1
|
mx = 1
|
||||||
|
else:
|
||||||
try_move(mx, my)
|
mx = -1
|
||||||
|
|
||||||
|
if abs(pos.y) > tile_size / 2:
|
||||||
|
if pos.y >= 0:
|
||||||
|
my = 1
|
||||||
|
else:
|
||||||
|
my = -1
|
||||||
|
|
||||||
|
try_move(mx, my)
|
||||||
|
|
||||||
get_tree().set_input_as_handled()
|
get_tree().set_input_as_handled()
|
||||||
|
|
||||||
@ -280,6 +283,9 @@ func target(position : Vector2) -> bool:
|
|||||||
var enemy : Entity = world.get_enemy_at_tile(pos.x, pos.y)
|
var enemy : Entity = world.get_enemy_at_tile(pos.x, pos.y)
|
||||||
|
|
||||||
if enemy:
|
if enemy:
|
||||||
|
if !enemy.get_body().visible:
|
||||||
|
return false
|
||||||
|
|
||||||
if entity.getc_target() != enemy:
|
if entity.getc_target() != enemy:
|
||||||
entity.target_crequest_change(enemy.get_path())
|
entity.target_crequest_change(enemy.get_path())
|
||||||
return true
|
return true
|
||||||
@ -295,6 +301,9 @@ func cmouseover(position : Vector2):
|
|||||||
var enemy : Entity = world.get_enemy_at_tile(pos.x, pos.y)
|
var enemy : Entity = world.get_enemy_at_tile(pos.x, pos.y)
|
||||||
|
|
||||||
if enemy:
|
if enemy:
|
||||||
|
if !enemy.get_body().visible:
|
||||||
|
return false
|
||||||
|
|
||||||
if last_mouse_over != null and last_mouse_over != entity:
|
if last_mouse_over != null and last_mouse_over != entity:
|
||||||
if is_instance_valid(last_mouse_over):
|
if is_instance_valid(last_mouse_over):
|
||||||
last_mouse_over.notification_cmouse_exit()
|
last_mouse_over.notification_cmouse_exit()
|
||||||
|
Loading…
Reference in New Issue
Block a user