Example #1
0
        private void RegisterTrigger(Buff_NOTIFY_TYPE triggerType, BuffDelegate buff_delegate)
        {
            BuffDelegate handler;

            if (m_BuffTriggerEventDic.TryGetValue(triggerType, out handler))
            {
                handler += buff_delegate;
            }
            else
            {
                m_BuffTriggerEventDic[triggerType] = handler;
            }
        }
Example #2
0
 int CountBuffNum(BuffDelegate buffChange, int num)
 {
     if (buffChange != null)
     {
         System.Delegate[] delArray = buffChange.GetInvocationList();
         foreach (System.Delegate del in delArray)
         {
             BuffDelegate method = (BuffDelegate)del;
             num = method(num);
         }
     }
     return(num);
 }
Example #3
0
        private void UnRegisterTrigger(Buff_NOTIFY_TYPE triggerType, BuffDelegate buff_delegate)
        {
            BuffDelegate handler;

            if (m_BuffTriggerEventDic.TryGetValue(triggerType, out handler))
            {
                BuffDelegate finalHandler = handler - buff_delegate;
                if (finalHandler != null)
                {
                    handler = finalHandler;
                }
                else
                {
                    m_BuffTriggerEventDic.Remove(triggerType);
                }
            }
        }
Example #4
0
 public Debuff(BuffDelegate effect)
 {
     this.buffEffect = effect;
 }