Пример #1
0
        public override bool CanOffer()
        {
            DefragCooldown();

            if (!CooldownTable.ContainsKey(Owner) || Owner.AccessLevel > AccessLevel.Player)
            {
                return(base.CanOffer());
            }

            return(false);
        }
Пример #2
0
        private static void DefragCooldown()
        {
            List <Mobile> toRemove = new List <Mobile>();

            foreach (KeyValuePair <Mobile, DateTime> kvp in CooldownTable)
            {
                if (kvp.Value < DateTime.UtcNow)
                {
                    toRemove.Add(kvp.Key);
                }
            }

            foreach (Mobile m in toRemove)
            {
                if (CooldownTable.ContainsKey(m))
                {
                    CooldownTable.Remove(m);
                }
            }
        }