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