public void RemoveRestFlag(RestFlag restFlag) { RestFlag oldRestMask = _restFlagMask; _restFlagMask &= ~restFlag; if (oldRestMask != 0 && _restFlagMask == 0) // only remove flag/time on the last rest state remove { _restTime = 0; _player.RemovePlayerFlag(PlayerFlags.Resting); } }
public void SetRestFlag(RestFlag restFlag, uint triggerId = 0) { RestFlag oldRestMask = _restFlagMask; _restFlagMask |= restFlag; if (oldRestMask == 0 && _restFlagMask != 0) // only set flag/time on the first rest state { _restTime = Time.UnixTime; _player.AddPlayerFlag(PlayerFlags.Resting); } if (triggerId != 0) { _innAreaTriggerId = triggerId; } }
public bool HasRestFlag(RestFlag restFlag) { return((_restFlagMask & restFlag) != 0); }