Пример #1
0
        protected override bool OnSetWaitBuffEnd(EnumBuffLast lastType)
        {
            int          lastVal = (int)lastType;
            IBoostEffect item    = null;

            for (int i = lstBoost.Count - 1; i >= 0; i--)
            {
                item = lstBoost[i];
                if (item.InvalidFlag ||
                    item.TimeEnd <= (short)EnumBuffLast.TillWaitEnd && item.TimeEnd == lastVal)
                {
                    lstBoost.RemoveAt(i);
                    if (this._syncFlag)
                    {
                        this._syncFlag = false;
                    }
                }
            }
            ISkill skill = null;

            for (int i = lstToSkill.Count - 1; i >= 0; i--)
            {
                skill = lstToSkill[i];
                ((IBoostCore)skill).SetWaitBuffEnd(lastType);
                if (!skill.WaitingFlag)
                {
                    lstToSkill.RemoveAt(i);
                }
            }
            return(true);
        }
Пример #2
0
        public bool GetWaitingFlag(EnumBuffLast lastType)
        {
            int lastVal = (int)lastType;

            if (lastVal >= 0)
            {
                return(false);
            }
            return((_waitIndex >> (-lastVal) & 1) == 1);
        }
Пример #3
0
 protected override bool OnSetWaitBuffEnd(EnumBuffLast lastType)
 {
     foreach (var kvp in dicBuff)
     {
         if (null != kvp.Value)
         {
             kvp.Value.SetWaitBuffEnd(lastType);
         }
     }
     return(true);
 }
Пример #4
0
        public bool SetWaitBuffEnd(EnumBuffLast lastType)
        {
            if (!GetWaitingFlag(lastType))
            {
                return(false);
            }
            bool val = this.OnSetWaitBuffEnd(lastType);

            if (val)
            {
                SetWaitingFlag(lastType, false);
            }
            return(val);
        }
Пример #5
0
        protected bool SetWaitingFlag(EnumBuffLast lastType, bool waitingFlag)
        {
            int lastVal = (int)lastType;

            if (lastVal >= 0)
            {
                return(false);
            }
            if (waitingFlag)
            {
                this._waitIndex |= 1 << (-lastVal);
            }
            else
            {
                this._waitIndex &= ~(1 << (-lastVal));
            }
            return(true);
        }
Пример #6
0
        protected override bool OnSetWaitBuffEnd(EnumBuffLast lastType)
        {
            int lastVal = (int)lastType;

            foreach (var item in dicBuff.Values)
            {
                if (item.InvalidFlag ||
                    item.TimeEnd <= (short)EnumBuffLast.TillWaitEnd && item.TimeEnd == lastVal)
                {
                    item.TimeEnd = 0;
                    if (this._syncFlag)
                    {
                        this._syncFlag = false;
                    }
                }
            }
            return(true);
        }
Пример #7
0
 public bool SetWaitBuffEnd(EnumBuffLast lastType)
 {
     return(this.boostCore.SetWaitBuffEnd(lastType));
 }
Пример #8
0
 protected abstract bool OnSetWaitBuffEnd(EnumBuffLast lastType);