public AdvScenarioTextDataInPage(AdvCommand command) { Command = command; if (command.RowData == null) { //暗黙的だけど、選択肢の後の改ページ待ちのために IsCharacterShowOnly = false; PageCtrlType = AdvPageControllerType.None; IsPageEnd = true; IsEmptyText = true; return; } else { //暗黙的だけどキャラ表示のみの場合 IsCharacterShowOnly = command.IsEmptyCell(AdvColumnName.Text) && command.IsEmptyCell(AdvColumnName.PageCtrl); if (IsCharacterShowOnly) { IsEmptyText = true; IsPageEnd = false; } else { IsEmptyText = false; if (command.IsEmptyCell(AdvColumnName.PageCtrl)) { this.PageCtrlType = AdvPageControllerType.None; } else { float autoBrTime; string pageCtrl = command.ParseCell <string>(AdvColumnName.PageCtrl); if (float.TryParse(pageCtrl, out autoBrTime)) { AutoBrTime = autoBrTime; } else { this.PageCtrlType = command.ParseCellOptional <AdvPageControllerType>(AdvColumnName.PageCtrl, AdvPageControllerType.None); } } IsPageEnd = AdvPageController.IsPageEndType(PageCtrlType); IsNextBr = AdvPageController.IsBrType(PageCtrlType); //エディター用のチェック if (AdvCommand.IsEditorErrorCheck) { TextData textData = new TextData(command.ParseCellLocalizedText()); if (!string.IsNullOrEmpty(textData.ErrorMsg)) { Debug.LogError(command.ToErrorString(textData.ErrorMsg)); } } } } }
public AdvEffectDataTween(AdvCommand command) { this.targetName = command.ParseCell <string>(AdvColumnName.Arg1); this.targetType = TargetType.Default; string type = command.ParseCell <string>(AdvColumnName.Arg2); string arg = command.ParseCellOptional <string>(AdvColumnName.Arg3, ""); string easeType = command.ParseCellOptional <string>(AdvColumnName.Arg4, ""); string loopType = command.ParseCellOptional <string>(AdvColumnName.Arg5, ""); this.waitType = command.ParseCellOptional <WaitType>(AdvColumnName.Arg6, WaitType.Wait); this.tweenData = new iTweenData(type, arg, easeType, loopType); if (this.tweenData.Type == iTweenType.Stop) { waitType = WaitType.Add; } if (!string.IsNullOrEmpty(tweenData.ErrorMsg)) { Debug.LogError(command.ToErrorString(tweenData.ErrorMsg)); } }
public static AdvCharacterInfo Create(AdvCommand command, AdvSettingDataManager dataManager) { if (command.IsEmptyCell(AdvColumnName.Arg1)) { return(null); } //名前 string nameText = command.ParseCell <string>(AdvColumnName.Arg1); string characterLabel = nameText; //第二引数を解析 //基本的にはパターン名だが //キャラクターラベルの指定タグがあったり、非表示タグする bool isHide = false; string erroMsg = ""; string pattern = ParserUtil.ParseTagTextToString( command.ParseCellOptional <string>(AdvColumnName.Arg2, ""), (tagName, arg) => { bool failed = false; switch (tagName) { case "Off": //非表示タグ isHide = true; break; case "Character": //キャラクターラベルの指定タグ characterLabel = arg; break; default: erroMsg = "Unkownn Tag <" + tagName + ">"; failed = true; break; } return(!failed); }); if (!string.IsNullOrEmpty(erroMsg)) { Debug.LogError(erroMsg); return(null); } if (!dataManager.CharacterSetting.Contains(characterLabel)) { //そもそもキャラ表示がない場合、名前表示のみになる return(new AdvCharacterInfo(characterLabel, nameText, pattern, isHide, null)); } AdvCharacterSettingData data = dataManager.CharacterSetting.GetCharacterData(characterLabel, pattern); //キャラの表示情報の記述エラー if (data == null) { Debug.LogError(command.ToErrorString(characterLabel + ", " + pattern + " is not contained in Chactecter Sheet")); return(null); } //名前テキストをキャラクターシートの定義に変更 if (!string.IsNullOrEmpty(data.NameText) && nameText == characterLabel) { nameText = data.NameText; } return(new AdvCharacterInfo(characterLabel, nameText, pattern, isHide, data.Graphic)); }