示例#1
0
        public static Vector2i FromString(string value, bool containsCoordinate, char seperator)
        {
            if (string.IsNullOrEmpty(value))
            {
                throw new ArgumentNullException("value", "value isn't seted");
            }
            if (containsCoordinate)
            {
                if (value.Contains("X") && value.Contains("Y"))
                {
                    value = value.Remove(0, 1);
                    value = value.Remove(value.IndexOf("Y"), 1);
                }
                if (value.Contains(":"))
                {
                    value = value.Remove(0, 1);
                    value = value.Remove(value.IndexOf(":"), 1);
                }
            }

            if (!value.Contains(seperator))
            {
                int cor;
                if (int.TryParse(value, out cor))
                {
                    return(Vector2i.FromIndex(cor, 3, 3));
                }
            }
            else
            {
                string[] splitedValue = value.Split(seperator);
                int      x            = 0;
                int      y            = 0;
                if (int.TryParse(splitedValue[0], out x) && int.TryParse(splitedValue[1], out y))
                {
                    return(new Vector2i(x, y));
                }
            }
            return(null);
        }