Exemple #1
0
 public static string QuickToString(this AdvColumnName value)
 {
     if (names == null)
     {
         names = Enum.GetNames(typeof(AdvColumnName));
     }
     return(names[(int)value]);
 }
Exemple #2
0
 protected virtual void ParseEffectTarget(AdvColumnName columnName)
 {
     this.targetName = base.ParseCell <string>(columnName);
     if (!ParserUtil.TryParaseEnum <AdvEffectManager.TargetType>(this.targetName, out this.targetType))
     {
         this.targetType = AdvEffectManager.TargetType.Default;
     }
 }
Exemple #3
0
		//シナリオラベルを解析・取得
		public virtual string ParseScenarioLabel(AdvColumnName name)
		{
			string label;
			if (!AdvCommandParser.TryParseScenarioLabel(this.RowData, name, out label))
			{
				Debug.LogError(ToErrorString(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.NotScenarioLabel, ParseCell<string>(name))));
			}
			return label;
		}
        // シナリオラベルを解析
        static public string ParseScenarioLabel(StringGridRow row, AdvColumnName columnName)
        {
            string label = AdvParser.ParseCell <string>(row, columnName);

            if (!IsScenarioLabel(label))
            {
                Debug.LogError(row.ToErrorString(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.NotScenarioLabel, label)));
            }
            return(label.Substring(1));
        }
 static public string QuickToString(this AdvColumnName value)
 {
     Profiler.BeginSample("QuickToString");
     if (names == null)
     {
         names = Enum.GetNames(typeof(AdvColumnName));
     }
     Profiler.EndSample();
     return(names[(int)value]);
 }
Exemple #6
0
        //シナリオラベルを解析・取得
        static public string ParseScenarioLabel(StringGridRow row, AdvColumnName name)
        {
            string label;

            if (!TryParseScenarioLabel(row, name, out label))
            {
                Debug.LogError(row.ToErrorString(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.NotScenarioLabel, label)));
            }
            return(label);
        }
Exemple #7
0
 protected virtual void ParseWait(AdvColumnName columnName)
 {
     if (base.IsEmptyCell(columnName))
     {
         base.WaitType = AdvCommandWaitType.ThisAndAdd;
     }
     else
     {
         AdvCommandWaitType type;
         if (!ParserUtil.TryParaseEnum <AdvCommandWaitType>(base.ParseCell <string>(columnName), out type))
         {
             base.WaitType = AdvCommandWaitType.NoWait;
             Debug.LogError(base.ToErrorString("UNKNOWN WaitType"));
         }
         else
         {
             base.WaitType = type;
         }
     }
 }
Exemple #8
0
        //
        static public bool TryParseScenarioLabel(StringGridRow row, AdvColumnName columnName, out string scenarioLabel)
        {
            string label = AdvParser.ParseCell <string>(row, columnName);

            if (!IsScenarioLabel(label))
            {
                scenarioLabel = label;
                return(false);
            }
            else
            {
                if (label.Length >= 3 && label[1] == '*')
                {
                    scenarioLabel = row.Grid.SheetName + '*' + label.Substring(2);
                }
                else
                {
                    scenarioLabel = label.Substring(1);
                }
                return(true);
            }
        }
Exemple #9
0
 //ウェイトタイプを解析
 protected virtual void ParseWait(AdvColumnName columnName)
 {
     //第6引数でウェイトタイプの設定
     if (IsEmptyCell(columnName))
     {
         //設定なしの場合
         this.WaitType = AdvCommandWaitType.Default;
     }
     else
     {
         string             waitString = ParseCell <string>(columnName);
         AdvCommandWaitType waitType;
         if (!ParserUtil.TryParaseEnum <AdvCommandWaitType>(waitString, out waitType))
         {
             //何のタイプか不明
             this.WaitType = AdvCommandWaitType.NoWait;
             Debug.LogError(ToErrorString("UNKNOWN WaitType"));
         }
         else
         {
             this.WaitType = waitType;
         }
     }
 }
Exemple #10
0
 //指定の名前のセルを、型Tとして解析・取得(データがなかったらエラーメッセージを出す)
 public T ParseCell <T>(AdvColumnName name)
 {
     return(ParseCell <T>(name.ToString()));
 }
		// シナリオラベルを解析
		static public string ParseScenarioLabel(StringGridRow row, AdvColumnName columnName)
		{
			string label = AdvParser.ParseCell<string>(row, columnName);
			if (!IsScenarioLabel(label))
			{
				Debug.LogError(row.ToErrorString(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.NotScenarioLabel, label)));
			}
			return label.Substring(1);
		}
 public static string Localize(AdvColumnName name)
 {
     return(name.QuickToString());
 }
Exemple #13
0
 //指定の名前のセルを、型Tのカンマ区切り配列として解析・取得(データがなかったらfalse)
 public bool TryParseCellArray <T>(AdvColumnName name, out T[] array)
 {
     return(TryParseCellArray <T>(name.QuickToString(), out array));
 }
Exemple #14
0
 //指定の名前のセルを、型Tとして解析・取得(データがなかったらnull値を返す)
 public System.Nullable <T> ParseCellOptionalNull <T>(AdvColumnName name) where T : struct
 {
     return(ParseCellOptionalNull <T>(name.QuickToString()));
 }
		//多言語化をしてみたけど、複雑になってかえって使いづらそうなのでやめた
		public static string LocalizeText(AdvColumnName type)
		{
			return type.ToString();
		}
Exemple #16
0
 //指定の名前のセルを、型Tのカンマ区切り配列として解析・取得(データがなかったらデフォルト値を返す)
 public T[] ParseCellOptionalArray <T>(AdvColumnName name, T[] defaultArray)
 {
     return(ParseCellOptionalArray <T>(name.QuickToString(), defaultArray));
 }
Exemple #17
0
 //セルが空かどうか
 public static bool IsEmptyCell(StringGridRow row, AdvColumnName name)
 {
     return(row.IsEmptyCell(Localize(name)));
 }
Exemple #18
0
 //指定の名前のセルを、型Tとして解析・取得(データがなかったらデフォルト値を返す)
 public static T ParseCellOptional <T>(StringGridRow row, AdvColumnName name, T defaultVal)
 {
     return(row.ParseCellOptional <T>(Localize(name), defaultVal));
 }
Exemple #19
0
 public static string Localize(AdvColumnName name)
 {
     //多言語化をしてみたけど、複雑になってかえって使いづらそうなのでやめた
     return(name.QuickToString());
 }
Exemple #20
0
 //多言語化をしてみたけど、複雑になってかえって使いづらそうなのでやめた
 public static string LocalizeText(AdvColumnName type)
 {
     return(type.ToString());
 }
Exemple #21
0
		//指定の名前のセルを、型Tとして解析・取得(データがなかったらエラーメッセージを出す)
		public T ParseCell<T>(AdvColumnName name)
		{
			return ParseCell<T>(name.QuickToString());
		}
Exemple #22
0
 //セルが空かどうか
 public bool IsEmptyCell(AdvColumnName name)
 {
     return(IsEmptyCell(name.QuickToString()));
 }
Exemple #23
0
 //指定の名前のセルを、型Tとして解析・取得(データがなかったらデフォルト値を返す)
 public T ParseCellOptional <T>(AdvColumnName name, T defaultVal)
 {
     return(ParseCellOptional <T>(name.QuickToString(), defaultVal));
 }
Exemple #24
0
 //指定の名前のセルを、型Tとして解析・取得(データがなかったらエラーメッセージを出す)
 public static T ParseCell <T>(StringGridRow row, AdvColumnName name)
 {
     return(row.ParseCell <T>(Localize(name)));
 }
Exemple #25
0
 //指定の名前のセルを、型Tとして解析・取得(データがなかったらfalse)
 public bool TryParseCell <T>(AdvColumnName name, out T val)
 {
     return(TryParseCell <T>(name.QuickToString(), out val));
 }
Exemple #26
0
 //指定の名前のセルを、型Tとして解析・取得(データがなかったらfalse)
 public static bool TryParseCell <T>(StringGridRow row, AdvColumnName name, out T val)
 {
     return(row.TryParseCell <T>(Localize(name), out val));
 }
Exemple #27
0
 //指定の名前のセルを、型Tのカンマ区切り配列として解析・取得(データがなかったらエラーメッセージを出す)
 public T[] ParseCellArray <T>(AdvColumnName name)
 {
     return(ParseCellArray <T>(name.QuickToString()));
 }
Exemple #28
0
 //現在の設定言語にローカライズされたテキストを取得
 public static string ParseCellLocalizedText(StringGridRow row, AdvColumnName defaultColumnName)
 {
     return(ParseCellLocalizedText(row, defaultColumnName.QuickToString()));
 }
Exemple #29
0
 public static string Localize(AdvColumnName name)
 {
     return(LanguageAdvColumnName.LocalizeText(name));
 }