using Godot; namespace ColdMint.scripts.utils; public class CoordinateUtils { /// /// 方向描述 /// public enum OrientationDescribe { //上 Up, //下 Down, //左 Left, //右 Right, //原点 Origin } /// /// Vector to direction description(Relative to the origin) /// 向量到方向描述(相对原点而言) /// /// ///origin ///原点坐标 /// /// ///position ///位置 /// /// public static OrientationDescribe[] VectorToOrientationArray(Vector2 origin, Vector2 position) { var vector2 = position - origin; var orientationDescribes = new OrientationDescribe[2]; if (vector2.X < 0) { orientationDescribes[0] = OrientationDescribe.Left; } else if (vector2.X == 0) { orientationDescribes[0] = OrientationDescribe.Origin; } else { orientationDescribes[0] = OrientationDescribe.Right; } if (vector2.Y > 0) { orientationDescribes[1] = OrientationDescribe.Down; } else if (vector2.Y == 0) { orientationDescribes[0] = OrientationDescribe.Origin; } else { orientationDescribes[1] = OrientationDescribe.Up; } return orientationDescribes; } }