private void SendPlayerUpdate(ITAlertPlayer player) { _photonClient.CurrentRoom.Messenger.SendMessage(new UpdatePlayerMessage <ITAlertPlayer> { Player = player }); }
private void ShowEndGameScore(TeamScoringSystem teamScoringSystem, List <ITAlertPlayer> players) { var parent = _teamScoresParent.transform; foreach (Transform t in parent) { Destroy(t.gameObject); } var playerScores = teamScoringSystem.GetPlayerScores(); var multiplier = teamScoringSystem.GetAverageHealth(); var finalScore = teamScoringSystem.GetTeamScore(); foreach (var scores in playerScores) { var playerbehaviours = GameObjectUtilities.FindGameObject("Game").GetComponentsInChildren <PlayerBehaviour>().ToDictionary(p => p.Id, p => p.PhotonId); playerbehaviours.TryGetValue(scores.PlayerEntityId, out var playerPhotonId); var player = players.FirstOrDefault(p => p.PhotonId == playerPhotonId); if (player == null) { player = new ITAlertPlayer() { Colour = "#FFFFFF", Name = "Temp Player" }; } CreateScoreObject(parent, player.Name, scores.PublicScore.ToString(), player.Colour); } // now create the multiplier object var multiplierObj = parent.transform.parent.Find("Multiplier").gameObject; SetupScoreObject(multiplierObj, Localization.Get("GAME_OVER_MULTIPLIER"), multiplier.ToString(Localization.SpecificSelectedLanguage)); // Finally create the final score object var finalScoreObj = parent.transform.parent.Find("FinalScore").gameObject; SetupScoreObject(finalScoreObj, Localization.Get("GAME_OVER_FINAL_SCORE"), finalScore.ToString(Localization.SpecificSelectedLanguage)); parent.gameObject.BestFit(); multiplierObj.BestFit(); finalScoreObj.BestFit(); }
private void UpdatePlayerVoiceItem(ITAlertPlayer player, PlayerVoiceItem playerVoiceItem) { if (ColorUtility.TryParseHtmlString(player.Colour, out var colour)) { playerVoiceItem.NameText.color = colour; playerVoiceItem.ScoreText.color = colour; playerVoiceItem.VoiceIcon.color = colour; playerVoiceItem.ScoreIncrementText.color = colour; if (PhotonNetwork.player.ID == player.PhotonId && PlatformUtils.IsMobile) { UpdatePressToTalkButton(colour); } } if (playerVoiceItem.NameText.text != player.Name) { playerVoiceItem.NameText.GetComponent <TextCutoff>().text = player.Name; } }
//public void ShowErrorPopup(string msg) //{ // // Show error on popup // var errorPanel = UnityEngine.Object.Instantiate(Resources.Load("ErrorContentPanel")) as GameObject; // var errorMsg = errorPanel.transform.GetChild(1).GetComponent<UnityEngine.UI.Text>(); // errorMsg.text = msg; // _popupBehaviour.ClearContent(); // _popupBehaviour.SetPopup(Localization.Get("ERROR_LABEL_TITLE"), new[] {new PopupBehaviour.Output(Localization.Get("ERROR_BUTTON_CLOSE"), null)}, PopupClosed); // _popupBehaviour.SetContent(errorPanel.GetComponent<RectTransform>()); // _popupPanel.gameObject.SetActive(true); //} //public void ShowLoadingPopup( /*UnityAction cancelAction = null*/) //{ // // Show the loading popup along with a button to cancel // var loadingPanel = UnityEngine.Object.Instantiate(Resources.Load("LoadingContentPanel")) as GameObject; // _popupBehaviour.ClearContent(); // _popupBehaviour.SetPopup("", null, PopupClosed); // _popupBehaviour.SetContent(loadingPanel.GetComponent<RectTransform>()); // _popupPanel.gameObject.SetActive(true); //} //public void HideLoadingPopup() //{ // PopupClosed(); //} public void ShowColorPickerPopup(Action <PlayerColour> callback, IEnumerable <ITAlertPlayer> players, ITAlertPlayer currentPlayer) { var colorPanel = UnityEngine.Object.Instantiate(Resources.Load("ColorPickerContentPanel")) as GameObject; if (colorPanel != null) { colorPanel.name = "ColorPickerContentPanel"; _popupBehaviour.ClearContent(); _colourPickerBehaviour = colorPanel.GetComponent <ColourPickerBehaviour>(); _colourPickerBehaviour.GenerateColorPicker(players.ToList(), currentPlayer); _photonClient.CurrentRoom.PlayerListUpdatedEvent += _colourPickerBehaviour.UpdateSelectedGlyphs; _popupBehaviour.SetPopup(Localization.Get("ICON_PICKER_LABEL_TITLE"), new[] { new PopupBehaviour.Output(Localization.Get("ICON_PICKER_BUTTON_CANCEL"), null), new PopupBehaviour.Output(Localization.Get("ICON_PICKER_BUTTON_SELECT"), () => ColorCallback(callback)) }, PopupClosed ); _popupBehaviour.SetContent(colorPanel.RectTransform()); } _popupPanel.gameObject.SetActive(true); }
public void GenerateColorPicker(List <ITAlertPlayer> players, ITAlertPlayer currentPlayer) { _currentPlayer = currentPlayer; _playerColour = new PlayerColour { Colour = currentPlayer.Colour ?? "#ffffff", Glyph = currentPlayer.Glyph }; _playerGlyphs = new Dictionary <string, PlayerGlyph>(); if (_colourPickerRow != null && _colourPickerObject != null) { return; } _colourPickerObject = Resources.Load <GameObject>("ColorPickerObject"); _colourPickerRow = Resources.Load <GameObject>("ColorPickerRow"); const int cols = 3; var rows = Mathf.CeilToInt((float)PlayerColour.Glyphs.Length / cols); var index = 0; for (var i = 0; i < rows; i++) { if (index >= PlayerColour.Glyphs.Length) { continue; } var row = Instantiate(_colourPickerRow); row.transform.SetParent(_colourPickerPanel.transform, false); for (var j = 0; j < cols; j++) { if (index >= PlayerColour.Glyphs.Length) { continue; } var glyphName = PlayerColour.Glyphs[index]; var colourPickerEntry = Instantiate(_colourPickerObject); colourPickerEntry.transform.SetParent(row.transform, false); var image = colourPickerEntry.GetComponent <Image>(); var sprite = Resources.Load <Sprite>($"playerglyph_{glyphName}"); var iconImage = colourPickerEntry.transform.FindImage("Icon"); iconImage.sprite = sprite; var button = colourPickerEntry.GetComponent <Button>(); button.onClick.AddListener(delegate { SetGlyph(glyphName); }); index++; _playerGlyphs.Add(glyphName, new PlayerGlyph { Button = button, Image = image }); } UpdateSelectedGlyphs(players); } }