add cursor screen corner inset for controller
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
extends CanvasLayer
|
extends CanvasLayer
|
||||||
|
|
||||||
@export var side_change_speed: float = 15
|
@export var side_change_speed: float = 15
|
||||||
|
@export var screen_inset: float = 100
|
||||||
|
|
||||||
var _side: float
|
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_world := player.attack.global_position + player.aiming.aim_offset
|
||||||
var cursor_pos_screen := Referencer.main_camera.unproject_position(cursor_pos_world)
|
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 = (
|
_base.position = (
|
||||||
cursor_pos_screen.clamp(Vector2.ZERO, get_viewport().get_visible_rect().size)
|
cursor_pos_screen.clamp(clamp_corner_min, clamp_corner_max) - _base.size / 2
|
||||||
- _base.size / 2
|
|
||||||
)
|
)
|
||||||
|
|
||||||
_side = lerpf(
|
_side = lerpf(
|
||||||
|
|||||||
Reference in New Issue
Block a user