-- int ADD_ITEM = 1;//添加道具 -- int ADD_CARD = 2; //添加卡牌 -- int SEND_MAIIL = 3;// 发送邮件 -- int HERO_STAR = 4;// 添加指定星级英雄 -- int OPEN_MAP = 5; // 开启到指定关卡 -- int ONE_KEY_ITEM_OR_HERO = 6; -- int USER_UP_LEVE = 7; // 玩家升级 -- int ADOPT_ALL_DIFFICULTY = 8; // 通过所有关卡 -- int ADOPT_FIGHT_BY_VALUE = 9; //开启对应的关卡 -- int TIME_INFO = 10; // 根据等级开启对应的关卡 -- int VIP_LEVEL = 11; // 根据等级开启对应的关卡 -- int RESET_USER_NAME = 12; -- int CREATE_INVADE = 13; //生成外敌 -- int SET_TOWER_NUMBER = 14;//设置试炼副本进入层数 -- int TREASURE_SCORE = 15;//生成孙龙宝藏积分 -- int MONSTER_JUMP = 16;//跳到兽潮层 -- int OUT_BLOODY_BATTLE = 17;//退出血战 -- int MISSION_LEAD = 18;//任务指引 -- int ESPECIAL_EQUIP = 19;//增加法宝,星级 -- int TREASURE_FINISH = 20;//戒灵秘宝一键完成 -- int FULL_OF = 21; //一键全满 -- int EXPEDITION_SCORE = 23;//天宫秘宝积分 -- int JOURNEY_GM = 24;//逍遥游GM操作 -- // int TECNOLOGY_MAX = 21;//科技树一键满级 -- // int POKEMAN_MAX = 22;//一键获得所有满级异妖 local GMType = { Player = 1, Function = 2, Battle = 3, } local GMSubType = { Server = 1, Func = 2, } local _GMConfig = {} require("Base/BasePanel") GMPanel = Inherit(BasePanel) local this = GMPanel -- local heroList = { "4#10003#12", "4#10006#12", "4#10008#12", "4#10009#12", "4#10013#12", "4#10014#12", -- "4#10003#11", "4#10006#11", "4#10008#11", "4#10009#11", "4#10013#11", "4#10014#11", -- "4#10003#9", "4#10006#9", "4#10008#9", "4#10009#9", "4#10013#9", "4#10014#9", -- "4#10003#8", "4#10006#8", "4#10008#8", "4#10009#8", "4#10013#8", "4#10014#8", -- "4#10003#7", "4#10006#7", "4#10008#7", "4#10009#7", "4#10013#7", "4#10014#7", -- "4#10003#6", "4#10006#6", "4#10008#6", "4#10009#6", "4#10013#6", "4#10014#6", -- "4#10003#5", "4#10006#5", "4#10008#5", "4#10009#5", "4#10013#5", "4#10014#5", -- "4#10003#4", "4#10006#4", "4#10008#4", "4#10009#4", "4#10013#4", "4#10014#4"} local heroList = { "4#10023#10", "4#10022#10", "4#10034#10", "4#10002#10", "4#10014#10","4#10002#10","4#10003#10" } local moneyList = {"1#3#999999999", "1#4#999999999", "1#5#999999999", "1#14#999999999", "1#15#999999999", "1#16#999999999"} --初始化组件(用于子类重写) function GMPanel:InitComponent() _GMConfig = { {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "12#0#%s", btnTip = "改名", inputTip = {"输入名称"}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "20#0#%s", btnTip = "完成", inputTip = {"输入任务ID"}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "16#%s#0", btnTip = "跳转", inputTip = {"输入兽潮层数"}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "15#%s#0", btnTip = "获取", inputTip = {"孙龙秘宝积分"}, callBack = this.SetSunLongScroe}, -- {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "13#%s#0", btnTip = "解锁", inputTip = {"外敌ID"}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "11#%s#0", btnTip = "确定", inputTip = {"输入Vip等级"}, callBack = this.SetVip}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "7#%s#0", btnTip = "角色升级",inputTip = {"输入等级"}, callBack = nil}, -- {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "10#4#%s", btnTip = "设置服务器时间", inputTip = {"例:20170801190000"}, callBack = nil}, -- {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "10#%s#0", btnTip = "搜索地图", inputTip = {"输入地图Id"}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "1#%s", btnTip = "生成道具", inputTip = {"道具ID#道具数量"}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "4#%s", btnTip = "生成英雄", inputTip = {"英雄ID#星级"}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "9#%s#0", btnTip = "通关关卡", inputTip = {"关卡id"}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "3#1#%s", btnTip = "发送邮件", inputTip = {"id,num|id,num..."}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 1, args = "14#%s#0", btnTip = "跳转", inputTip = {"试炼副本层数"}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Server, inputNum = 0, args = "8#1#1", btnTip = "通关所有关卡", inputTip = {}, callBack = nil}, -- {type = GMType.Player, subType = GMSubType.Server, inputNum = 0, args = "6#0#0", btnTip = "一键物品", inputTip = {""}, callBack = nil}, -- {type = GMType.Player, subType = GMSubType.Server, inputNum = 0, args = "22#0#0", btnTip = "一键异妖", inputTip = {""}, callBack = nil}, {type = GMType.Player, subType = GMSubType.Func, inputNum = 0, args = "", btnTip = "生成五个12星英雄", inputTip = {""}, callBack = this.FiveHero}, {type = GMType.Player, subType = GMSubType.Func, inputNum = 0, args = "", btnTip = "一键很多钱", inputTip = {""}, callBack = this.GetMoney}, {type = GMType.Function, subType = GMSubType.Func, inputNum = 1, args = "", btnTip = "跳转测试", inputTip = {"输入跳转ID"}, callBack = this.TestJump}, {type = GMType.Function, subType = GMSubType.Server, inputNum = 1, args = "23#0#%s", btnTip = "获取", inputTip = {"天宫秘宝积分"}, callBack = nil}, {type = GMType.Function, subType = GMSubType.Server, inputNum = 1, args = "24#%s", btnTip = "逍遥游", inputTip = {"类型#mapId#bossId"}, callBack = nil}, {type = GMType.Battle, subType = GMSubType.Func, inputNum = 0, args = "", btnTip = "战斗测试场景", inputTip = {""}, callBack = this.GoTestBattle}, {type = GMType.Battle, subType = GMSubType.Func, inputNum = 1, args = "", btnTip = "挑战怪物", inputTip = {"输入怪物组id"}, callBack = this.ChallengeMonster}, {type = GMType.Battle, subType = GMSubType.Func, inputNum = 1, args = "", btnTip = "测试假战斗", inputTip = {"输入假战斗id"}, callBack = this.RunFakeBattle}, {type = GMType.Battle, subType = GMSubType.Func, inputNum = 2, args = "", btnTip = "演算战斗数据", inputTip = {"战斗数据", "时间戳"}, callBack = this.RunBattleData}, } this.BtnBack = Util.GetGameObject(self.transform, "btnBack") this.serverNowTimeText = Util.GetGameObject(self.gameObject, "TimeCtrl/Text (1)"):GetComponent("Text") this.serverOpenTimeText = Util.GetGameObject(self.gameObject, "TimeCtrl/Text (3)"):GetComponent("Text") this.serverCreateRoleTimeText = Util.GetGameObject(self.gameObject, "TimeCtrl/Text (5)"):GetComponent("Text") this.updateServerNowTimeText = Util.GetGameObject(self.gameObject, "TimeCtrl/InputField/Text"):GetComponent("Text") this.btnSureChange = Util.GetGameObject(self.transform, "TimeCtrl/Button") this.btnRefreshServerTime = Util.GetGameObject(self.transform, "TimeCtrl/Button2") this._GMItemList = {} this._GMItemRoot = {} this._GMTypeBtn = {} for _, type in pairs(GMType) do this._GMItemRoot[type] = Util.GetGameObject(self.gameObject, "list"..type) this._GMTypeBtn[type] = Util.GetGameObject(self.gameObject, "btn"..type) end this._GMItem = Util.GetGameObject(self.gameObject, "item") end --绑定事件(用于子类重写) function GMPanel:BindEvent() Util.AddClick(this.BtnBack, function() PlaySoundWithoutClick(SoundConfig.Sound_UICancel) self:ClosePanel() end) Util.AddClick(this.btnSureChange, function() NetManager.GMEvent("10#4#" .. this.updateServerNowTimeText.text) end) Util.AddClick(this.btnRefreshServerTime, function() this.RefreshServerTime() end) -- for _, type in pairs(GMType) do this._GMTypeBtn[type] = Util.GetGameObject(self.gameObject, "btn"..type) Util.AddOnceClick(this._GMTypeBtn[type], function() for _, type2 in pairs(GMType) do this._GMItemRoot[type2]:SetActive(type == type2) end end) end end -- 设置孙龙积分 function this.SetSunLongScroe(text) TreasureOfSomebodyManagerV2.SetCurrentLevel(tonumber(text)) end --设置vip function this.SetVip(text) VipManager.SetVipLevel(tonumber(text)) end -- 一键五个银熊 function this.FiveHero() for i=1, #heroList do NetManager.GMEvent(heroList[i]) end end -- 一键很多钱 function this.GetMoney() local index = 1 local time = Timer.New(function () NetManager.GMEvent(moneyList[index]) index = index + 1 end, 1, 6, true) time:Start() end -- 测试跳转 function this.TestJump(text) JumpManager.GoJump(tonumber(text)) end -- 添加圣物 function this.AddHoly(text) local command = "//addholy %s %s" command = string.format(command, PlayerManager.uid, text) ChatManager.RequestGMCommand(command) end -- 进入战斗测试场景 function this.GoTestBattle() UIManager.OpenPanel(UIName.BattleTestPanel) end -- 挑战怪物 function this.ChallengeMonster(text) local monsterId = tonumber(text) if #FormationManager.formationList[FormationManager.curFormationIndex].teamHeroInfos == 0 then PopupTipPanel.ShowTip(Language[10702]) else local MonsterGroup = ConfigManager.GetConfig(ConfigName.MonsterGroup) if not MonsterGroup[monsterId] then PopupTipPanel.ShowTip(Language[10706] .. monsterId .. Language[10707]) else UIManager.OpenPanel(UIName.BattlePanel, BattleManager.GetBattleData(1, monsterId), nil, nil, nil, monsterId, nil) end end end function this.RunFakeBattle(fakeId) fakeId = tonumber(fakeId) local fdata, fseed = BattleManager.GetFakeBattleData(fakeId) local testFightData = { fightData = fdata, fightSeed = fseed, fightType = 0, maxRound = 20 } UIManager.OpenPanel(UIName.BattlePanel, testFightData, BATTLE_TYPE.Test) end -- 战斗数据 function this.RunBattleData(data, seed) data = loadstring("return "..data)() seed = tonumber(seed) require("Modules.Main.BattleData1") local fdata = (data and data ~= "") and data or testBattleData1 local fseed = (seed and seed ~= "") and seed or testBattleSeed if not fdata or not fseed then LogError("战斗数据错误") return end local testFightData = { fightData = fdata, fightSeed = fseed, fightType = 0, maxRound = 20 } UIManager.OpenPanel(UIName.BattlePanel, testFightData, BATTLE_TYPE.Test) end -- 刷新服务器时间 function this.RefreshServerTime() NetManager.GMEvent("10#1#0", function(msg) this.serverNowTimeText.text = msg.info end) NetManager.GMEvent("10#2#0", function(msg) this.serverOpenTimeText.text = msg.info end) NetManager.GMEvent("10#3#0", function(msg) this.serverCreateRoleTimeText.text = msg.info end) end --添加事件监听(用于子类重写) function GMPanel:AddListener() end --移除事件监听(用于子类重写) function GMPanel:RemoveListener() end --界面打开时调用(用于子类重写) function GMPanel:OnOpen(...) -- 刷新时间 this.RefreshServerTime() -- 初始化界面显示 for id, config in ipairs(_GMConfig) do if not this._GMItemList[id] then local go = newObjToParent(this._GMItem, this._GMItemRoot[config.type]) this._GMItemList[id] = go local btn = Util.GetGameObject(go, "Button") local btnText = Util.GetGameObject(btn, "Text"):GetComponent("Text") btnText.text = config.btnTip local input = {} for i = 1, 2 do input[i] = Util.GetGameObject(go, "InputField"..i):GetComponent("InputField") input[i].gameObject:SetActive(config.inputNum >= i) Util.GetGameObject(input[i].gameObject, "Placeholder"):GetComponent("Text").text = config.inputTip[i] or "" end Util.AddClick(btn, function() -- 构建参数 local args = {} for i = 1, config.inputNum do if input[i].text == "" then LogError("参数错误") return end table.insert(args, input[i].text) end -- if config.subType == GMSubType.Server then local gmstr = string.format(config.args, unpack(args)) NetManager.GMEvent(gmstr, function() if config.callBack then config.callBack(unpack(args)) end PopupTipPanel.ShowTip("GM应用成功") end) elseif config.subType == GMSubType.Func then if config.callBack then config.callBack(unpack(args)) end PopupTipPanel.ShowTip("GM应用成功") end end) end -- 默认打开玩家相关GM for _, type in pairs(GMType) do this._GMItemRoot[type]:SetActive(type == GMType.Player) end end end --界面关闭时调用(用于子类重写) function GMPanel:OnClose() end --界面销毁时调用(用于子类重写) function GMPanel:OnDestroy() this._GMItemRoot = {} this._GMItemList = {} end return GMPanel