Пример #1
0
        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);
            }
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
 public bool HasRestFlag(RestFlag restFlag)
 {
     return((_restFlagMask & restFlag) != 0);
 }