GridPositionerLogic

Keyboard helper: detect rotation input...

sort Weight: 10

Keyboard helper: detect rotation input from a key event and actions [param event] The keyboard input event to check [param actions] GBActions containing rotation action mappings [return] Rotation direction: 1 for clockwise, -1 for counter-clockwise, 0 for no rotation

Version: v5.0.0

STABLE

Inherits: RefCounted
Source: grid_positioner_logic.gd
Parsing: AST-based for maximum accuracy with symbol typing


Constants

ProjectionMethod

Value: GBEnums.ProjectionMethod


RecenterDecision

Value: {


Methods

proj_method_to_string

Signature: static proj_method_to_string(p_method: GBEnums.ProjectionMethod: Variant) -> String

Returns: String

Static: true

Parameters:

  • p_method: GBEnums.ProjectionMethod: Variant

should_be_visible

Signature: static should_be_visible(mode: GBEnums.Mode: Variant, targeting_settings: GridTargetingSettings, last_mouse_input_status: GBMouseInputStatus, has_mouse_world: bool) -> bool

[return] True if the positioner should be visible

Returns: bool

Static: true

Parameters:

  • mode: GBEnums.Mode: Variant
  • targeting_settings: GridTargetingSettings
  • last_mouse_input_status: GBMouseInputStatus
  • has_mouse_world: bool

should_be_visible_for_mode

Signature: static should_be_visible_for_mode(mode: GBEnums.Mode: Variant, targeting_settings: GridTargetingSettings) -> bool

[return] True if visible in this mode

Returns: bool

Static: true

Parameters:

  • mode: GBEnums.Mode: Variant
  • targeting_settings: GridTargetingSettings

is_positioner_active

Signature: static is_positioner_active(mode: GBEnums.Mode: Variant, targeting_settings: GridTargetingSettings) -> bool

Returns whether the positioner is considered active for the given mode/settings.

Returns: bool

Static: true

Parameters:

  • mode: GBEnums.Mode: Variant
  • targeting_settings: GridTargetingSettings

is_mouse_follow_allowed

Signature: static is_mouse_follow_allowed(mode: GBEnums.Mode: Variant, targeting_settings: GridTargetingSettings, input_ready: bool) -> bool

Mouse follow allowed gate

Returns: bool

Static: true

Parameters:

  • mode: GBEnums.Mode: Variant
  • targeting_settings: GridTargetingSettings
  • input_ready: bool

visibility_decision_trace

Signature: static visibility_decision_trace(mode_state: ModeState, targeting_settings: GridTargetingSettings, last_mouse_input_status: GBMouseInputStatus, has_mouse_world: bool) -> String

[return] Formatted trace string

Returns: String

Static: true

Parameters:

  • mode_state: ModeState
  • targeting_settings: GridTargetingSettings
  • last_mouse_input_status: GBMouseInputStatus
  • has_mouse_world: bool

visibility_on_mouse_event

Signature: static visibility_on_mouse_event(mode: GBEnums.Mode: Variant, targeting_settings: GridTargetingSettings, input_allowed: bool) -> void

diagnostics.

Returns: void

Static: true

Parameters:

  • mode: GBEnums.Mode: Variant
  • targeting_settings: GridTargetingSettings
  • input_allowed: bool

visibility_on_process_tick

Signature: static visibility_on_process_tick(mode: GBEnums.Mode: Variant, targeting_settings: GridTargetingSettings, input_ready: bool, last_mouse_input_status: GBMouseInputStatus, has_mouse_world: bool) -> MouseEventVisibilityResult

or a cached mouse world exists. Only applies when hide_on_handled is true.

Returns: MouseEventVisibilityResult

Static: true

Parameters:

  • mode: GBEnums.Mode: Variant
  • targeting_settings: GridTargetingSettings
  • input_ready: bool
  • last_mouse_input_status: GBMouseInputStatus
  • has_mouse_world: bool

visibility_reconcile

Signature: static visibility_reconcile(mode: GBEnums.Mode: Variant, targeting_settings: GridTargetingSettings, current_visible: bool, last_mouse_input_status: GBMouseInputStatus, has_mouse_world: bool) -> MouseEventVisibilityResult

set to the expected visibility derived from mode/settings.

Returns: MouseEventVisibilityResult

Static: true

Parameters:

  • mode: GBEnums.Mode: Variant
  • targeting_settings: GridTargetingSettings
  • current_visible: bool
  • last_mouse_input_status: GBMouseInputStatus
  • has_mouse_world: bool

recenter_on_enable_decision

Signature: static recenter_on_enable_decision(policy: int, has_cached_mouse_world: bool, mouse_input_enabled: bool, viewport_available: bool) -> int

  • MOUSE_CURSOR -> MOUSE_CURSOR if cached or (mouse enabled and viewport available); else VIEW_CENTER

Returns: int

Static: true

Parameters:

  • policy: int
  • has_cached_mouse_world: bool
  • mouse_input_enabled: bool
  • viewport_available: bool

get_tile_delta_from_key_event

Signature: static get_tile_delta_from_key_event(event: InputEventKey, actions: GBActions) -> Vector2i

Keyboard helper: compute tile delta from a key event and actions

Returns: Vector2i

Static: true

Parameters:

  • event: InputEventKey
  • actions: GBActions

get_rotation_direction_from_key_event

Signature: static get_rotation_direction_from_key_event(event: InputEventKey, actions: GBActions) -> int

[return] Rotation direction: 1 for clockwise, -1 for counter-clockwise, 0 for no rotation

Returns: int

Static: true

Parameters:

  • event: InputEventKey
  • actions: GBActions