GMPanelView.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. using FairyGUI;
  2. using System.Collections.Generic;
  3. using System.Text.RegularExpressions;
  4. using UI.RoleInfo;
  5. namespace GFGGame
  6. {
  7. public class GMPanelView : BaseWindow
  8. {
  9. private UI_GMPanelUI _ui;
  10. public override void Dispose()
  11. {
  12. if (_ui != null)
  13. {
  14. _ui.Dispose();
  15. }
  16. _ui = null;
  17. base.Dispose();
  18. }
  19. protected override void OnInit()
  20. {
  21. base.OnInit();
  22. packageName = UI_GMPanelUI.PACKAGE_NAME;
  23. _ui = UI_GMPanelUI.Create();
  24. this.viewCom = _ui.target;
  25. this.viewCom.Center();
  26. this.modal = true;
  27. _ui.m_ComBtn.m_btnGetAllDressUpItem.onClick.Add(OnClickBtnGetAllDressUpItem);
  28. _ui.m_ComBtn.m_btnGetAllCardItem.onClick.Add(OnClickBtnGetAllCardItem);
  29. _ui.m_ComBtn.m_btnSetLv.onClick.Add(OnClickBtnSetLv);
  30. _ui.m_ComBtn.m_btnSetChapter.onClick.Add(OnClickBtnSetChapter);
  31. _ui.m_ComBtn.m_btnAll.onClick.Add(OnClickBtnAll);
  32. _ui.m_ComBtn.m_btnArenaGrade.onClick.Add(OnClickBtnArenaGrade);
  33. _ui.m_ComBtn.m_btnLeagueSkill.onClick.Add(OnClickBtnLeagueSkill);
  34. _ui.m_ComBtn.m_btnAnswerStart.onClick.Add(OnClickBtnStart);
  35. _ui.m_ComBtn.m_btnAnswerEnd.onClick.Add(OnClickBtnEnd);
  36. _ui.m_ComBtn.m_btnAnswerActiveEnd.onClick.Add(OnClickBtnActiveEnd);
  37. _ui.m_ComBtn.m_btnLeagueSkill.onClick.Add(OnClickBtnLeagueSkill);
  38. _ui.m_btnAddItem.onClick.Add(OnClickBtnAddItem);
  39. _ui.m_btnGM.onClick.Add(OnClickBtnGM);
  40. _ui.m_btnAddNum.onClick.Add(OnClickBtnAddCount);
  41. _ui.m_btnSetNum.onClick.Add(OnClickBtnSetCount);
  42. }
  43. protected override void OnShown()
  44. {
  45. base.OnShown();
  46. _ui.m_ComBtn.m_c1.selectedIndex = LauncherConfig.netType == LauncherConfig.EnumNetType.LOCAL ? 0 : 1;
  47. _ui.m_ComBtn.m_txtArenaGrade.text = "";
  48. _ui.m_ComBtn.m_txtArenaRank.text = "";
  49. }
  50. protected override void OnHide()
  51. {
  52. base.OnHide();
  53. }
  54. private void OnClickBtnGetAllDressUpItem()
  55. {
  56. GMController.GetAllDressUpItem().Coroutine();
  57. }
  58. private void OnClickBtnGetAllCardItem()
  59. {
  60. GMController.GetAllCardItem().Coroutine();
  61. }
  62. private void OnClickBtnAddItem(EventContext context)
  63. {
  64. string content = _ui.m_inputItem.text;
  65. string[] infos = Regex.Split(content, " ");
  66. if (infos.Length < 2)
  67. {
  68. PromptController.Instance.ShowFloatTextPrompt("请按照指定格式输入物品信息", MessageType.ERR);
  69. return;
  70. }
  71. int itemId = int.Parse(infos[0]);
  72. int itemNum = int.Parse(infos[1]);
  73. if (itemId > 0)
  74. {
  75. string messageSuc;
  76. if (itemNum > 0)
  77. {
  78. messageSuc = "已获得物品" + itemId + "*" + itemNum;
  79. GMController.SendGMCommand("getItem " + content, messageSuc).Coroutine();
  80. }
  81. else if (itemNum < 0)
  82. {
  83. messageSuc = "已扣除物品" + itemId + "*" + itemNum;
  84. GMController.SendGMCommand("getItem " + content, messageSuc).Coroutine();
  85. }
  86. }
  87. else
  88. {
  89. PromptController.Instance.ShowFloatTextPrompt("请按照指定格式输入物品信息", MessageType.ERR);
  90. }
  91. }
  92. private void OnClickBtnSetLv()
  93. {
  94. int tmp;
  95. if (!int.TryParse(_ui.m_ComBtn.m_txtRoleLv.text, out tmp))
  96. {
  97. PromptController.Instance.ShowFloatTextPrompt("请输入数字");
  98. return;
  99. }
  100. string lv = _ui.m_ComBtn.m_txtRoleLv.text;
  101. string messageSuc = "等级提升至" + lv;
  102. GMController.SendGMCommand("lv " + lv, messageSuc).Coroutine();
  103. }
  104. private void OnClickBtnSetChapter()
  105. {
  106. int tmp;
  107. int tmp1;
  108. if (!int.TryParse(_ui.m_ComBtn.m_txtChapter.text, out tmp) ||
  109. !int.TryParse(_ui.m_ComBtn.m_txtChapterLv.text, out tmp1))
  110. {
  111. PromptController.Instance.ShowFloatTextPrompt("请输入数字");
  112. return;
  113. }
  114. string content = _ui.m_ComBtn.m_txtChapter.text + " " + _ui.m_ComBtn.m_txtChapterLv.text;
  115. string messageSuc = string.Format("当前关卡第{0}章第{1}关", _ui.m_ComBtn.m_txtChapter.text,
  116. _ui.m_ComBtn.m_txtChapterLv.text);
  117. GMController.SendGMCommand("chapter " + content, messageSuc).Coroutine();
  118. }
  119. private async void OnClickBtnSkipCheckOpen()
  120. {
  121. int isSkip = GameGlobal.skipCheckOpen == false ? 1 : 0;
  122. bool result = await StorageSProxy.ReqSetClientValue(ConstStorageId.SKIP_CHECK_OPEN, isSkip);
  123. if (result)
  124. {
  125. GameGlobal.skipCheckOpen = !GameGlobal.skipCheckOpen;
  126. PromptController.Instance.ShowFloatTextPrompt("已开启跳过功能开启检测");
  127. }
  128. }
  129. private async void OnClickBtnArenaGrade()
  130. {
  131. string gm = string.Format("SetArenaRank|{0}|{1}", _ui.m_ComBtn.m_txtArenaGrade.text,
  132. _ui.m_ComBtn.m_txtArenaRank.text);
  133. bool result = await GMController.SendGMCommand(gm, "修改成功");
  134. if (result)
  135. {
  136. ArenaDataManager.Instance.Grade = int.Parse(_ui.m_ComBtn.m_txtArenaGrade.text);
  137. ArenaDataManager.Instance.Rank = int.Parse(_ui.m_ComBtn.m_txtArenaRank.text);
  138. ArenaDataManager.Instance.TryUpdateHighest();
  139. }
  140. }
  141. private void OnClickBtnStart()
  142. {
  143. GMController.SendGMCommand("League|StartQuestion", "开始答题").Coroutine();
  144. }
  145. private void OnClickBtnEnd()
  146. {
  147. GMController.SendGMCommand("League|EndQuestion", "结束答题").Coroutine();
  148. }
  149. private void OnClickBtnActiveEnd()
  150. {
  151. GMController.SendGMCommand("League|CloseQuestion", "活动结束").Coroutine();
  152. }
  153. private async void OnClickBtnLeagueSkill()
  154. {
  155. int _type = int.Parse(_ui.m_ComBtn.m_txtskillType.text);
  156. List<LeagueSkillCfg> skillCfgs = LeagueSkillCfgArray.Instance.GetCfgsBytype(_type);
  157. for (int i = 0; i < skillCfgs.Count; i++)
  158. {
  159. int skillId = skillCfgs[i].id;
  160. if (SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(_type) &&
  161. SkillDataManager.Instance.LeagueSkillDatas[_type].IndexOf(skillId) >= 0)
  162. {
  163. continue;
  164. }
  165. LeagueSkillCfg skillCfg = LeagueSkillCfgArray.Instance.GetCfg(skillId);
  166. // List<LeagueSkillCfg> lastSkillCfgs = LeagueSkillCfgArray.Instance.GetCfgsBytypeAndlayer(_type, skillCfg.layer - 1);
  167. // for (int j = 0; j < lastSkillCfgs.Count; j++)
  168. // {
  169. // if (!SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(_type) || SkillDataManager.Instance.LeagueSkillDatas[_type].IndexOf(lastSkillCfgs[j].id) < 0)
  170. // {
  171. // return;
  172. // }
  173. // }
  174. long needCount = skillCfg.consumeArr[0][1];
  175. long hasCount = ItemDataManager.GetItemNum(skillCfg.consumeArr[0][0]);
  176. if (hasCount < needCount)
  177. {
  178. PromptController.Instance.ShowFloatTextPrompt("消耗不足");
  179. break;
  180. }
  181. await SkillSProxy.ReqActiveSkill(SkillType.LeagueSkill, skillId);
  182. }
  183. PromptController.Instance.ShowFloatTextPrompt("学习结束");
  184. }
  185. private async void OnClickBtnAll()
  186. {
  187. bool result = await StorageSProxy.ReqSetClientValue(ConstStorageId.STORAGE_SKIP_GUIDE, 2);
  188. if (result)
  189. {
  190. GameGlobal.skipGuide = true;
  191. }
  192. OnClickBtnGetAllDressUpItem();
  193. OnClickBtnGetAllCardItem();
  194. _ui.m_ComBtn.m_txtRoleLv.text = "99";
  195. OnClickBtnSetLv();
  196. _ui.m_ComBtn.m_txtChapter.text = "5";
  197. _ui.m_ComBtn.m_txtChapterLv.text = "1";
  198. OnClickBtnSetChapter();
  199. OnClickBtnSkipCheckOpen();
  200. }
  201. private void OnClickBtnGM(EventContext context)
  202. {
  203. string content = _ui.m_inputGM.text;
  204. string[] infos = Regex.Split(content, " ");
  205. if (infos.Length < 2)
  206. {
  207. PromptController.Instance.ShowFloatTextPrompt("请按照指定格式输入物品信息", MessageType.ERR);
  208. return;
  209. }
  210. switch (infos[0])
  211. {
  212. case "log":
  213. if (infos[1] == "1") //开启日志按钮
  214. {
  215. LogController.Instance.SetBtnLogVisable(true);
  216. }
  217. else if (infos[1] == "0") //关闭日志按钮
  218. {
  219. LogController.Instance.SetBtnLogVisable(false);
  220. }
  221. else
  222. {
  223. PromptController.Instance.ShowFloatTextPrompt(string.Format("log指令没有{0}这个状态", infos[1]));
  224. }
  225. break;
  226. case "cjstime":
  227. if (infos[1].Length != 10)
  228. {
  229. PromptController.Instance.ShowFloatTextPrompt("请输入以秒为单位的正确的时间戳");
  230. return;
  231. }
  232. LuckyBoxDataManager.Instance.startTime = int.Parse(infos[1]);
  233. PromptController.Instance.ShowFloatTextPrompt("设置成功");
  234. break;
  235. case "cjetime":
  236. if (infos[1].Length != 10)
  237. {
  238. PromptController.Instance.ShowFloatTextPrompt("请输入以秒为单位的正确的时间戳");
  239. return;
  240. }
  241. LuckyBoxDataManager.Instance.endTime = int.Parse(infos[1]);
  242. PromptController.Instance.ShowFloatTextPrompt("设置成功");
  243. break;
  244. default:
  245. GMController.SendGMCommand(content, "设置成功").Coroutine();
  246. break;
  247. }
  248. }
  249. //设置计数值
  250. private void OnClickBtnSetCount(EventContext context)
  251. {
  252. var roleNumType = _ui.m_RoleNumType.text;
  253. if (string.IsNullOrEmpty(roleNumType)) return;
  254. var num = _ui.m_Num.text;
  255. if (string.IsNullOrEmpty(num)) return;
  256. GMController.SendGMCommand($"setNum {roleNumType} {num}", "").Coroutine();
  257. }
  258. //添加计数值
  259. private void OnClickBtnAddCount(EventContext context)
  260. {
  261. var roleNumType = _ui.m_AddRoleNumType.text;
  262. if (string.IsNullOrEmpty(roleNumType)) return;
  263. var num = _ui.m_AddNum.text;
  264. if (string.IsNullOrEmpty(num)) return;
  265. GMController.SendGMCommand($"addNum {roleNumType} {num}", "").Coroutine();
  266. }
  267. }
  268. }