public override void Die(GameObject deadObject) { GameObject explosion = ObjectPoolsManager.GetInstance().GetObject(explosionPrefab); explosion.transform.position = deadObject.transform.position; explosion.transform.rotation = Quaternion.identity; isFinished = true; }
public bool TryPool() { if (!isPooled) { isPooled = ObjectPoolsManager.Instance().TryPool(gameObject); } gameObject.SetActive(!isPooled); return(isPooled); }
public GameObject Unpool(Vector3 position, Quaternion rotation) { GameObject obj = ObjectPoolsManager.Instance().Unpool(gameObject); obj.GetComponent <Poolable>().isPooled = false; obj.SetActive(true); obj.transform.position = position; obj.transform.rotation = rotation; return(obj); }
public GameObject Drop() { GameObject drop = dropTable.Drop(); if (drop != null) { drop = ObjectPoolsManager.GetInstance().GetObject(drop); drop.transform.position = transform.position; } return(drop); }
public GameObject Spawn() { //Vector2 pos = GetRandomPositionInZone (); //if (pos == Vector2.zero) //return null; timer = 0f; GameObject instance = ObjectPoolsManager.GetInstance().GetObject(prefab); instance.transform.position = transform.position; return(instance); }
public virtual GameObject Spawn() { timer = 0f; //Jouer les sons . GameObject instance = ObjectPoolsManager.GetInstance().GetObject(prefab); instance.transform.position = transform.position; instance.layer = gameObject.layer; if (parentObject) { instance.transform.SetParent(parentObject.transform); if (useParentObjectLayer) { instance.layer = parentObject.layer; } } if (!instance.GetComponent <DirectionalMovement>()) { instance.AddComponent <DirectionalMovement>(); } if (!instance.GetComponent <PoolAfterXSeconds>()) { instance.AddComponent <PoolAfterXSeconds>(); } DirectionalMovement directionalMove = instance.GetComponent <DirectionalMovement>(); PoolAfterXSeconds dieAfter = instance.GetComponent <PoolAfterXSeconds>(); shootRay.origin = transform.position; shootRay.direction = transform.forward; directionalMove.direction = shootRay.direction; directionalMove.speed = speed; dieAfter.delay = range / (directionalMove.speed * 5); return(instance); }
public override void Execute(GameObject targetObject) { ObjectPoolsManager.GetInstance().PoolObject(targetObject); }
void Pool() { ObjectPoolsManager.GetInstance().PoolObject(eventsManager.gameObject); }
public override void Die(GameObject deadObject) { ObjectPoolsManager.GetInstance().PoolObject(deadObject); isFinished = true; }