public void SpawnPlayer(SpawnDto data) { if (!PhotonNetwork.isMasterClient) { data.local = !data.local; } GridGenerator grid = GridGenerator.Instance; Vector3 v = grid.GetCellFomIndex(data.indexCell); Quaternion r = Quaternion.identity; if (data.local) { LocalPlayer.PlayerTeam.Characters[data.pos].Visual = parent.My_Instantiate(_availableModels.First(x => x.name == LocalPlayer.PlayerTeam.Characters[data.pos].PrefabName), v, r); LocalPlayer.PlayerTeam.Characters[data.pos].SetPositionOnGrid(grid.GetGridPositionFromIndex(data.indexCell)); } else { OtherPlayer.PlayerTeam.Characters[data.pos].Visual = parent.My_Instantiate(_availableModels.First(x => x.name == OtherPlayer.PlayerTeam.Characters[data.pos].PrefabName), v, r); OtherPlayer.PlayerTeam.Characters[data.pos].SetPositionOnGrid(grid.GetGridPositionFromIndex(data.indexCell)); } if (data.last) { SendLastSpawn(); } }
private void SendSpawnPlayer(SpawnDto data) { byte evCode = (byte)ConnectorPhoton.EventCode.EvSpawnPlayer; string content = JsonUtility.ToJson(data); bool reliable = true; PhotonNetwork.RaiseEvent(evCode, content, reliable, new RaiseEventOptions() { CachingOption = EventCaching.DoNotCache, Receivers = ReceiverGroup.All }); }