using ET; using ET.EventType; using System; using System.Text; namespace ET { public class OnClickMonsterEvent : AEvent { public override async ETTask Run(OnClickMonster args) { await ETTask.CompletedTask; var monsterInfo = args.monsterInfo; if (monsterInfo == null) return; switch (monsterInfo.UnitSceneType) { case UnitSceneType.MainStory: var region = monsterInfo.Region; OnClickMainstory(region).Coroutine(); break; case UnitSceneType.Trial: OnClickTrialCopy().Coroutine(); break; case UnitSceneType.Boss: OnClickBoss().Coroutine(); break; case UnitSceneType.ManulEquip: OnClickManulEquip().Coroutine(); break; } } private async ETVoid OnClickMainstory(int region) { var ret = await SessionComponent.Instance.Call(new C2M_StartMainStoryFight() { Region = region }); if (!ret.Message.IsNullOrEmpty()) { Game.EventSystem.Publish(new ET.EventType.ShowTipUI { tip = ret.Message }).Coroutine(); return; } } private async ETVoid OnClickTrialCopy() { var ret = await SessionComponent.Instance.Call(new C2M_StartTrialCopyFight()); if (!ret.Message.IsNullOrEmpty()) { Game.EventSystem.Publish(new ET.EventType.ShowTipUI { tip = ret.Message }).Coroutine(); return; } Game.EventSystem.Publish(new ET.EventType.StartTrialCopyFight { zoneScene = SessionComponent.Instance.Session.ZoneScene(), copyId = ret.TrialCopyId, list = ret.UnitIdList }).Coroutine(); TrialCopyMonsterTeamComponent.Instance.RemoveAll(); } private async ETVoid OnClickBoss() { var ret = await SessionComponent.Instance.Call(new C2M_StartBossFightRequest()); if (!ret.Message.IsNullOrEmpty()) { Game.EventSystem.Publish(new ET.EventType.ShowTipUI { tip = ret.Message }).Coroutine(); return; } var bytes = BitConverter.GetBytes(ret.Key + DateTime.UtcNow.Year); var keyComponent = GameKeyComponent.Instance; Utility.Encryption.GetSelfXorBytes(bytes, keyComponent.xorKey); //bytes = SecurityUtil.Xor(bytes); long key = BitConverter.ToInt64(bytes, 0); Game.EventSystem.Publish(new ET.EventType.ClickBoss_ShowAttackUI { key = key }).Coroutine(); } private async ETVoid OnClickManulEquip() { } } }