示例#1
0
 public void SetFlag(ExplosionResponse added, bool targetValue)
 {
     //If we have the flag XOR we want it
     if (HasFlag(ResponseType, added) ^ targetValue)
     {
         //Toggle it
         ResponseType = ToogleFlag(ResponseType, added);
     }
 }
示例#2
0
 void Start()
 {
     if (HasFlag(ExplosionResponse.Rigidbody) && rb == null)
     {
         rb = GetComponent <Rigidbody>();
         if (rb == null)
         {
             Debug.LogError("Explodable Object [" + name + "] is marked as a Rigidbody Explodable but does not have a rigidbody assigned\n\tDefaulting and removing the rigidbody explodable flag.\n");
             ResponseType = UnsetFlag(ResponseType, ExplosionResponse.Rigidbody);
         }
     }
 }
示例#3
0
 public ExplosionResponse ToogleFlag(ExplosionResponse baseID, ExplosionResponse toggleID)
 {
     return(baseID ^ toggleID);
 }
示例#4
0
 public ExplosionResponse UnsetFlag(ExplosionResponse baseID, ExplosionResponse removed)
 {
     return(baseID & (~removed));
 }
示例#5
0
 public ExplosionResponse SetFlag(ExplosionResponse baseID, ExplosionResponse added)
 {
     return(baseID | added);
 }
示例#6
0
 public static bool HasFlag(ExplosionResponse baseID, ExplosionResponse checkHaveID)
 {
     return((baseID & checkHaveID) == checkHaveID);
 }
示例#7
0
 public bool HasFlag(ExplosionResponse checkHaveID)
 {
     return((ResponseType & checkHaveID) == checkHaveID);
 }