public override bool TransferFromStorage(int resourceID, Character character)
    {
        if (ReservedResources.ContainsKey(character) &&
            ReservedResources[character] == resourceID &&
            character.HasResource == false)
        {
            ReservedResources.Remove(character);
            character.AddResource(resourceID);

            if (MissingResources.ContainsKey(resourceID))
            {
                MissingResources[resourceID] = MissingResources[resourceID] + 1;
            }
            else
            {
                MissingResources.Add(resourceID, 1);
            }
            MissingResourcesCount++;

            CurrentResourceCount--;
            Changed = true;
            return(true);
        }
        else
        {
            return(false);
        }
    }
Exemplo n.º 2
0
 public virtual bool CanReserveResource(int resourceID, Character character)
 {
     return(character.Reservation == null &&
            ReservedResources.ContainsKey(character) == false &&
            Resources.ContainsKey(resourceID) &&
            Resources[resourceID] > 0);
 }
 public override bool CanReserveResource(int resourceID, Character character)
 {
     return(RequiresEmptying == true &&
            character.Reservation == null &&
            ReservedResources.ContainsKey(character) == false &&
            Resources.ContainsKey(resourceID) &&
            Resources[resourceID] > 0);
 }
Exemplo n.º 4
0
 public virtual bool TransferFromStorage(int resourceID, Character character)
 {
     if (ReservedResources.ContainsKey(character) &&
         ReservedResources[character] == resourceID &&
         character.HasResource == false)
     {
         ReservedResources.Remove(character);
         character.AddResource(resourceID);
         CurrentResourceCount--;
         Changed = true;
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 5
0
    public virtual bool RemoveResourceReservation(Character character)
    {
        if (ReservedResources.ContainsKey(character))
        {
            int resourceID = ReservedResources[character];

            if (Resources.ContainsKey(resourceID))
            {
                Resources[resourceID] = Resources[resourceID] + 1;
            }
            else
            {
                Resources[resourceID] = 1;
            }

            ReservedResources.Remove(character);
            return(true);
        }
        else
        {
            return(false);
        }
    }