コード例 #1
0
        public void StartGame()
        {
            float timer = 0;

            while (m_eventQueue.Count > 0)
            {
                EventItem item = m_eventQueue.Peek();
                if (item.timer < timer)
                {
                    //UtilLog.Log(ReplayTimer.FormatTimer(timer) + " ");
                    FireEvent(item);
                    m_eventQueue.Dequeue();
                }
                timer += 1;
            }
        }
コード例 #2
0
        protected void FireEvent(EventItem item)
        {
            switch (item.type)
            {
            case EVENT_CommandSkill:
                OnCommandSkillEvent(item.eventArgs as ActiveSkillEventArgs);
                break;

            case EVENT_PassiveSkill:
                OnPassiveSkillEvent(item.eventArgs as ActiveSkillEventArgs);
                break;

            case EVENT_ActiveSkill:
                OnActiveSkillEvent(item.eventArgs as ActiveSkillEventArgs);
                break;

            case EVENT_NormalAttack:
                OnNormalAttacklEventt(item.eventArgs as ActiveSkillEventArgs);
                break;

            case EVENT_Effect_DamageCure:
                OnEffect_DamageCureEvent(item.eventArgs as Effect_DamageCureEventArgs);
                break;

            case EVENT_Effect_BuffAuraDot:
                OnEffect_BUFFAURADOTEvent(item.eventArgs as Effect_BuffAuraDotEventArgs);
                break;

            case EVENT_Effect_BuffAuraDotValue:
                OnEffect_BUFFAURADOTValueEvent(item.eventArgs as Effect_BuffAuraDotValueEventArgs);
                break;

            case EVENT_Effect_State:
                OnEffect_STATEEvent(item.eventArgs as Effect_STATEEventArgs);
                break;

            case EVENT_EnterRound:
                OnEnterRound(item.eventArgs as RoundEventArgs);
                break;

            case EVENT_GameOver:
                OnGameOver(item.eventArgs as RoundEventArgs);
                break;
            }
        }
コード例 #3
0
        public void DispatchEvent()
        {
            float passedTime = Time.time - m_baseTimer; //get delta time

            if (m_eventQueue.Count > 0)
            {
                EventItem item = m_eventQueue.Peek();

                //UtilLog.Log("CheckTimer, cur:"+ passedTime + " event:"+item.timer);
                if (item.timer < passedTime)
                {
                    //UtilLog.Log(ReplayTimer.FormatTimer(passedTime) + " ");
                    FireEvent(item);
                    m_eventQueue.Dequeue();
                    if (m_eventQueue.Count == 0)
                    {
                        FireEvent(new EventItem(0, EVENT_GameOver, new RoundEventArgs("GameOver")));
                    }
                }
            }
        }