using FairyGUI; using System.Collections.Generic; using System.Text.RegularExpressions; using UI.RoleInfo; namespace GFGGame { public class GMPanelView : BaseWindow { private UI_GMPanelUI _ui; public override void Dispose() { if (_ui != null) { _ui.Dispose(); } _ui = null; base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_GMPanelUI.PACKAGE_NAME; _ui = UI_GMPanelUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; _ui.m_ComBtn.m_btnGetAllDressUpItem.onClick.Add(OnClickBtnGetAllDressUpItem); _ui.m_ComBtn.m_btnGetAllCardItem.onClick.Add(OnClickBtnGetAllCardItem); _ui.m_ComBtn.m_btnSetLv.onClick.Add(OnClickBtnSetLv); _ui.m_ComBtn.m_btnSetChapter.onClick.Add(OnClickBtnSetChapter); _ui.m_ComBtn.m_btnAll.onClick.Add(OnClickBtnAll); _ui.m_ComBtn.m_btnArenaGrade.onClick.Add(OnClickBtnArenaGrade); _ui.m_ComBtn.m_btnLeagueSkill.onClick.Add(OnClickBtnLeagueSkill); _ui.m_ComBtn.m_btnAnswerStart.onClick.Add(OnClickBtnStart); _ui.m_ComBtn.m_btnAnswerEnd.onClick.Add(OnClickBtnEnd); _ui.m_ComBtn.m_btnAnswerActiveEnd.onClick.Add(OnClickBtnActiveEnd); _ui.m_ComBtn.m_btnLeagueSkill.onClick.Add(OnClickBtnLeagueSkill); _ui.m_btnAddItem.onClick.Add(OnClickBtnAddItem); _ui.m_btnGM.onClick.Add(OnClickBtnGM); } protected override void OnShown() { base.OnShown(); _ui.m_ComBtn.m_c1.selectedIndex = LauncherConfig.netType == LauncherConfig.EnumNetType.LOCAL ? 0 : 1; _ui.m_ComBtn.m_txtArenaGrade.text = ""; _ui.m_ComBtn.m_txtArenaRank.text = ""; } protected override void OnHide() { base.OnHide(); } private void OnClickBtnGetAllDressUpItem() { GMController.GetAllDressUpItem().Coroutine(); } private void OnClickBtnGetAllCardItem() { GMController.GetAllCardItem().Coroutine(); } private void OnClickBtnAddItem(EventContext context) { string content = _ui.m_inputItem.text; string[] infos = Regex.Split(content, " "); if (infos.Length < 2) { PromptController.Instance.ShowFloatTextPrompt("请按照指定格式输入物品信息", MessageType.ERR); return; } int itemId = int.Parse(infos[0]); int itemNum = int.Parse(infos[1]); if (itemId > 0) { string messageSuc; if (itemNum > 0) { messageSuc = "已获得物品" + itemId + "*" + itemNum; GMController.SendGMCommand("getItem " + content, messageSuc).Coroutine(); } else if (itemNum < 0) { messageSuc = "已扣除物品" + itemId + "*" + itemNum; GMController.SendGMCommand("getItem " + content, messageSuc).Coroutine(); } } else { PromptController.Instance.ShowFloatTextPrompt("请按照指定格式输入物品信息", MessageType.ERR); } } private void OnClickBtnSetLv() { int tmp; if (!int.TryParse(_ui.m_ComBtn.m_txtRoleLv.text, out tmp)) { PromptController.Instance.ShowFloatTextPrompt("请输入数字"); return; } string lv = _ui.m_ComBtn.m_txtRoleLv.text; string messageSuc = "等级提升至" + lv; GMController.SendGMCommand("lv " + lv, messageSuc).Coroutine(); } private void OnClickBtnSetChapter() { int tmp; int tmp1; if (!int.TryParse(_ui.m_ComBtn.m_txtChapter.text, out tmp) || !int.TryParse(_ui.m_ComBtn.m_txtChapterLv.text, out tmp1)) { PromptController.Instance.ShowFloatTextPrompt("请输入数字"); return; } string content = _ui.m_ComBtn.m_txtChapter.text + " " + _ui.m_ComBtn.m_txtChapterLv.text; string messageSuc = string.Format("当前关卡第{0}章第{1}关", _ui.m_ComBtn.m_txtChapter.text, _ui.m_ComBtn.m_txtChapterLv.text); GMController.SendGMCommand("chapter " + content, messageSuc).Coroutine(); } private async void OnClickBtnSkipCheckOpen() { int isSkip = GameGlobal.skipCheckOpen == false ? 1 : 0; bool result = await StorageSProxy.ReqSetClientValue(ConstStorageId.SKIP_CHECK_OPEN, isSkip); if (result) { GameGlobal.skipCheckOpen = !GameGlobal.skipCheckOpen; PromptController.Instance.ShowFloatTextPrompt("已开启跳过功能开启检测"); } } private async void OnClickBtnArenaGrade() { string gm = string.Format("SetArenaRank|{0}|{1}", _ui.m_ComBtn.m_txtArenaGrade.text, _ui.m_ComBtn.m_txtArenaRank.text); bool result = await GMController.SendGMCommand(gm, "修改成功"); if (result) { ArenaDataManager.Instance.Grade = int.Parse(_ui.m_ComBtn.m_txtArenaGrade.text); ArenaDataManager.Instance.Rank = int.Parse(_ui.m_ComBtn.m_txtArenaRank.text); ArenaDataManager.Instance.TryUpdateHighest(); } } private void OnClickBtnStart() { GMController.SendGMCommand("League|StartQuestion", "开始答题").Coroutine(); } private void OnClickBtnEnd() { GMController.SendGMCommand("League|EndQuestion", "结束答题").Coroutine(); } private void OnClickBtnActiveEnd() { GMController.SendGMCommand("League|CloseQuestion", "活动结束").Coroutine(); } private async void OnClickBtnLeagueSkill() { int _type = int.Parse(_ui.m_ComBtn.m_txtskillType.text); List skillCfgs = LeagueSkillCfgArray.Instance.GetCfgsBytype(_type); for (int i = 0; i < skillCfgs.Count; i++) { int skillId = skillCfgs[i].id; if (SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(_type) && SkillDataManager.Instance.LeagueSkillDatas[_type].IndexOf(skillId) >= 0) { continue; } LeagueSkillCfg skillCfg = LeagueSkillCfgArray.Instance.GetCfg(skillId); // List lastSkillCfgs = LeagueSkillCfgArray.Instance.GetCfgsBytypeAndlayer(_type, skillCfg.layer - 1); // for (int j = 0; j < lastSkillCfgs.Count; j++) // { // if (!SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(_type) || SkillDataManager.Instance.LeagueSkillDatas[_type].IndexOf(lastSkillCfgs[j].id) < 0) // { // return; // } // } long needCount = skillCfg.consumeArr[0][1]; long hasCount = ItemDataManager.GetItemNum(skillCfg.consumeArr[0][0]); if (hasCount < needCount) { PromptController.Instance.ShowFloatTextPrompt("消耗不足"); break; } await SkillSProxy.ReqActiveSkill(SkillType.LeagueSkill, skillId); } PromptController.Instance.ShowFloatTextPrompt("学习结束"); } private async void OnClickBtnAll() { bool result = await StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_SKIP_GUIDE, 2); if (result) { GameGlobal.skipGuide = true; } OnClickBtnGetAllDressUpItem(); OnClickBtnGetAllCardItem(); _ui.m_ComBtn.m_txtRoleLv.text = "99"; OnClickBtnSetLv(); _ui.m_ComBtn.m_txtChapter.text = "5"; _ui.m_ComBtn.m_txtChapterLv.text = "1"; OnClickBtnSetChapter(); OnClickBtnSkipCheckOpen(); } private void OnClickBtnGM(EventContext context) { string content = _ui.m_inputGM.text; string[] infos = Regex.Split(content, " "); if (infos.Length < 2) { PromptController.Instance.ShowFloatTextPrompt("请按照指定格式输入物品信息", MessageType.ERR); return; } switch (infos[0]) { case "log": if (infos[1] == "1")//开启日志按钮 { LogController.Instance.SetBtnLogVisable(true); } else if (infos[1] == "0")//关闭日志按钮 { LogController.Instance.SetBtnLogVisable(false); } else { PromptController.Instance.ShowFloatTextPrompt(string.Format("log指令没有{0}这个状态", infos[1])); } break; case "cjstime": if (infos[1].Length != 10) { PromptController.Instance.ShowFloatTextPrompt("请输入以秒为单位的正确的时间戳"); return; } LuckyBoxDataManager.Instance.startTime = int.Parse(infos[1]); PromptController.Instance.ShowFloatTextPrompt("设置成功"); break; case "cjetime": if (infos[1].Length != 10) { PromptController.Instance.ShowFloatTextPrompt("请输入以秒为单位的正确的时间戳"); return; } LuckyBoxDataManager.Instance.endTime = int.Parse(infos[1]); PromptController.Instance.ShowFloatTextPrompt("设置成功"); break; default: GMController.SendGMCommand(content, "设置成功").Coroutine(); break; } } } }