public void UpdateFlag(CritterFlags flag, bool setOrUnset)
 {
     if (setOrUnset)
     {
         this.Flags |= (int)flag;
     }
     else
     {
         this.Flags &= ~(int)flag;
     }
 }
 public bool HasFlag(CritterFlags flag) => (this.Flags & (int)flag) > 0;