예제 #1
0
    public void pickUpWeapon() //kiem tra xem co cam vu khi khong neu co thi set pickup cua vu khi vao button
    {
        if (weaponController)
        {
            checkWeapon = false;
        }

        if (!weaponController)
        {
            if (checkWeapon)
            {
                for (int i = 0; i < weaponManager.weaponItem.Length; i++)
                {
                    if (weaponManager.weaponItem[i].id == idItem)
                    {
                        weapon = weaponManager.weaponItem[i];
                    }
                }
                text.text = "Throw";
                GameObject mainWeapon;
                mainWeapon = Instantiate(weapon.weaponPrefab, weapon.position, Quaternion.identity) as GameObject;

                if (weapon.checkTwoHands)
                {
                    GameObject CloneWeapon;
                    CloneWeapon = Instantiate(weapon.weaponPrefabClone, weapon.position, Quaternion.identity) as GameObject;

                    CloneWeapon.transform.SetParent(handRight);
                    CloneWeapon.transform.localPosition = weapon.position2;
                    CloneWeapon.transform.localRotation = Quaternion.Euler(weapon.rotation2);
                    CloneWeapon.transform.localScale    = weapon.Scale2;
                    CloneWeapon.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;
                    CloneWeapon.tag   = "weaponEnemy";
                    CloneWeapon.layer = 8;

                    mainWeapon.GetComponent <WeaponController>().rightHands = CloneWeapon.GetComponent <CloneWeaponController>();
                }

                switch (weapon.equipSlots)
                {
                case EquipmentSlot.Head:
                    mainWeapon.transform.SetParent(head);
                    break;

                case EquipmentSlot.Hands:
                    mainWeapon.transform.SetParent(hand);
                    break;

                case EquipmentSlot.Legs:
                    mainWeapon.transform.SetParent(leg);
                    break;

                default:
                    break;
                }

                mainWeapon.transform.localPosition = weapon.position;
                mainWeapon.transform.localRotation = Quaternion.Euler(weapon.rotation);
                mainWeapon.transform.localScale    = weapon.Scale;
                mainWeapon.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;
                mainWeapon.tag   = "weaponEnemy";
                mainWeapon.layer = 10;

                mainWeapon.GetComponent <WeaponController>().DamageWeapon = weapon.damage;

                weaponController = GetComponentInChildren <WeaponController>();
                destroyweapon    = true;
            }
        }
        else
        {
            Debug.Log("don't see any weapon close!");
        }
    }
예제 #2
0
    public void createWeapon() // khoi tao vu khi lan dau chon
    {
        int sum = 0;

        for (int i = 0; i < weaponManager.weaponItem.Length; i++)
        {
            if (weaponManager.weaponItem[i].checkUse)
            {
                weapon = weaponManager.weaponItem[i];
                sum++;
            }
        }

        if (sum == 0)
        {
            weapon = weaponManager.weaponItem[0];
        }

        GameObject mainWeapon;

        mainWeapon = Instantiate(weapon.weaponPrefab, weapon.position, Quaternion.identity) as GameObject;

        if (weapon.checkTwoHands)
        {
            GameObject CloneWeapon;
            CloneWeapon = Instantiate(weapon.weaponPrefabClone, weapon.position, Quaternion.identity) as GameObject;

            CloneWeapon.transform.SetParent(handRight);
            CloneWeapon.transform.localPosition = weapon.position2;
            CloneWeapon.transform.localRotation = Quaternion.Euler(weapon.rotation2);
            CloneWeapon.transform.localScale    = weapon.Scale2;
            CloneWeapon.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;
            CloneWeapon.tag   = "weaponEnemy";
            CloneWeapon.layer = 10;

            mainWeapon.GetComponent <WeaponController>().rightHands = CloneWeapon.GetComponent <CloneWeaponController>();
        }

        switch (weapon.equipSlots)
        {
        case EquipmentSlot.Head:
            mainWeapon.transform.SetParent(head);
            break;

        case EquipmentSlot.Hands:
            mainWeapon.transform.SetParent(hand);
            break;

        case EquipmentSlot.Legs:
            mainWeapon.transform.SetParent(leg);
            break;

        default:
            break;
        }

        mainWeapon.transform.localPosition = weapon.position;
        mainWeapon.transform.localRotation = Quaternion.Euler(weapon.rotation);
        mainWeapon.transform.localScale    = weapon.Scale;
        mainWeapon.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;
        mainWeapon.tag   = "weaponEnemy";
        mainWeapon.layer = 10;

        mainWeapon.GetComponent <WeaponController>().DamageWeapon = weapon.damage;

        weaponController = GetComponentInChildren <WeaponController>();
    }
예제 #3
0
    public void createWeapon() // khoi tao vu khi lan dau chon
    {
        if (idItem != null)
        {
            for (int i = 0; i < weaponManager.weaponItem.Length; i++)
            {
                if (weaponManager.weaponItem[i].id == idItem)
                {
                    weapon = weaponManager.weaponItem[i];
                }
            }

            GameObject mainWeapon;
            mainWeapon = Instantiate(weapon.weaponPrefab, weapon.position, Quaternion.identity) as GameObject;

            if (weapon.checkTwoHands)
            {
                GameObject CloneWeapon;
                CloneWeapon = Instantiate(weapon.weaponPrefabClone, weapon.position, Quaternion.identity) as GameObject;

                CloneWeapon.transform.SetParent(handRight);
                CloneWeapon.transform.localPosition = weapon.position2;
                CloneWeapon.transform.localRotation = Quaternion.Euler(weapon.rotation2);
                CloneWeapon.transform.localScale    = weapon.Scale2;
                CloneWeapon.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;
                CloneWeapon.tag   = "weaponEnemy";
                CloneWeapon.layer = 10;
                var tes = CloneWeapon.GetComponentsInChildren <Collider2D>();
                for (int i = 0; i < tes.Length; i++)
                {
                    tes[i].isTrigger = true;
                }

                mainWeapon.GetComponent <WeaponController>().rightHands = CloneWeapon.GetComponent <CloneWeaponController>();
            }

            switch (weapon.equipSlots)
            {
            case EquipmentSlot.Head:
                mainWeapon.transform.SetParent(head);
                break;

            case EquipmentSlot.Hands:
                mainWeapon.transform.SetParent(hand);
                break;

            case EquipmentSlot.Legs:
                mainWeapon.transform.SetParent(leg);
                break;

            default:
                break;
            }

            mainWeapon.transform.localPosition = weapon.position;
            mainWeapon.transform.localRotation = Quaternion.Euler(weapon.rotation);
            mainWeapon.transform.localScale    = weapon.Scale;
            mainWeapon.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;
            mainWeapon.tag   = "weaponEnemy";
            mainWeapon.layer = 10;

            var tes1 = mainWeapon.GetComponentsInChildren <Collider2D>();
            for (int i = 0; i < tes1.Length; i++)
            {
                tes1[i].isTrigger = true;
            }

            if (damageWeaponBase != 0)
            {
                mainWeapon.GetComponent <WeaponController>().DamageWeapon = damageWeaponBase;
            }
            else
            {
                mainWeapon.GetComponent <WeaponController>().DamageWeapon = weapon.damage;
            }

            if (damageWeaponSkill != 0)
            {
                mainWeapon.GetComponent <WeaponController>().DamageSkill = damageWeaponSkill;
            }
            else
            {
                mainWeapon.GetComponent <WeaponController>().DamageSkill = weapon.skillDamage;
            }

            weaponController = GetComponentInChildren <WeaponController>();
            if (ai)
            {
                ai.setWeaponController();
            }
        }
        else
        {
            weapon = weaponManager.weaponItem[0];

            GameObject mainWeapon;
            mainWeapon = Instantiate(weapon.weaponPrefab, weapon.position, Quaternion.identity) as GameObject;

            switch (weapon.equipSlots)
            {
            case EquipmentSlot.Head:
                mainWeapon.transform.SetParent(head);
                break;

            case EquipmentSlot.Hands:
                mainWeapon.transform.SetParent(hand);
                break;

            case EquipmentSlot.Legs:
                mainWeapon.transform.SetParent(leg);
                break;

            default:
                break;
            }

            mainWeapon.transform.localPosition = weapon.position;
            mainWeapon.transform.localRotation = Quaternion.Euler(weapon.rotation);
            mainWeapon.transform.localScale    = weapon.Scale;
            mainWeapon.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;
            mainWeapon.tag   = "weaponEnemy";
            mainWeapon.layer = 10;

            var tes = mainWeapon.GetComponentsInChildren <Collider2D>();
            for (int i = 0; i < tes.Length; i++)
            {
                tes[i].isTrigger = true;
            }

            /*mainWeapon.GetComponent<WeaponController>().DamageWeapon = weapon.damage;
             * mainWeapon.GetComponent<WeaponController>().DamageSkill = weapon.skillDamage;*/

            if (damageWeaponBase != 0)
            {
                mainWeapon.GetComponent <WeaponController>().DamageWeapon = damageWeaponBase;
            }
            else
            {
                mainWeapon.GetComponent <WeaponController>().DamageWeapon = weapon.damage;
            }

            if (damageWeaponSkill != 0)
            {
                mainWeapon.GetComponent <WeaponController>().DamageSkill = damageWeaponSkill;
            }
            else
            {
                mainWeapon.GetComponent <WeaponController>().DamageSkill = weapon.skillDamage;
            }

            weaponController = GetComponentInChildren <WeaponController>();
            if (ai)
            {
                ai.setWeaponController();
            }
        }
    }