Esempio n. 1
0
        /// <summary>
        /// 文字列で書かれた、スケール値を読みとる
        /// </summary>
        /// <param name="text">テキスト</param>
        /// <param name="defaultValue">デフォルト値</param>
        /// <returns>スケール値。文字列が設定されてなかったらデフォルト値を。解析できなかったら例外を投げる</returns>
        public static Vector2 ParseScale2DOptional(string text, Vector2 defaultValue)
        {
            //何も設定がなければデフォルト値を
            if (string.IsNullOrEmpty(text))
            {
                return(defaultValue);
            }

            Vector2 scale = defaultValue;

            //数字だけが書かれていた場合はx,yを同じ値として扱う
            float s;

            if (WrapperUnityVersion.TryParseFloatGlobal(text, out s))
            {
                return(Vector2.one * s);
            }

            if (ParserUtil.TryParseVector2Optional(text, scale, out scale))
            {
                return(scale);
            }
            else
            {
                throw new System.Exception("Parse Scale2D Error " + text);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 文字列からピボットを解析する
        /// </summary>
        /// <param name="text">テキスト</param>
        /// <param name="defaultValue">デフォルト値</param>
        /// <returns>解析したピボット値。文字列が設定されてなかったらデフォルト値を。解析できなかったら例外を投げる</returns>
        public static Vector2 ParsePivotOptional(string text, Vector2 defaultValue)
        {
            //何も設定がなければデフォルト値を
            if (string.IsNullOrEmpty(text))
            {
                return(defaultValue);
            }

            Vector2 pivot = Vector2.one * 0.5f;

            Pivot pivotEnum;

            if (UtageToolKit.TryParaseEnum <Pivot>(text, out pivotEnum))
            {
                return(PivotUtil.PivotEnumToVector2(pivotEnum));
            }

            if (ParserUtil.TryParseVector2Optional(text, pivot, out pivot))
            {
                return(pivot);
            }
            else
            {
                throw new System.Exception(LanguageErrorMsg.LocalizeTextFormat(ErrorMsg.PivotParse, text));
            }
        }