// Update is called once per frame void LateUpdate() { if (mActive && !particleSystem.IsAlive()) { PoolController.ReleaseAuto(transform); } }
IEnumerator DoRelease() { bool kinematic = false; if (rigidbody) { kinematic = rigidbody.isKinematic; rigidbody.velocity = Vector3.zero; rigidbody.angularVelocity = Vector3.zero; rigidbody.isKinematic = true; } if (releaseDelay > 0) { yield return(new WaitForSeconds(releaseDelay)); } else { yield return(new WaitForFixedUpdate()); } transform.position = Vector3.zero; transform.rotation = Quaternion.identity; if (rigidbody) { rigidbody.isKinematic = kinematic; } PoolController.ReleaseAuto(transform); }
// Update is called once per frame void Update() { if (mSpawned && mActive) { if (!mAnimDat.isPlaying) { PoolController.ReleaseAuto(transform); } } }
// Code that runs on entering the state. public override void OnEnter() { #if POOLMANAGER Debug.LogError("Not implemented!"); #else if (!group.IsNone) { PoolController.ReleaseByGroup(group.Value, gameObject.Value.transform); } else { PoolController.ReleaseAuto(gameObject.Value.transform); } #endif Finish(); }