Example #1
0
    public void ClearEvents()
    {
        for (int i = 0; i < curr_events.Count;)
        {
            QueueEvent curr_event = curr_events[i];

            curr_event.OnFinish();

            curr_event.CallOnEventFinish();
        }

        curr_events.Clear();
    }
Example #2
0
    public void UpdateEvents()
    {
        if (curr_events.Count > 0)
        {
            for (int i = 0; i < curr_events.Count;)
            {
                QueueEvent curr_event = curr_events[i];

                if (!curr_event.GetFinished())
                {
                    curr_event.OnUpdate();

                    ++i;
                }
                else
                {
                    curr_event.OnFinish();

                    curr_event.CallOnEventFinish();

                    curr_events.RemoveAt(i);
                }
            }
        }
        else
        {
            if (events_to_push.Count > 0)
            {
                bool first = true;
                for (int i = 0; i < events_to_push.Count;)
                {
                    QueueEvent curr_event = events_to_push[i];

                    bool add = false;

                    if (first)
                    {
                        add = true;

                        first = false;
                    }
                    else if (curr_event.GetPushWithLastEvent())
                    {
                        add = true;
                    }

                    if (add)
                    {
                        curr_events.Add(curr_event);

                        events_to_push.RemoveAt(i);

                        curr_event.CallOnEventStart();

                        curr_event.OnStart();
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }
    }