// Start is called before the first frame update void Start() { if (instance == null) { instance = this; } else { Destroy(this); } player = GameObject.FindGameObjectsWithTag("Player")[0]; mech = GameObject.FindGameObjectsWithTag("Mech")[0]; foreach (Pool pool in pools) { Queue <GameObject> objectPool = new Queue <GameObject>(); for (int x = 0; x < pool.size; x++) { GameObject obj = Instantiate(pool.prefab); if (obj.tag == "MeleeSwipe") { obj.transform.parent = player.transform; } if (obj.tag == "MechSwipe") { obj.transform.parent = mech.transform; } obj.SetActive(false); objectPool.Enqueue(obj); } poolerDictionary.Add(pool.tag, objectPool); } }
void Awake() { current = this; pooledObjects = new List <GameObject>(); for (int i = 0; i < pooledAmount; i++) { GameObject obj = (GameObject)Instantiate(pooledObject); obj.SetActive(false); pooledObjects.Add(obj); } }
void HandleShooting() { if (canShoot[currentWep]) { if (shootInput) { GameObject attack; //Debug.Log(aim); PoolerScript pS = PoolerScript.instance; Vector3 rotation = Vector3.zero; string tag = attackPrefabs[currentWep].tag; Vector3 position; switch (aim) { case "right": rotation.z = 0; position = attackSpawns[0].position; pS.SpawnFromPool(tag, position, rotation); attack = pS.objectToSpawn; if (attack.name.Contains("Ranged")) { BasicParticleScript script = attack.GetComponent <BasicParticleScript>(); script.horiVel = script.velocity; script.vertVel = 0; } if (attack.name.Contains("Melee")) { MeleeAttackScript script = attack.GetComponent <MeleeAttackScript>(); script.HideMe(); } break; case "rightDown": rotation.z = -45; position = attackSpawns[1].position; pS.SpawnFromPool(tag, position, rotation); attack = pS.objectToSpawn; if (attack.name.Contains("Ranged")) { BasicParticleScript script = attack.GetComponent <BasicParticleScript>(); script.horiVel = script.velocity * Mathf.Cos(45); script.vertVel = -script.velocity * Mathf.Cos(45); } if (attack.name.Contains("Melee")) { MeleeAttackScript script = attack.GetComponent <MeleeAttackScript>(); script.HideMe(); } break; case "Down": rotation.z = -90; position = attackSpawns[2].position; pS.SpawnFromPool(tag, position, rotation); attack = pS.objectToSpawn; if (attack.name.Contains("Ranged")) { BasicParticleScript script = attack.GetComponent <BasicParticleScript>(); script.horiVel = 0; script.vertVel = -script.velocity; } if (attack.name.Contains("Melee")) { MeleeAttackScript script = attack.GetComponent <MeleeAttackScript>(); script.HideMe(); } break; case "leftDown": rotation.z = -135; position = attackSpawns[3].position; pS.SpawnFromPool(tag, position, rotation); attack = pS.objectToSpawn; if (attack.name.Contains("Ranged")) { BasicParticleScript script = attack.GetComponent <BasicParticleScript>(); script.horiVel = -script.velocity * Mathf.Cos(45); script.vertVel = -script.velocity * Mathf.Cos(45); } if (attack.name.Contains("Melee")) { MeleeAttackScript script = attack.GetComponent <MeleeAttackScript>(); script.HideMe(); } break; case "left": rotation.z = -180; position = attackSpawns[4].position; pS.SpawnFromPool(tag, position, rotation); attack = pS.objectToSpawn; if (attack.name.Contains("Ranged")) { BasicParticleScript script = attack.GetComponent <BasicParticleScript>(); script.horiVel = -script.velocity; script.vertVel = 0; } if (attack.name.Contains("Melee")) { MeleeAttackScript script = attack.GetComponent <MeleeAttackScript>(); script.CancelInvoke("HideMe"); script.HideMe(); } break; case "leftUp": rotation.z = -225; position = attackSpawns[5].position; pS.SpawnFromPool(tag, position, rotation); attack = pS.objectToSpawn; if (attack.name.Contains("Ranged")) { BasicParticleScript script = attack.GetComponent <BasicParticleScript>(); script.horiVel = -script.velocity * Mathf.Cos(45); script.vertVel = script.velocity * Mathf.Cos(45); } if (attack.name.Contains("Melee")) { MeleeAttackScript script = attack.GetComponent <MeleeAttackScript>(); script.HideMe(); } break; case "Up": rotation.z = -270; position = attackSpawns[6].position; pS.SpawnFromPool(tag, position, rotation); attack = pS.objectToSpawn; if (attack.name.Contains("Ranged")) { BasicParticleScript script = attack.GetComponent <BasicParticleScript>(); script.horiVel = 0; script.vertVel = script.velocity; } if (attack.name.Contains("Melee")) { MeleeAttackScript script = attack.GetComponent <MeleeAttackScript>(); script.HideMe(); } break; case "rightUp": rotation.z = -315; position = attackSpawns[7].position; pS.SpawnFromPool(tag, position, rotation); attack = pS.objectToSpawn; if (attack.name.Contains("Ranged")) { BasicParticleScript script = attack.GetComponent <BasicParticleScript>(); script.horiVel = script.velocity * Mathf.Cos(45); script.vertVel = script.velocity * Mathf.Cos(45); } if (attack.name.Contains("Melee")) { MeleeAttackScript script = attack.GetComponent <MeleeAttackScript>(); script.HideMe(); } break; default: rotation.z = 0; position = attackSpawns[0].position; pS.SpawnFromPool(tag, position, rotation); attack = pS.objectToSpawn; if (attack.name.Contains("Ranged")) { BasicParticleScript script = attack.GetComponent <BasicParticleScript>(); script.horiVel = script.velocity; script.vertVel = 0; } if (attack.name.Contains("Melee")) { MeleeAttackScript script = attack.GetComponent <MeleeAttackScript>(); script.HideMe(); } break; } //Debug.Log(rotation.z); canShoot[currentWep] = false; StartCoroutine(ReadyToShoot(currentWep)); } } }
void Awake() { current = this; }
private void Awake() { current = this; }