예제 #1
0
 public void Release()
 {
     if (mPoolData)
     {
         mPoolData.Release();
     }
 }
예제 #2
0
    IEnumerator DoDespawn()
    {
        if (despawnStartDelay > 0f)
        {
            yield return(new WaitForSeconds(despawnStartDelay));
        }

        if (animator && !string.IsNullOrEmpty(takeDespawn))
        {
            animator.Play(takeDespawn);
            while (animator.isPlaying)
            {
                yield return(null);
            }
        }
        else
        {
            yield return(null);
        }

        mRout = null;

        if (releaseAfterDespawn)
        {
            if (mPoolCtrl)
            {
                mPoolCtrl.Release();
            }
            else
            {
                M8.PoolController.ReleaseAuto(gameObject);
            }
        }
        else
        {
            stateControl.state = despawnAfterState;
        }
    }