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);
    }