Example #1
0
    public virtual void Freeze()
    {
        if (freezeCount == 0)
        {
            frozenActGroup = new ActGroup();
        }

        freezeCount++;
    }
Example #2
0
    public ActGroup Pop()
    {
        if (actGroups.Count == 0)
        {
            return(null);
        }

        ActGroup result = actGroups[0];

        actGroups.RemoveAt(0);
        return(result);
    }
Example #3
0
    void Update()
    {
        if (curActGroup == null && !actQueue.Empty)
        {
            lock (actQueue) {
                curActGroup = actQueue.Pop();
                curActGroup.Init();
            }
        }

        if (curActGroup != null)
        {
            curActGroup.Perform(Time.deltaTime);
            if (curActGroup.Finished)
            {
                curActGroup = null;
            }
        }
    }
Example #4
0
    public virtual void Thaw()
    {
        if (freezeCount == 0)
        {
            return;
        }

        freezeCount--;

        if (freezeCount > 0)
        {
            return;
        }

        lock (actQueue) {
            actQueue.Add(frozenActGroup);
        }

        frozenActGroup = null;
    }
Example #5
0
 public void Add(ActGroup actGroup)
 {
     actGroups.Add(actGroup);
 }