コード例 #1
0
        /// <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;
                    }
                }
            }
        }
コード例 #2
0
        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++;
                    }
                }
            }
        }