add cursor screen corner inset for controller
This commit is contained in:
parent
4f0a7094cd
commit
e4ea6eb904
@ -1,6 +1,7 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@export var side_change_speed: float = 15
|
||||
@export var screen_inset: float = 100
|
||||
|
||||
var _side: float
|
||||
|
||||
@ -26,9 +27,15 @@ func _process(delta: float) -> void:
|
||||
|
||||
var cursor_pos_world := player.attack.global_position + player.aiming.aim_offset
|
||||
var cursor_pos_screen := Referencer.main_camera.unproject_position(cursor_pos_world)
|
||||
|
||||
var clamp_corner_min := Vector2.ZERO
|
||||
var clamp_corner_max := get_viewport().get_visible_rect().size
|
||||
if Inputer.mode == Inputer.Mode.CONTROLLER:
|
||||
clamp_corner_min += Vector2(screen_inset, screen_inset)
|
||||
clamp_corner_max -= Vector2(screen_inset, screen_inset)
|
||||
|
||||
_base.position = (
|
||||
cursor_pos_screen.clamp(Vector2.ZERO, get_viewport().get_visible_rect().size)
|
||||
- _base.size / 2
|
||||
cursor_pos_screen.clamp(clamp_corner_min, clamp_corner_max) - _base.size / 2
|
||||
)
|
||||
|
||||
_side = lerpf(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user