/// <summary> /// Thực hiện khi người chơi chọn vào một vũ khí nào đó /// </summary> public void UsePick(int index) { GameObject[] arrPickOld = GameObject.FindGameObjectsWithTag("Pick"); for (int i = 0; i < arrPickOld.Length; i++) { Pick_ShieldControler pick = arrPickOld[i].GetComponent <Pick_ShieldControler>(); Pick_MineControler pickMine = arrPickOld[i].GetComponent <Pick_MineControler>(); if (pick == null && pickMine == null) { Destroy(arrPickOld[i]); } if (pickMine != null) { if (!pickMine._IsInit) { Destroy(arrPickOld[i]); } } } GameObject[] arrBullet = GameObject.FindGameObjectsWithTag("Bullet"); for (int i = 0; i < arrBullet.Length; i++) { Destroy(arrBullet[i]); } GameObject dart = GameObject.FindGameObjectWithTag("Dart"); if (dart != null) { Destroy(dart); } //====================== Player player = new Player(); Object obj = new Object(); _GameControler._Pick = _ListPick[index]; player = _GameControler._GameObj.GetComponent <Player>(); if (index == 3 || index == 9 || index == 14 || index == 15) { obj = Instantiate(_ListPick[18], _GameControler._GameObj.transform.position, Quaternion.identity); AirCallControler air = ((GameObject)obj).GetComponent <AirCallControler>(); switch (index) { case 3: air._Type = "Pick_Bomb"; break; case 9: air._Type = "Pick_Teleport"; break; case 14: air._Type = "Pick_Health"; break; case 15: air._Type = "Pick_Swap"; break; } } else { FindObjectOfType <CameraControler>()._IsMove = false; FindObjectOfType <MapControler>()._IsMove = false; obj = Instantiate(_ListPick[index], _GameControler._GameObj.transform.position, Quaternion.identity); } if (player._Dir == Player.Dir.right) { ((GameObject)obj).transform.localScale = new Vector3(1, 1, 1); } else { ((GameObject)obj).transform.localScale = new Vector3(-1, 1, 1); } ((GameObject)obj).transform.parent = _GameControler._GameObj.transform; //Hiển thị súng }
IEnumerator WaitForHitPlayer(int indexPick, Vector3 vel) { yield return(new WaitForSeconds(1)); if (_GameControler._Level == 1) { int ran = Random.Range(1, 4); if (ran == 1) { int ranDir = 1; vel *= (ranDir * 1.2f); } } switch (indexPick) { case 0: //Lưu đạn Pick_GrenadeControler pick_grenade = gameObject.GetComponentInChildren <Pick_GrenadeControler>(); pick_grenade.throwBallAIEnemy(vel); break; case 1: //Slo ShotGunControler pick_shotGun = gameObject.GetComponentInChildren <ShotGunControler>(); if (_Target == null) { IdentifyTarget(); } pick_shotGun.throwBallAIEnemy(_Target.transform.position); StartCoroutine(WaitForTurn2ShotGun()); break; case 2: //Cối CannonScript pick_Bazoo = gameObject.GetComponentInChildren <CannonScript>(); pick_Bazoo.ThrowBallEnemy(vel); break; case 3: //Rocket AirCallControler pick_Bomp = gameObject.GetComponentInChildren <AirCallControler>(); pick_Bomp.Pick_BombEnemy(_Target.transform.position); break; case 4: Pick_DrillerControler pick_driller = gameObject.GetComponentInChildren <Pick_DrillerControler>(); pick_driller.throwBallEnemy(_Target.transform.position); break; case 5: break; case 6: break; //Tự dùng case 7: Pick_LaserControler pick_laser = gameObject.GetComponentInChildren <Pick_LaserControler>(); pick_laser.throwBallEnemy(_Target.transform.position); break; case 8: Pick_CarotControler pick_carrot = gameObject.GetComponentInChildren <Pick_CarotControler>(); pick_carrot.throwBallEnemy(vel); break; case 9: break; case 10: Pick_PunchControler pick_punch = gameObject.GetComponentInChildren <Pick_PunchControler>(); pick_punch.throwBallEnemy(_Target.transform.position); break; case 11: Pick_BowControler pick_bow = gameObject.GetComponentInChildren <Pick_BowControler>(); pick_bow.throwBallEnemy(vel); break; case 12: Pick_MinigunControler pick_minigun = gameObject.GetComponentInChildren <Pick_MinigunControler>(); pick_minigun.throwBallEnemy(_Target.transform.position); break; case 13: Pick_Grenade_PoisonControler pick_poison = gameObject.GetComponentInChildren <Pick_Grenade_PoisonControler>(); pick_poison.throwBallAIEnemy(vel); break; case 14: break; case 15: break; case 16: Pick_FlamethrowerControler pick_flame = gameObject.GetComponentInChildren <Pick_FlamethrowerControler>(); pick_flame.throwBallEnemy(_Target.transform.position); break; case 17: break; } }