Ejemplo n.º 1
0
 /// <summary>
 /// Checks an inventories permissions against an entities' flags to see if it has access to the inventory.
 /// </summary>
 /// <param name="entity_flags"></param>
 /// <param name="inventory_flags"></param>
 /// <returns></returns>
 public bool CheckInventoryPermissions(ENTITY_TYPE entity_flags, INVENTORY_MODIFIERS inventory_flags)
 {
     //Check if the inventory is machine accessible and if the entity is a machine.
     if (INV_UTILITY.HasTag(inventory_flags, INVENTORY_MODIFIERS.MachineAccessible) &&
         ENTITY_UTILITY.HasTag(entity_flags, ENTITY_TYPE.Machine))
     {
         return(true);
     }// Check if the inventory is player accessible and if the entity is a player.
     else if (INV_UTILITY.HasTag(inventory_flags, INVENTORY_MODIFIERS.PlayerAccessible) &&
              ENTITY_UTILITY.HasTag(entity_flags, ENTITY_TYPE.Player))
     {
         return(true);
     }
     //If it reaches this point then we don't have the right permissions.
     return(false);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Checks if a given set of flags contains a flag
 /// Cannot check for flag none.
 /// </summary>
 /// <param name="FLAGS"></param>
 /// <param name="NEW_FLAG"></param>
 /// <returns></returns>
 public bool HasTag(INVENTORY_MODIFIERS FLAGS, INVENTORY_MODIFIERS NEW_FLAG)
 {
     return((FLAGS & NEW_FLAG) != 0);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Toggles a given flag within the set of flags.
 /// If it was false, makes it true, if it was true, makes it false.
 /// </summary>
 /// <param name="FLAGS"></param>
 /// <param name="NEW_FLAG"></param>
 /// <returns></returns>
 public INVENTORY_MODIFIERS ToggleTag(INVENTORY_MODIFIERS FLAGS, INVENTORY_MODIFIERS NEW_FLAG)
 {
     return(FLAGS ^= NEW_FLAG);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Removes a given flag for an item
 /// </summary>
 /// <param name="FLAGS"></param>
 /// <param name="NEW_FLAG"></param>
 /// <returns></returns>
 public INVENTORY_MODIFIERS RemoveTag(INVENTORY_MODIFIERS FLAGS, INVENTORY_MODIFIERS NEW_FLAG)
 {
     return(FLAGS &= ~NEW_FLAG);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Adds new tags to items
 /// </summary>
 /// <param name="FLAGS"></param>
 /// <param name="NEW_FLAG"></param>
 /// <returns></returns>
 public INVENTORY_MODIFIERS AddTag(INVENTORY_MODIFIERS FLAGS, INVENTORY_MODIFIERS NEW_FLAG)
 {
     return(FLAGS |= NEW_FLAG);
 }