using System; using System.Diagnostics.SymbolStore; using System.Dynamic; using Godot; public interface ITileDraggable { Vector2I TilePosition { get; set; } bool Draggable { get; set; } bool IsCollided { get; set; } Rect2I TileRect { get; } Vector2I MouseOffset { get; } SpecialTile[] SpecialTiles { get; } class SpecialTile { public readonly Vector2I Position; public readonly Lab.MapNodeType NodeType; public SpecialTile(Vector2I pos, Lab.MapNodeType node) { Position = pos; NodeType = node; } } Lab.MapNodeType GetTileType(Vector2I pos); Guid Id { get; } }