93 lines
3.1 KiB
C#
93 lines
3.1 KiB
C#
|
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;
|
|||
|
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<M2C_StartMainStoryFight>(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<M2C_StartTrialCopyFight>(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<M2C_StartBossFightRequest>(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()
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|