Beispiel #1
0
        public void OnWeaponEquipped(WeaponItemRuntime weapon)
        {
            currentWeaponType = weapon.weaponItemData.weaponType;
            switch (currentWeaponType)
            {
            case WeaponType.RANGED:
                rangedWeaponItemRuntime = weapon as WeaponItemRuntimeRanged;
                break;

            case WeaponType.MELEE:
                meleeWeaponItemRuntime = weapon as WeaponItemRuntimeMelee;
                break;

            case WeaponType.THROWABLE:
                break;

            case WeaponType.FISTS:
                meleeWeaponItemRuntime = weapon as WeaponItemRuntimeMelee;
                break;
            }

            currentRuntimeWeapon = weapon;
            animController.SetAnimInt(animController.animData.weaponAnimID, weapon.weaponItemData.weaponAnimID);
            animController.PlayAnimationHash(animController.animData.getNewWeaponAnimationClass);
        }
        private void SetupFists()
        {
            WeaponFistsIdentifier fistsIdentifier = GetComponentInChildren <WeaponFistsIdentifier>();

            if (fistsIdentifier == null)
            {
                GameObject fistsGeoHolder = new GameObject();
                fistsGeoHolder.transform.SetParent(transform);
                fistsGeoHolder.transform.localPosition = Vector3.zero;
                fistsGeoHolder.transform.localRotation = Quaternion.identity;
                fistsGeoHolder.transform.localScale    = Vector3.one;
                fistsGeoHolder.gameObject.name         = "Fists Weapon Holder";
                fistsGeoHolder.AddComponent <WeaponFistsIdentifier>();
            }

            WeaponItemRuntimeMelee fistsMeleeRuntime = GetComponentInChildren <WeaponFistsIdentifier>().GetComponent <WeaponItemRuntimeMelee>();

            if (fistsMeleeRuntime == null)
            {
                fistsMeleeRuntime = GetComponentInChildren <WeaponFistsIdentifier>().gameObject.AddComponent <WeaponItemRuntimeMelee>();
            }

            if (isPlayer == true)
            {
                fistsMeleeRuntime.isPlayerWeapon   = true;
                fistsMeleeRuntime.gameObject.layer = 18;
            }
            else
            {
                fistsMeleeRuntime.isPlayerWeapon   = false;
                fistsMeleeRuntime.gameObject.layer = 13;
            }

            fistsMeleeRuntime.weaponItemData = Resources.Load("Weapons/Weapon Types/Weapon_Melee_Fists") as WeaponItem;
            fistsMeleeRuntime.attackColliders.Clear();

            BoxCollider rightHandCollider = rightHand.GetComponent <BoxCollider>();

            if (rightHandCollider == null)
            {
                rightHandCollider         = rightHand.gameObject.AddComponent <BoxCollider>();
                rightHandCollider.center  = new Vector3(0.066f, -0.015f, -0.012f);
                rightHandCollider.size    = new Vector3(0.383f, 0.163f, 0.112f);
                rightHandCollider.enabled = false;

                WeaponMeleeAttackCollider attackColliderRight = rightHand.gameObject.AddComponent <WeaponMeleeAttackCollider>();
                attackColliderRight.meleeItem = fistsMeleeRuntime;
                fistsMeleeRuntime.attackColliders.Add(attackColliderRight);
            }

            BoxCollider leftHandCollider = leftHand.GetComponent <BoxCollider>();

            if (leftHandCollider == null)
            {
                leftHandCollider         = leftHand.gameObject.AddComponent <BoxCollider>();
                leftHandCollider.center  = new Vector3(-0.041f, -0.040f, 0.0104f);
                leftHandCollider.size    = new Vector3(0.366f, 0.1251f, 0.170f);
                leftHandCollider.enabled = false;

                WeaponMeleeAttackCollider attackColliderLeft = leftHand.gameObject.AddComponent <WeaponMeleeAttackCollider>();
                attackColliderLeft.meleeItem = fistsMeleeRuntime;
                fistsMeleeRuntime.attackColliders.Add(attackColliderLeft);
            }
        }
Beispiel #3
0
 void EquipMeleeWeapon()
 {
     meleeWeaponRuntime = currentWeaponRuntime as WeaponItemRuntimeMelee;
 }