/// <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
    }
Exemplo n.º 2
0
    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;
        }
    }