private void OnArmorChanged() { var flags = _flags & DAMAGE_LEVEL_MASK; var index = (int)((_unit.Armor.Ratio(_unit.ArmorMax)) * 4); if (index < 3) { flags |= _damageLevels[index]; } if (_flags == flags) { return; } _flags = flags; _unit.UpdateTypes |= UnitUpdateTypes.State; }
public void SetFlag(UnitStateFlags flag, bool value) { var flags = _flags; if (value) { flags |= flag; } else { flags &= ~flag; } if (_flags == flags) { return; } _flags = flags; _unit.UpdateTypes |= UnitUpdateTypes.State; }
private bool HasFlag(UnitStateFlags flag) { return((_flags & flag) > 0); }