XtGameKit/Packages/cn.xt.hero/Scripts/Hotfix/Client/Hero_HeroInfoListHandler.cs

20 lines
738 B
C#

namespace ET.Client
{
[MessageHandler(SceneType.Main)]
[FriendOf(typeof(HeroComponent))]
public class Hero_HeroInfoListHandler : MessageHandler<Scene, Hero_HeroInfoList>
{
protected override async ETTask Run(Scene scene, Hero_HeroInfoList message)
{
HeroComponent component = scene.GetComponent<HeroComponent>() ?? scene.AddComponent<HeroComponent>();
component.HeroMap.Clear();
foreach (HeroInfo hero in message.heroes)
{
component.HeroMap[hero.heroId] = hero;
}
EventSystem.Instance.Publish(scene, new HeroListUpdatedEvent { Count = message.heroes.Count });
await ETTask.CompletedTask;
}
}
}