2021-04-08 20:09:59 +08:00
|
|
|
|
using ET;
|
|
|
|
|
using ET.EventType;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace ET
|
|
|
|
|
{
|
|
|
|
|
public class OnClickMonsterEvent : AEvent<OnClickMonster>
|
|
|
|
|
{
|
|
|
|
|
public override async ETTask Run(OnClickMonster args)
|
|
|
|
|
{
|
|
|
|
|
await ETTask.CompletedTask;
|
2021-04-11 19:50:39 +08:00
|
|
|
|
MonsterInfo monsterInfo = args.monsterInfo;
|
2021-04-08 20:09:59 +08:00
|
|
|
|
if (monsterInfo == null) return;
|
|
|
|
|
switch (monsterInfo.UnitSceneType)
|
|
|
|
|
{
|
|
|
|
|
case UnitSceneType.MainStory:
|
2021-04-11 19:50:39 +08:00
|
|
|
|
int region = monsterInfo.Region;
|
2021-04-08 20:09:59 +08:00
|
|
|
|
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)
|
|
|
|
|
{
|
2021-04-11 19:50:39 +08:00
|
|
|
|
M2C_StartMainStoryFight ret = await SessionComponent.Instance.Call<M2C_StartMainStoryFight>(new C2M_StartMainStoryFight() { Region = region });
|
2021-04-08 20:09:59 +08:00
|
|
|
|
if (!ret.Message.IsNullOrEmpty())
|
|
|
|
|
{
|
|
|
|
|
Game.EventSystem.Publish(new ET.EventType.ShowTipUI
|
|
|
|
|
{
|
|
|
|
|
tip = ret.Message
|
|
|
|
|
}).Coroutine();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
private async ETVoid OnClickTrialCopy()
|
|
|
|
|
{
|
2021-04-11 19:50:39 +08:00
|
|
|
|
M2C_StartTrialCopyFight ret = await SessionComponent.Instance.Call<M2C_StartTrialCopyFight>(new C2M_StartTrialCopyFight());
|
2021-04-08 20:09:59 +08:00
|
|
|
|
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()
|
|
|
|
|
{
|
2021-04-11 19:50:39 +08:00
|
|
|
|
M2C_StartBossFightRequest ret = await SessionComponent.Instance.Call<M2C_StartBossFightRequest>(new C2M_StartBossFightRequest());
|
2021-04-08 20:09:59 +08:00
|
|
|
|
if (!ret.Message.IsNullOrEmpty())
|
|
|
|
|
{
|
|
|
|
|
Game.EventSystem.Publish(new ET.EventType.ShowTipUI
|
|
|
|
|
{
|
|
|
|
|
tip = ret.Message
|
|
|
|
|
}).Coroutine();
|
|
|
|
|
return;
|
|
|
|
|
}
|
2021-04-11 19:50:39 +08:00
|
|
|
|
byte[] bytes = BitConverter.GetBytes(ret.Key + DateTime.UtcNow.Year);
|
|
|
|
|
GameKeyComponent keyComponent = GameKeyComponent.Instance;
|
2021-04-08 20:09:59 +08:00
|
|
|
|
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()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|