using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UnityEngine; namespace VketCloudGUITools.Runtime { public enum AnchorType { LT = 0, LM = 1, LB = 2, CT = 3, CM = 4, CB = 5, RT = 6, RM = 7, RB = 8 } public static class AnchorTypeExtension { public static AnchorType ToAnchorType(this Vector2 value) { if (value == new Vector2(0, 1)) return AnchorType.LT; else if (value == new Vector2(0, 0.5f)) return AnchorType.LM; else if (value == new Vector2(0, 0)) return AnchorType.LB; else if (value == new Vector2(0.5f, 1)) return AnchorType.CT; else if (value == new Vector2(0.5f, 0.5f)) return AnchorType.CM; else if (value == new Vector2(0.5f, 0)) return AnchorType.CB; else if (value == new Vector2(1, 1)) return AnchorType.RT; else if (value == new Vector2(1, 0.5f)) return AnchorType.RM; else if (value == new Vector2(1, 0)) return AnchorType.RB; return AnchorType.LT; } public static Vector2 ToVector2(this AnchorType value) { switch (value) { case AnchorType.LT: return new Vector2(0, 1); case AnchorType.LM: return new Vector2(0, 0.5f); case AnchorType.LB: return new Vector2(0, 0); case AnchorType.CT: return new Vector2(0.5f, 1); case AnchorType.CM: return new Vector2(0.5f, 0.5f); case AnchorType.CB: return new Vector2(0.5f, 0); case AnchorType.RT: return new Vector2(1, 1); case AnchorType.RM: return new Vector2(1, 0.5f); case AnchorType.RB: return new Vector2(1, 0); } return new Vector2(0, 1); } } }