using System; using Godot; using Godot.Collections; public partial class FallFloor : Node2D { private static FallFloor Instance; private Array bodies = []; public override void _Ready() { Instance = this; foreach (StaticBody2D body in GetChildren()) { bodies.Add(body); } } public static StaticBody2D GetNearest(Vector2 point) { var selected = Instance.bodies[0]; foreach (StaticBody2D body in Instance.bodies) { if (Math.Abs(selected.GlobalPosition.Y - point.Y) > Math.Abs(body.GlobalPosition.Y - point.Y)) { selected = body; } } return selected; } public static Array GetEverythingElse(StaticBody2D except) { Array bodys = []; foreach (StaticBody2D body in Instance.bodies) { if (except != body) { bodys.Add(body); } } return bodys; } }