public void changeWeaponRPC(int enumWeaponID, PhotonPlayer changer) { Weapon newWeapon = Weapon.availableWeapons[(AvailableWeapon)enumWeaponID]; Weapon oldWeapon = null; if (activeWeapon != null) { oldWeapon = activeWeapon.weapon; } if (newWeapon.weaponType == Weapon.WeaponType.main) { activeWeapon = primaryWeapon; GetComponent <PlayerGO>().playerAnim.SetBool("Weapon", true); GetComponent <PlayerGO>().playerAnim.SetBool("Pistol", false); } else if (newWeapon.weaponType == Weapon.WeaponType.additional) { activeWeapon = secondaryWeapon; GetComponent <PlayerGO>().playerAnim.SetBool("Weapon", false); GetComponent <PlayerGO>().playerAnim.SetBool("Pistol", true); } /* First Person model */ if (changer == PhotonNetwork.player) { shootCooldown = newWeapon.takeTime; if (weaponNameCoroutine != null) { StopCoroutine(weaponNameCoroutine); } weaponNameCoroutine = StartCoroutine(PlayerUI.fadeOutAfter(PlayerUI.weaponName)); PlayerUI.weaponName.CrossFadeAlpha(1f, 0f, true); PlayerUI.weaponName.text = activeWeapon.weapon.fullName; //włączamy model lokalny if (oldWeapon != null) { GetComponent <PlayerGO>().weaponHolderFP.Find(oldWeapon.name).gameObject.SetActive(false); } GetComponent <PlayerGO>().weaponHolderFP.Find(newWeapon.name).gameObject.SetActive(true); GetComponent <PlayerGO>().weaponsDrawSoundsAS.PlayOneShot(SoundsManager.weaponsDrawSounds[activeWeapon.weapon.Enum]); activeWeaponGO = GetComponent <PlayerGO>().weaponHolderFP.Find(newWeapon.name).gameObject; GetComponent <PlayerGO>().weaponHolderFP.Find(newWeapon.name).gameObject.transform.localPosition = newWeapon.hipPosition; } else { //MODEL TPS if (oldWeapon != null) { GetComponent <PlayerGO>().weaponHolderTP.Find(oldWeapon.name + "_tp").gameObject.SetActive(false); } Debug.Log(newWeapon.name + "_tp"); GetComponent <PlayerGO>().weaponHolderTP.Find(newWeapon.name + "_tp").gameObject.SetActive(true); } }
public static void giveWeapon(Player player, AvailableWeapon weaponEnum) { //Jeden gracz który dostaje calluje na innych //Callowane na pojedynczych graczach var weaponInGame = new WeaponInGame(); weaponInGame.id = WeaponInGame.lastID++; Weapon weapon = Weapon.availableWeapons[weaponEnum]; weaponInGame.weapon = weapon; weaponInGame.mag = weapon.magCapacity; weaponInGame.ammo = weapon.ammo; if (weaponInGame.weapon.weaponType == Weapon.WeaponType.main) { player.gameObject.GetComponent <WeaponsManager>().primaryWeapon = weaponInGame; } else if (weaponInGame.weapon.weaponType == Weapon.WeaponType.additional) { player.gameObject.GetComponent <WeaponsManager>().secondaryWeapon = weaponInGame; } player.gameObject.GetComponent <WeaponsManager>().changeWeaponRPC((int)weaponInGame.weapon.Enum, player.photonPlayer); }