예제 #1
0
        public async void Handle(Session session, ClientPacket message)
        {
            Room room = session.Player.CurrentRoom;

            if (room == null)
            {
                return;
            }

            RoomEntity pet = room.EntityManager.PetById(message.PopInt());

            if (pet == null)
            {
                return;
            }

            InventoryPet iPet = new InventoryPet(pet.Id, pet.Name, 0, 0, "");

            RoomEntityDatabase.RemovePet(pet);
            await session.Player.Inventory.UpdatePet(iPet);

            session.Player.CurrentRoom.EntityManager.OnUserLeave(pet);
            session.Send(new AddPetComposer(iPet));
        }
예제 #2
0
 public AddPetComposer(InventoryPet pet)
 {
     _pet = pet;
 }
예제 #3
0
 public RemovePetComposer(InventoryPet pet)
 {
     _pet = pet;
 }