using System; namespace ET { [ActorMessageHandler] public class C2M_ShowPetHandler: AMActorLocationHandler { protected override async ETTask Run(Unit unit, C2M_ShowPet message) { Pet pet = unit.GetComponent(); switch (pet.petState) { case Pet.PetState.Idle: pet.isShow = true; pet.petState = Pet.PetState.Follow; Game.EventSystem.Change(pet); break; case Pet.PetState.Follow: pet.isShow = false; pet.petState = Pet.PetState.Idle; Game.EventSystem.Change(pet); break; case Pet.PetState.Play: break; case Pet.PetState.Experience: break; case Pet.PetState.Explore: break; default: throw new ArgumentOutOfRangeException(); } await ETTask.CompletedTask; } } }