예제 #1
0
        public void AddStatus(Enum.ClientStatus _status, int _value, long _timeout)
        {
            var timeout = _timeout > 0 ? Common.Clock + _timeout : 0;

            if (ClientStatuses.ContainsKey(_status))
            {
                ClientStatuses[_status].Value = _value; ClientStatuses[_status].Timeout = timeout;
            }
            else
            {
                var status = new Structures.ClientStatus(_status, _value, timeout);
                ClientStatuses.TryAdd(_status, status);
                CombatStats.AddClientStatusStats(status);
            }
        }
예제 #2
0
 public void RemoveStatus(Enum.ClientStatus _status)
 {
     Structures.ClientStatus status;
     ClientStatuses.TryRemove(_status, out status);
     if (status != null)
     {
         if (status.Type == Enum.ClientStatus.TransformationTimeout)
         {
             SetDisguise(null, 0);
         }
         else
         {
             CombatStats.RemoveClientStatusStats(status);
         }
     }
 }
예제 #3
0
 public bool HasStatus(Enum.ClientStatus _status)
 {
     return(ClientStatuses.ContainsKey(_status));
 }
 public ClientStatus(Enum.ClientStatus _type, int _value, long _timeout)
 {
     Type    = _type;
     Value   = _value;
     Timeout = _timeout;
 }