Beispiel #1
0
        public virtual void RePool(IPooler poolingScript)                                                                      //default re-pool Behavior. Override to to accomodate custom behaviors on repool.
        {
            if (PoolBank && this is IRePoolable && !(GlobalShotBank.Instance.PoolCount > GlobalShotBank.Instance.PoolMaxSize)) //and pool available
            {
                poolingScript.AddToPool(this.gameObject, GlobalShotBank.Instance.transform);
            }
            else
            {
                poolingScript.AddToPool(this.gameObject, Emitter);
            }

            GlobalShotManager.Instance.ActiveBullets--;
        }
Beispiel #2
0
 void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Player"))
     {
         Publish(SimpleEvent.CrystalCollected);
         gameObject.SetActive(false);
         _pooler.AddToPool(this);
     }
 }
Beispiel #3
0
 public void OnUpdate(Vector3 ballPos)
 {
     FallCheck(ballPos);
     if (!_hasFallenDeep && transform.position.y < FREEZE_DEPTH)
     {
         Freeze();
         _pooler.AddToPool(this);
         _hasFallenDeep = true;
     }
 }
Beispiel #4
0
 public void RePool(IPooler poolingScript)
 {
     transform.localScale = scale;
     poolingScript.AddToPool(this.gameObject, GlobalShotManager.Instance.transform);
 }