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; } }