public void DeletePlayerAndInfo() { currentPlayer = null; Destroy(playerPref); Destroy(playerInfo); darkBody.SetActive(true); }
private void SpawnBody(PaintBallPlayer player) { { //turn off dark body darkBody.SetActive(false); //instattiate body from dobyConf GameObject bodyPref = ScriptableList <BodyConfig> .instance.GetItemByID(player.bodyConfigID).game_body_prefab; GameObject nakedBody = Instantiate(bodyPref, spawnPlaceHolder.transform.position, spawnPlaceHolder.transform.rotation, spawnPlaceHolder.transform); //add component SkinsManager var skinsManager = nakedBody.AddComponent <SkinsManager>(); //skinsmanag.initializeFields ???? skinsManager.InitializeFields(nakedBody.transform); //put on clothes from our field skinsManager.PutOnClothes(player.clothesConfig); playerPref = nakedBody; currentPlayer = player; Destroy(skinsManager); } }
void InitializeSpawnedPlayer(GameObject player, PaintBallPlayer paintBallPlayer) { myPlayer = paintBallPlayer; //save for later if (!photon.IsMine) //if photon isnot ours, disable cam { GameObject playerCam = player.GetComponentInChildren <PlayerCamera>().gameObject; playerCam.SetActive(false); } //in skins manager change gameMode to paintball player.GetComponent <SkinsManager>()._gameMode = GameMode.Paintball; PlayerTeam playerTeam = player.GetComponent <PlayerTeam>(); var myTeam = PaintBallTeamManager.Instance.GetTeamByIndex(paintBallPlayer.teamIndex); Color teamColor; ColorUtility.TryParseHtmlString("#" + myTeam.hexColor, out teamColor); teamCol = teamColor; playerTeam.InitializePlayerTeam(myTeam, teamColor); DisablePlayer(); //don't move and shoot before start }
void SetPlayerTeamAndNickName(PaintBallPlayer player, Color teamCol) { teamCanvasGO.SetActive(true); var playerTMinfo = teamCanvasGO.GetComponent <PlayerTeamInfo>(); playerTMinfo.Initialize(player.nickName, teamCol); }
public void JoinTeam(PaintBallPlayer newPlayer) { if (playersInTeam.Count < playersMax) { playersInTeam.Add(newPlayer); /* Debug.Log("PLAYER :" + newPlayer.nickName + "JOINED " + teamName.ToString() + " TEAM!");*/ } }
private GameObject PickStartSpawnPoint(PaintBallPlayer player) { //we take pedestal index as spawnpoint PaintBallSpawnPoint point = spawnPoints.Where(x => x.startSpawnIndex == player.myPedestalIndex).ToList()[0]; //pick random one return(point.gameObject); }
private void SpawnPlayerInfo(PaintBallPlayer player) { //spawn info in placeholder /*var newInfo = PhotonNetwork.Instantiate(playerInfoRectPrefab.name, infoPlaceHolder.transform.position , Quaternion.identity, 0, null, infoCanvas.transform);*/ var newInfo = Instantiate(playerInfoRectPrefab, infoPlaceHolder.transform.position, Quaternion.identity, infoCanvas.transform); newInfo.GetComponent <InfoPlayer>().Initialize(player.nickName, player.nickName == SaveManager.Instance.GetNickName(), infoPlaceHolder); //we check if our player is target player playerInfo = newInfo; }
void SendLocalPlayerDataToMaster() { SaveManager saveManager = SaveManager.Instance; PaintBallPlayer newPlayerToJoin = new PaintBallPlayer(saveManager.LoadBody().ConfigId, saveManager.LoadClothesSet(saveManager.LoadBody().gender.ToString() + GameMode.Paintball.ToString()), saveManager.GetNickName()); ExitGames.Client.Photon.Hashtable customProperties = new ExitGames.Client.Photon.Hashtable(); customProperties.Add("newPlayerToJoin", JsonConvert.SerializeObject(newPlayerToJoin)); PhotonNetwork.LocalPlayer.SetCustomProperties(customProperties); }
public void OnPhotonInstantiate(PhotonMessageInfo info) { var customProps = info.Sender.CustomProperties; if (customProps["playerWithTeam"] != null) { string newPlayer = customProps["playerWithTeam"].ToString(); PaintBallPlayer spawnedPlayer = JsonConvert.DeserializeObject <PaintBallPlayer>(newPlayer); InitializeSpawnedPlayer(gameObject, spawnedPlayer); } else { Debug.LogError("Dont have key [playerWithTeam] in custom props"); } }
private void OnNewPlayerJoins(string playerWithTeam) { PaintBallPlayer player = JsonConvert.DeserializeObject <PaintBallPlayer>(playerWithTeam); var newTeam = paintBallTeamManager.AddPlayerToTeam(player.teamIndex, player); var pedestal = player.GetTeamPedestal(newTeam); var pedestalController = pedestal.GetComponent <PedestalController>(); pedestalController.SpawnPlayerAndInfo(player); player.myPedestalIndex = pedestalController.pedestalID; //if the player who joined is ours, add this player as my player for future if (player.photonActorNumber == PhotonNetwork.LocalPlayer.ActorNumber) { paintBallTeamManager.SetMyPlayerAndMyTeam(player, newTeam); } }
/* private void SpawnNewPlayerForClients(Player targetPlayer, ExitGames.Client.Photon.Hashtable changedProps) * { * if (!paintBallTeamManager.PlayerIsInTeam(targetPlayer.ActorNumber*//*.ToString()*//*)) * { * string playerJson = changedProps["newPlayerWithTeam"].ToString(); * PaintBallPlayer finalPlayer = JsonConvert.DeserializeObject<PaintBallPlayer>(playerJson); * int teamIndex = (int)changedProps["teamIndex"]; * * OnNewPlayerJoins(finalPlayer, teamIndex); * } * }*/ private void PickTeamForNewPlayer(Player targetPlayer, ExitGames.Client.Photon.Hashtable changedProps) { if (paintBallTeamManager.LookForEmptySlot() && !paintBallTeamManager.PlayerIsInTeam(targetPlayer.ActorNumber /*.ToString()*/)) // { string newPlayerJSON = changedProps["newPlayerToJoin"].ToString(); PaintBallPlayer player = JsonConvert.DeserializeObject <PaintBallPlayer>(newPlayerJSON); player.SetTeam(paintBallTeamManager.PickTeam()); //Master fills empty fields for new player player.photonActorNumber = targetPlayer.ActorNumber; string playerWithTeam = JsonConvert.SerializeObject(player); changedProps.Add("playerWithTeam", playerWithTeam); targetPlayer.SetCustomProperties(changedProps); /* SetTeamsToRoomProps();*/ photon.RPC("OnNewPlayerJoins", RpcTarget.All, playerWithTeam); } }
public PaintBallTeam AddPlayerToTeam(int teamIndex, PaintBallPlayer player) { PaintBallTeam playerNewTeam = null; foreach (var team in teams) { if (team.teamIndex == teamIndex) { playerNewTeam = team; playerNewTeam.JoinTeam(player); } } if (playerNewTeam == null) { Debug.LogError("CannotFind team by index"); return(null); } else { return(playerNewTeam); } }
private void Initialize() { if (PhotonNetwork.IsConnectedAndReady) { if (photon.IsMine) //we spawn body for our player { currentBodyConfig = saveManager.LoadBody(); ApplyBodyConfig(currentBodyConfig); } else if (!photon.IsMine && photon.Owner != null) //we spawn other player bodies { var playerProps = photon.Owner.CustomProperties; string PlayerBodySTR = playerProps["playerWithTeam"].ToString(); PaintBallPlayer player = JsonConvert.DeserializeObject <PaintBallPlayer>(PlayerBodySTR); ApplyBodyConfig(player.bodyConfigID); } } //we just spawn locally else if (saveManager.LoadBody() != null) { currentBodyConfig = saveManager.LoadBody(); ApplyBodyConfig(currentBodyConfig); } }
public void SpawnPlayerAndInfo(PaintBallPlayer player) { SpawnBody(player); SpawnPlayerInfo(player); }
public void SetMyPlayerAndMyTeam(PaintBallPlayer player, PaintBallTeam team) { myPlayer = player; myTeam = team; }
public void RemoveFromTeam(PaintBallPlayer player) { playersInTeam.Remove(player); }