private void OnPhotonInstantiate(PhotonMessageInfo messageInfo) { states = GetComponent <StateAction.StateManager> (); transformInstance = this.transform; object[] data = photonView.instantiationData; states.photonID = (int)data[0]; MultiplayerManager multiplayerManager = MultiplayerManager.Singleton; this.gameObject.transform.parent = multiplayerManager.MultiplayerReferences.referencesTransform; PlayerHolder playerHolder = multiplayerManager.MultiplayerReferences.GetPlayer(states.photonID); playerHolder.states = states; if (photonView.isMine) { states.currentState.isLocal = true; states.SetCurrentState(localState); initLocalPlayer.Execute(states); } else { string weaponID = (string)data[1]; states.inventory.weaponID = weaponID; states.currentState.isLocal = false; states.SetCurrentState(clientState); initClientPlayer.Execute(states); states.multiplayerListener = this; } }
public void RPCKillPlayer(int photonId, int killerId) { PlayerHolder playerHolder = MultiplayerReferences.GetPlayer(photonId); if (playerHolder.states != null) { playerHolder.states.KillPlayer(); } }
public void RPCSpawnPlayer(int photonId) { PlayerHolder playerHolder = MultiplayerReferences.GetPlayer(photonId); if (playerHolder.states != null) { playerHolder.states.SpawnPlayer(); } }
public void AddNewPlayer(NetworkPrint networkPrint) { networkPrint.transform.parent = MultiplayerReferences.referencesTransform; PlayerHolder holder = MultiplayerReferences.AddNewPlayer(networkPrint); if (networkPrint.isLocal) { MultiplayerReferences.localPlayer = holder; } }
public void RPCShootWeapon(int photonId, Vector3 direction, Vector3 origin) { if (photonId == MultiplayerReferences.localPlayer.photonID) { return; } PlayerHolder shooter = MultiplayerReferences.GetPlayer(photonId); if (shooter != null) { ballistics.ClientShoot(shooter.states, null, direction, origin); } }
public PlayerHolder AddNewPlayer(NetworkPrint networkPrint) { if (!IsUniquePlayer(networkPrint.photonId)) { return(null); } PlayerHolder playerHolder = new PlayerHolder() { photonID = networkPrint.photonId, networkPrint = networkPrint }; players.Add(playerHolder); return(playerHolder); }