public static string QuickToString(this AdvColumnName value) { if (names == null) { names = Enum.GetNames(typeof(AdvColumnName)); } return(names[(int)value]); }
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; } }
//シナリオラベルを解析・取得 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]); }
//シナリオラベルを解析・取得 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); }
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; } } }
// 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); } }
//ウェイトタイプを解析 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; } } }
//指定の名前のセルを、型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()); }
//指定の名前のセルを、型Tのカンマ区切り配列として解析・取得(データがなかったらfalse) public bool TryParseCellArray <T>(AdvColumnName name, out T[] array) { return(TryParseCellArray <T>(name.QuickToString(), out array)); }
//指定の名前のセルを、型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(); }
//指定の名前のセルを、型Tのカンマ区切り配列として解析・取得(データがなかったらデフォルト値を返す) public T[] ParseCellOptionalArray <T>(AdvColumnName name, T[] defaultArray) { return(ParseCellOptionalArray <T>(name.QuickToString(), defaultArray)); }
//セルが空かどうか public static bool IsEmptyCell(StringGridRow row, AdvColumnName name) { return(row.IsEmptyCell(Localize(name))); }
//指定の名前のセルを、型Tとして解析・取得(データがなかったらデフォルト値を返す) public static T ParseCellOptional <T>(StringGridRow row, AdvColumnName name, T defaultVal) { return(row.ParseCellOptional <T>(Localize(name), defaultVal)); }
public static string Localize(AdvColumnName name) { //多言語化をしてみたけど、複雑になってかえって使いづらそうなのでやめた return(name.QuickToString()); }
//多言語化をしてみたけど、複雑になってかえって使いづらそうなのでやめた public static string LocalizeText(AdvColumnName type) { return(type.ToString()); }
//指定の名前のセルを、型Tとして解析・取得(データがなかったらエラーメッセージを出す) public T ParseCell<T>(AdvColumnName name) { return ParseCell<T>(name.QuickToString()); }
//セルが空かどうか public bool IsEmptyCell(AdvColumnName name) { return(IsEmptyCell(name.QuickToString())); }
//指定の名前のセルを、型Tとして解析・取得(データがなかったらデフォルト値を返す) public T ParseCellOptional <T>(AdvColumnName name, T defaultVal) { return(ParseCellOptional <T>(name.QuickToString(), defaultVal)); }
//指定の名前のセルを、型Tとして解析・取得(データがなかったらエラーメッセージを出す) public static T ParseCell <T>(StringGridRow row, AdvColumnName name) { return(row.ParseCell <T>(Localize(name))); }
//指定の名前のセルを、型Tとして解析・取得(データがなかったらfalse) public bool TryParseCell <T>(AdvColumnName name, out T val) { return(TryParseCell <T>(name.QuickToString(), out val)); }
//指定の名前のセルを、型Tとして解析・取得(データがなかったらfalse) public static bool TryParseCell <T>(StringGridRow row, AdvColumnName name, out T val) { return(row.TryParseCell <T>(Localize(name), out val)); }
//指定の名前のセルを、型Tのカンマ区切り配列として解析・取得(データがなかったらエラーメッセージを出す) public T[] ParseCellArray <T>(AdvColumnName name) { return(ParseCellArray <T>(name.QuickToString())); }
//現在の設定言語にローカライズされたテキストを取得 public static string ParseCellLocalizedText(StringGridRow row, AdvColumnName defaultColumnName) { return(ParseCellLocalizedText(row, defaultColumnName.QuickToString())); }
public static string Localize(AdvColumnName name) { return(LanguageAdvColumnName.LocalizeText(name)); }