コード例 #1
0
        static void ModifyScoreAndAmpDefault()
        {
            string baseString   = @"call s__ModeSelectionButton_addOption(s__ModeSelectSystem_ModeSelectUI__scoredSelectButton[this],1,";
            string insertString = @"call s__ModeSelectionButton__set_value(s__ModeSelectSystem_ModeSelectUI__scoredSelectButton[this],1)";

            //先偷查
            if (_str.IndexOf(baseString) == -1)
            {
                baseString   = @"call s__ModeSelectionButton_addOption(s__ModeSelectSystem_ModeSelectUI___scoredSelectButton[this],1,";
                insertString = @"call s__ModeSelectionButton__set_value(s__ModeSelectSystem_ModeSelectUI__scoredSelectButton[this],1)";
            }

            TextForPosition obj = new TextForPosition();

            obj.CompareStringFirst  = baseString;
            obj.CompareStringSecond = "";
            obj.ClearAtStringBefore = "";
            obj.InsertString        = insertString;
            AddCodeAfterSearchText(obj, false);

            string ampStr   = @"call s__ModeSelectionButton__set_value(s__ModeSelectSystem_ModeSelectUI__amButton[this],1)";
            string ampStr2  = @"call s__ModeSelectionButton__set_value(s__ModeSelectSystem_ModeSelectUI___amButton[this],1)";
            string ampStrC  = @"call s__ModeSelectionButton__set_value(s__ModeSelectSystem_ModeSelectUI__amButton[this],0)";
            string ampStr2C = @"call s__ModeSelectionButton__set_value(s__ModeSelectSystem_ModeSelectUI___amButton[this],0)";

            if (_str.IndexOf(ampStr) != -1)
            {
                _sb.Replace(ampStr, ampStrC);
            }
            else
            {
                _sb.Replace(ampStr2, ampStr2C);
            }
            UpdateString();
        }
コード例 #2
0
        static void AddSurrenderSystem()
        {
            string stringPathFunc  = $"{_directoryPath}/AddSurrenderSystemPart1.txt";
            string stringPathFunc2 = $"{_directoryPath}/AddSurrenderSystemPart2.txt";

            if (!File.Exists(stringPathFunc))
            {
                Console.WriteLine("AddSurrenderSystemPart1.txt 不存在,所以不修改");
                return;
            }

            if (!File.Exists(stringPathFunc2))
            {
                Console.WriteLine("AddSurrenderSystemPart2.txt 不存在,所以不修改");
                return;
            }

            TextForPosition obj = new TextForPosition();

            //讀取變數
            obj.CompareStringFirst  = "endglobals";
            obj.CompareStringSecond = "";
            obj.ClearAtStringBefore = "";
            obj.InsertString        = File.ReadAllText(stringPathFunc);
            AddCodeAfterSearchText(obj, true);

            obj.CompareStringFirst  = "call s__Game_start_hold()";
            obj.CompareStringSecond = "";
            obj.ClearAtStringBefore = "";
            obj.InsertString        = "set flag_surrender=true";
            AddCodeAfterSearchText(obj, false);

            obj.CompareStringFirst  = "8000元以下的玩家會獲得3000元的支援。回合失敗方會多獲得500元的支援。";
            obj.CompareStringSecond = "";
            obj.ClearAtStringBefore = "";
            obj.InsertString        = "set flag_surrender=true\r" + "call EnableTrigger(Trg_SurrenderSystem)";
            AddCodeAfterSearchText(obj, false);

            obj.CompareStringFirst  = "GoldTransfer__OnType";
            obj.CompareStringSecond = "GoldTransfer___OnType";
            obj.ClearAtStringBefore = "";
            obj.InsertString        = File.ReadAllText(stringPathFunc2);
            AddCodeAfterSearchText(obj, true);

            obj.CompareStringFirst  = "call BootSystem__OnInit()";
            obj.CompareStringSecond = "call BootSystem___OnInit()";
            obj.ClearAtStringBefore = "";
            obj.InsertString        = "call SurrenderSystem__OnInit()";
            AddCodeAfterSearchText(obj, false);
        }
コード例 #3
0
        static void AddPraticeSystem()
        {
            string stringPathFunc = $"{_directoryPath}/AddPraticeSystem.txt";

            if (!File.Exists(stringPathFunc))
            {
                Console.WriteLine("AddPraticeSystem.txt 不存在,所以不修改");
                return;
            }

            TextForPosition obj = new TextForPosition();

            //白亞的韓文跟結束後的那一段文字
            obj.CompareStringFirst  = "세이버";
            obj.CompareStringSecond = "";
            obj.ClearAtStringBefore = "call TriggerAddCondition";
            obj.InsertString        = File.ReadAllText(stringPathFunc);
            AddCodeAfterSearchText(obj, true);
        }
コード例 #4
0
        static void AddRefeshScoreBoard()
        {
            string stringPathFunc   = $"{_directoryPath}/AddRefeshScoreBoardFunc.txt";
            string stringPath       = $"{_directoryPath}/AddRefeshScoreBoard.txt";
            string stringUpdateFunc = $"call UpdateTeamScoreBoard()";

            if (!File.Exists(stringPathFunc))
            {
                Console.WriteLine("AddRefeshScoreBoardFunc.txt 不存在,所以不修改");
                return;
            }

            if (!File.Exists(stringPath))
            {
                Console.WriteLine("AddRefeshScoreBoard.txt 不存在,所以不修改");
                return;
            }

            //補上Function
            TextForPosition obj = new TextForPosition();

            obj.CompareStringFirst  = "s__BloodBath__DoT_periodic";
            obj.CompareStringSecond = "s__BloodBath___DoT_periodic";
            obj.ClearAtStringBefore = "";
            obj.InsertString        = File.ReadAllText(stringPathFunc);
            AddCodeAfterSearchText(obj, true);

            //替換成FUNCTION名稱
            obj.InsertString = stringUpdateFunc;

            using (StreamReader sr = new StreamReader(stringPath))
            {
                while (sr.Peek() >= 0)
                {
                    obj.CompareStringFirst  = sr.ReadLine();
                    obj.CompareStringSecond = sr.ReadLine();
                    AddCodeAfterSearchText(obj, false);
                }
            }
        }
コード例 #5
0
        static void AddCodeAfterSearchText(TextForPosition obj, bool reverse)
        {
            int startPos = CompareReutrnPosition(obj.CompareStringFirst, obj.CompareStringSecond);

            if (startPos == -1)
            {
                Console.WriteLine($"{nameof(AddCodeAfterSearchText)}:找不到的Code");
                return;
            }

            int cleanStrStartPos;

            if (reverse)
            {
                cleanStrStartPos = _str.LastIndexOf(_newLineN, startPos) + _newLineN.Length;
            }
            else
            {
                cleanStrStartPos = _str.IndexOf(_newLineN, startPos) + _newLineN.Length;
            }

            //找不到是-1,+1之後變0
            if (cleanStrStartPos == 0)
            {
                Console.WriteLine($"{nameof(AddCodeAfterSearchText)}:找不到的換行位置");
                return;
            }

            //是空值就會直接新增行數
            if (!string.IsNullOrEmpty(obj.ClearAtStringBefore))
            {
                int cleanStrEndPos = _str.IndexOf(obj.ClearAtStringBefore, cleanStrStartPos);
                _sb.Remove(cleanStrStartPos, cleanStrEndPos - cleanStrStartPos);
            }

            _sb.Insert(cleanStrStartPos, obj.InsertString + _newLineR);

            UpdateString();
        }
コード例 #6
0
        static void AddSkin()
        {
            string stringPath = $"{_directoryPath}/AddSkin.txt";

            if (!File.Exists(stringPath))
            {
                Console.WriteLine("AddSkin.txt 不存在,所以不修改");
                return;
            }

            string          compStr1      = "FreeSkin__OnExpiration";
            string          compStr2      = "FreeSkin___OnExpiration";
            string          clearFrontStr = "call ReleaseTimer(GetExpiredTimer())";
            string          insertString  = File.ReadAllText(stringPath);
            TextForPosition textObj       = new TextForPosition()
            {
                CompareStringFirst  = compStr1,
                CompareStringSecond = compStr2,
                ClearAtStringBefore = clearFrontStr,
                InsertString        = insertString,
            };

            AddCodeAfterSearchText(textObj, false);
        }