ucg-3d/objects/sand_pit.gd

30 lines
591 B
GDScript

extends CSGPolygon3D
@export var friction: float
@export_group("Node References")
@export var collision_polygon: CollisionPolygon3D
var _players: Array[Player] = []
func _ready() -> void:
collision_polygon.polygon = polygon
collision_polygon.depth = depth
func _physics_process(delta: float) -> void:
for player in _players:
player.velocity = lerp(player.velocity, Vector3.ZERO, friction * delta)
func _on_body_entered(body: Node3D) -> void:
if body is Player:
_players.append(body)
func _on_body_exited(body: Node3D) -> void:
if body is Player:
_players.erase(body)