public GameObject SpawnBulletFromPool(bool TipoBala, Vector3 posicion, Quaternion rotacion) { GameObject ObjetoaSpawnear; string bala; if (TipoBala) { bala = "BalasMalas"; ObjetoaSpawnear = poolDiccionario[bala].Dequeue(); } else { bala = "BalasBuenas"; ObjetoaSpawnear = poolDiccionario[bala].Dequeue(); } ObjetoaSpawnear.SetActive(true); ObjetoaSpawnear.transform.position = posicion; ObjetoaSpawnear.transform.rotation = rotacion; Bullet mibull = ObjetoaSpawnear.GetComponent <Bullet>(); mibull.initializeBullet(); poolDiccionario[bala].Enqueue(ObjetoaSpawnear); return(ObjetoaSpawnear); }
public GameObject SpawnParticle(bool enemiga, Vector3 posicion, Quaternion rotacion) { GameObject ObjetoaSpawnear; string particula; if (enemiga) { particula = "PartiBads"; ObjetoaSpawnear = poolDiccionario[particula].Dequeue(); } else { particula = "PartiCools"; ObjetoaSpawnear = poolDiccionario[particula].Dequeue(); } ObjetoaSpawnear.SetActive(true); ObjetoaSpawnear.transform.position = posicion; ObjetoaSpawnear.transform.rotation = rotacion; ObjetoaSpawnear.GetComponent <ParticleSystem>().Play(); poolDiccionario[particula].Enqueue(ObjetoaSpawnear); return(ObjetoaSpawnear); }
public GameObject SpawnFromPool(string tag, Vector3 posicion, Quaternion rotacion) { //Pa que no existan errores por pasar tag invalido if (!poolDiccionario.ContainsKey(tag)) { Debug.LogWarning("El Pool con tag " + tag + " no existe"); return(null); } //=========================================================\\ //GameObject ObjetoaSpawnear = poolDiccionario[tag].Dequeue(); int _i = 0; bool HayDesactivada = false; for (_i = 0; _i < poolDiccionario[tag].Count; _i++) { if (!poolDiccionario[tag][_i].activeSelf) { HayDesactivada = true; break; } } GameObject ObjetoaSpawnear; if (HayDesactivada) { ObjetoaSpawnear = poolDiccionario[tag][_i]; //Activamos al chico ObjetoaSpawnear.SetActive(true); ObjetoaSpawnear.transform.position = posicion; ObjetoaSpawnear.transform.rotation = rotacion; } else { //Creamos a un nuevo chico ObjetoaSpawnear = Instantiate(poolDiccionario[tag][_i - 1]); ObjetoaSpawnear.SetActive(true); ObjetoaSpawnear.transform.position = posicion; ObjetoaSpawnear.transform.rotation = rotacion; poolDiccionario[tag].Add(ObjetoaSpawnear); } if (tag == "bulletparticles" || tag == "grenadeparticles") { StartCoroutine(DesactivarObjeto(ObjetoaSpawnear, 1)); } return(ObjetoaSpawnear); }
public GameObject SpawnBoom(Vector3 posicion) { GameObject ObjetoaSpawnear; ObjetoaSpawnear = poolDiccionario["PartiBoom"].Dequeue(); ObjetoaSpawnear.SetActive(true); ObjetoaSpawnear.transform.position = posicion; ObjetoaSpawnear.transform.rotation = Quaternion.identity; ParticleSystem[] booms = ObjetoaSpawnear.GetComponentsInChildren <ParticleSystem>(); booms[0].Play(); booms[1].Play(); poolDiccionario["PartiBoom"].Enqueue(ObjetoaSpawnear); return(ObjetoaSpawnear); }