namespace ET.Client { [MessageHandler(SceneType.Main)] [FriendOf(typeof(HeroComponent))] public class Hero_HeroInfoHandler : MessageHandler { protected override async ETTask Run(Scene scene, Hero_HeroInfo message) { HeroComponent component = scene.GetComponent() ?? scene.AddComponent(); component.HeroMap[message.hero.heroId] = message.hero; EventSystem.Instance.Publish(scene, new HeroUpdatedEvent { HeroId = message.hero.heroId }); await ETTask.CompletedTask; } } }