Download Download
Godot Feature Splash
Godot Addon API Docs
HoldZone — API

Properties

  • FeatureUtils _FEATURE_UTILS
  • PlayerControls _PLAYER
  • float _DISTANCE = 1.0
  • Vector3 _ZONE_SIZE = Vector3(0.25, 0.25, 0.25)
  • String _ZONE_SCENE = ""
  • SubSceneHost _ZONE_SCENE_HOST
  • Area3D _UNDERNEATH_AREA
  • RigidBody3D[] _UNDERNEATH_ITEMS = []
  • float _HOLD_FORCE = 275.0
  • float _MAX_HOLD_FORCE = 300.0
  • float _DAMPING_FORCE = 8.0
  • float _SWAY_STRENGTH = 0.3
  • Variant _ROTATION_SPEED = 1.0
  • float _MAX_HELD_DISTANCE = 5.5
  • Vector3 _HELD_INITIAL_ROTATION = Vector3(0, 0, 0)
  • float _HELD_GRAVITY_SCALE = 0.0
  • float _HELD_LINEAR_DAMP = 0.0
  • float _HELD_ANGULAR_DAMP = 0.0
  • bool _HELD_CCD = false
  • RigidBody3D _HELD
  • RigidBody3D[] _HOLD_CANDIDATES = []
  • TrackingArea3D[] _TRIGGERS = []
  • TrackingArea3D[] _DEPOSITE_CANDIDATE_TRIGGERS = []
  • TrackingArea3D[] _WITHDRAW_CANDIDATE_TRIGGERS = []
  • Debounce _HOLD_COOLDOWN_DEBOUNCE = <unknown>

Methods

  • void _init(FeatureUtils feature_utils, PlayerControls player, float distance, Vector3 zone_size, String zone_scene)
  • void _process(float delta)
  • void apply_pickup_force(float delta)
  • void apply_rotation_and_sway(float delta)
  • void _setup_zone_scene()
  • void _setup_underneath_area()
  • void _on_add_underneath_item(Node b)
  • void _on_remove_underneath_item(Node b)
  • void _trigger_deposite_areas(RigidBody3D was_held)
  • void _set_withdraw_areas()
  • void _on_tracking_area_entered(Area3D a)
  • void _on_tracking_area_exited(Area3D a)
  • void _trigger_hold_zone_interact()
  • void _on_hold_candidate_entered(Node3D b)
  • void _on_hold_candidate_exited(Node3D b)
  • void _drop_on_floor_raycast_collision()
  • bool hold_items_available()
  • bool holding()
  • RigidBody3D[] get_holdable_items()
  • RigidBody3D get_held_item()
  • void hold_item()
  • void drop_item()
  • void _start_hold_cooldown()
  • void _start_hold(RigidBody3D b)
  • void _stop_hold()

Signals

  • signal holdable_items_available_change()
  • signal held_item_changed()