public void End()
 {
     if (this.runningAnims == null)
     {
         return;
     }
     if (this.runningAnims.Rewind())
     {
         this.forcedStop = true;
         do
         {
             EZLinkedListNode <EZAnimation> current = this.runningAnims.Current;
             EZAnimation val = current.val;
             if (val != null)
             {
                 val.CompletedDelegate = null;
                 EZAnimator.instance.StopAnimation(val, true);
             }
             this.runningAnims.Remove(current);
             this.idleAnims.Add(current);
             current.val = null;
         }while (this.runningAnims.MoveNext());
         this.forcedStop = false;
         this.CallEndDelegates();
     }
 }
    public void RemoveSubSubject(GameObject go)
    {
        if (this.subSubjects == null)
        {
            return;
        }
        EZLinkedListNode <GameObject> current = this.subSubjects.Current;

        if (this.subSubjects.Rewind())
        {
            while (!(this.subSubjects.Current.val == go))
            {
                if (!this.subSubjects.MoveNext())
                {
                    goto IL_6E;
                }
            }
            this.subSubjects.Remove(this.subSubjects.Current);
        }
IL_6E:
        this.subSubjects.Current = current;
    }
    public void OnAnimEnd(EZAnimation anim)
    {
        EZLinkedListNode <EZAnimation> eZLinkedListNode = (EZLinkedListNode <EZAnimation>)anim.Data;

        if (eZLinkedListNode == null)
        {
            return;
        }
        if (this.runningAnims == null)
        {
            return;
        }
        eZLinkedListNode.val = null;
        this.runningAnims.Remove(eZLinkedListNode);
        this.idleAnims.Add(eZLinkedListNode);
        if (this.onEndDelegates == null || this.forcedStop)
        {
            return;
        }
        EZLinkedListNode <EZAnimation> current = this.runningAnims.Current;

        if (this.runningAnims.Rewind())
        {
            while (this.runningAnims.Current.val.Duration <= 0f)
            {
                if (!this.runningAnims.MoveNext())
                {
                    goto IL_A1;
                }
            }
            return;
        }
IL_A1:
        this.runningAnims.Current = current;
        this.CallEndDelegates();
    }
    public EZLinkedListNode <EZAnimation> AddRunningAnim()
    {
        if (this.runningAnims == null)
        {
            this.runningAnims = new EZLinkedList <EZLinkedListNode <EZAnimation> >();
            if (this.idleAnims == null)
            {
                this.idleAnims = new EZLinkedList <EZLinkedListNode <EZAnimation> >();
            }
        }
        EZLinkedListNode <EZAnimation> eZLinkedListNode;

        if (this.idleAnims.Count > 0)
        {
            eZLinkedListNode = this.idleAnims.Head;
            this.idleAnims.Remove(eZLinkedListNode);
        }
        else
        {
            eZLinkedListNode = new EZLinkedListNode <EZAnimation>(null);
        }
        this.runningAnims.Add(eZLinkedListNode);
        return(eZLinkedListNode);
    }
Example #5
0
	protected EZLinkedListNode<PointerInfoDelegate> GetPtrListenNode(PointerInfoDelegate del)
	{
		EZLinkedListNode<PointerInfoDelegate> delNode;

		if (listenerPool.Count > 0)
		{
			delNode = listenerPool.Head;
			listenerPool.Remove(delNode);
			delNode.val = del;
		}
		else
			delNode = new EZLinkedListNode<PointerInfoDelegate>(del);

		return delNode;
	}