Esempio n. 1
0
        public ISavable Unequip(int playerId, EquipmentType type, int slot)
        {
            var equipped = GetRelation(playerId, type).GetValueOrDefault(slot);

            if (equipped != null)
            {
                context.Remove(equipped);
            }

            return(context);
        }
Esempio n. 2
0
        public ISavable RemoveItem(int playerId, Descriptor item)
        {
            var inventoryItem = context.OwnedBys.Find(item.ItemId, playerId);

            inventoryItem.Count -= item.Count;

            if (inventoryItem.Count <= 0)
            {
                context.Remove(inventoryItem);
            }
            else
            {
                context.Update(inventoryItem);
            }

            return(context);
        }
Esempio n. 3
0
        public ISavable RemoveItem(Loot loot, Descriptor item)
        {
            var inventoryItem = context.InteractionItems.FirstOrDefault(i => i.ItemId == item.ItemId && i.InteractableId == loot.Id);

            inventoryItem.Count -= item.Count;

            if (inventoryItem.Count <= 0)
            {
                context.Remove(inventoryItem);

                if (context.InteractionItems.Where(i => i.InteractableId == loot.Id).Count() <= 1)
                {
                    mediator.GetHandler <GetInteractable>().Delete(loot.Id).Save();
                    mediator.GetHandler <RoomUpdateAlerter>().Send(loot.RoomId);
                }
            }
            else
            {
                context.Update(inventoryItem);
            }


            return(context);
        }
 public ISavable Delete(int id)
 {
     context.Remove(context.Interactables.Find(id));
     return(context);
 }