2021-04-08 20:09:59 +08:00
|
|
|
|
using System;
|
2021-04-11 19:50:39 +08:00
|
|
|
|
using System.Collections.Generic;
|
2021-04-08 20:09:59 +08:00
|
|
|
|
|
|
|
|
|
namespace ET
|
|
|
|
|
{
|
|
|
|
|
public class ChangeBattleCharacterEvent : AEvent<EventType.ChangeBattleCharacter>
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 只给自己返回详细信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="unit"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public override async ETTask Run(EventType.ChangeBattleCharacter args)
|
|
|
|
|
{
|
2021-04-11 19:50:39 +08:00
|
|
|
|
Unit unit = args.unit;
|
2021-04-08 20:09:59 +08:00
|
|
|
|
MessageHelper.SendActor(unit, new M2C_SendCharacter()
|
|
|
|
|
{
|
|
|
|
|
Id = unit.Id,
|
|
|
|
|
UnitCharacter =await CharacterHelper.GetUnitCharacter(unit),
|
|
|
|
|
});
|
|
|
|
|
await ETTask.CompletedTask;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public class ChangeUnitCharacterEvent : AEvent<EventType.ChangeUnitCharacter>
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 给队伍所有人广播unit的信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="unit"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public override async ETTask Run(EventType.ChangeUnitCharacter args)
|
|
|
|
|
{
|
2021-04-11 19:50:39 +08:00
|
|
|
|
Unit unit = args.unit;
|
|
|
|
|
M2C_SendUnitInfo sendUnitInfo = new M2C_SendUnitInfo() { UnitCharacter =await CharacterHelper.GetUnitCharacter(unit) };
|
2021-04-08 20:09:59 +08:00
|
|
|
|
unit.GetComponent<BrocastComponent>().BrocastInterval(sendUnitInfo);
|
|
|
|
|
await ETTask.CompletedTask;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public class ChangeAllPvpCharacterEvent : AEvent<EventType.ChangeAllUnitCharacter>
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 给双方广播对方的信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="unit"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public override async ETTask Run(EventType.ChangeAllUnitCharacter args)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
Team team = args.team;
|
|
|
|
|
Team targetTeam = args.targetTeam;
|
|
|
|
|
M2C_SendUnitInfoList m2C_SendUnitInfoList = new M2C_SendUnitInfoList();
|
2021-04-11 19:50:39 +08:00
|
|
|
|
LinkedList<Unit> teamList = team.GetUnits();
|
|
|
|
|
LinkedList<Unit> targetTeamList = targetTeam.GetUnits();
|
|
|
|
|
foreach (Unit u in teamList)
|
2021-04-08 20:09:59 +08:00
|
|
|
|
{
|
|
|
|
|
m2C_SendUnitInfoList.UnitCharacterList.Add(await CharacterHelper.GetUnitCharacter(u));
|
|
|
|
|
}
|
|
|
|
|
|
2021-04-11 19:50:39 +08:00
|
|
|
|
foreach (Unit u in targetTeamList)
|
2021-04-08 20:09:59 +08:00
|
|
|
|
{
|
|
|
|
|
m2C_SendUnitInfoList.UnitCharacterList.Add(await CharacterHelper.GetUnitCharacter(u));
|
|
|
|
|
}
|
|
|
|
|
MessageHelper.Broadcast(teamList,targetTeamList, m2C_SendUnitInfoList);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
Log.Error(e);
|
|
|
|
|
}
|
|
|
|
|
await ETTask.CompletedTask;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|