-
- using Godot;
-
- public class RoomStaticImageCanvas : IDestroy
- {
- public bool IsDestroyed { get; private set; }
- /// <summary>
- /// 画布节点实例
- /// </summary>
- public ImageCanvas CanvasSprite { get; }
- /// <summary>
- /// 房间坐标相对于画布坐标偏移量, 单位: 像素
- /// </summary>
- public Vector2I RoomOffset { get; set; }
-
- public RoomStaticImageCanvas(Node root, Vector2I position, int width, int height)
- {
- CanvasSprite = new ImageCanvas(width, height);
- //CanvasSprite.Clear(new Color(1, 1, 1, 0.2f));
- CanvasSprite.GlobalPosition = position;
- root.AddChild(CanvasSprite);
- }
-
- /// <summary>
- /// 将世界坐标转为画布下的坐标
- /// </summary>
- public Vector2 ToImageCanvasPosition(Vector2 pos)
- {
- return pos - CanvasSprite.GlobalPosition;
- }
-
- public void Destroy()
- {
- if (IsDestroyed)
- {
- return;
- }
-
- IsDestroyed = true;
- }
- }