public PlayerWeaponSpecial(Player pOwner, MapSpecialWeaponConfig pConfig) : base(pOwner, pConfig.Id, pConfig.InHandInfo, pConfig.VisualInfo) { prefab = pConfig.SpecialWeaponInfo.Prefab; //Game.Instance.PlayerManager.OnAllPlayersAdded.AddAction(InstantiatePrefab); InstantiatePrefab(); }
protected void InstantiatePrefab() { if (prefab == null) { Debug.LogError("Prefab not defined"); return; } Vector2 spawnPos = Owner.WeaponController.GetProjectileStart().position; prefabInstance = InstanceFactory.Instantiate(prefab.gameObject, spawnPos) .GetComponent <PlayerWeaponSpecialPrefab>(); if (!prefabInstance.Photon.IsMine) { Debug.LogError("Instance is not mine " + prefabInstance.name); prefabInstance.Photon.view.TransferOwnership(PhotonNetwork.LocalPlayer); } prefabInstance.Init(Owner); }