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); } }
void EquipMeleeWeapon() { meleeWeaponRuntime = currentWeaponRuntime as WeaponItemRuntimeMelee; }