/// <summary> /// 選択肢終了などの特別なコマンドを自動解析して追加 /// </summary> /// <param name="continuousCommand">連続しているコマンド</param> /// <param name="currentCommand">現在のコマンド</param> void AddExtraCommand(List <AdvCommand> commandList, AdvSettingDataManager dataManager) { int index = 0; while (index < commandList.Count) { AdvCommand current = commandList[index]; AdvCommand next = index + 1 < commandList.Count ? commandList[index + 1] : null; ++index; string[] idArray = current.GetExtraCommandIdArray(next); if (idArray != null) { foreach (string id in idArray) { AdvCommand extraCommand = AdvCommandParser.CreateCommand(id, current.RowData, dataManager); if (current.IsEntityType) { extraCommand.EntityData = current.EntityData; } commandList.Insert(index, extraCommand); ++index; } } } }
private void AddExtraCommand(List <AdvCommand> commandList, AdvSettingDataManager dataManager) { int index = 0; while (index < commandList.Count) { AdvCommand command = commandList[index]; AdvCommand next = ((index + 1) >= commandList.Count) ? null : commandList[index + 1]; index++; string[] extraCommandIdArray = command.GetExtraCommandIdArray(next); if (extraCommandIdArray != null) { foreach (string str in extraCommandIdArray) { AdvCommand item = AdvCommandParser.CreateCommand(str, command.RowData, dataManager); if (command.IsEntityType) { item.EntityData = command.EntityData; } commandList.Insert(index, item); index++; } } } }