public void Init() { LeaderboardTableCell cell = GetComponent <LeaderboardTableCell>(); foreach (FieldInfo info in cell.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic)) { info.SetValue(this, info.GetValue(cell)); } Destroy(cell); reuseIdentifier = "PlayerCell"; if (_buttonStrokeSprite == null) { _buttonStrokeSprite = Resources.FindObjectsOfTypeAll <Sprite>().First(x => x.name == "RoundRectSmallStroke"); } _playerNameText.rectTransform.anchoredPosition = new Vector2(12f, 0f); _playerSpeakerIcon = new GameObject("Player Speaker Icon", typeof(Canvas), typeof(CanvasRenderer)).AddComponent <Image>(); _playerSpeakerIcon.GetComponent <Canvas>().renderMode = RenderMode.WorldSpace; _playerSpeakerIcon.rectTransform.SetParent(transform); _playerSpeakerIcon.rectTransform.localScale = new Vector3(0.05f, 0.05f, 0.05f); _playerSpeakerIcon.rectTransform.pivot = new Vector2(0.5f, 0.5f); _playerSpeakerIcon.rectTransform.anchoredPosition = new Vector2(-38f, 0f); _playerSpeakerIcon.sprite = Sprites.speakerIcon; _playerSpeakerIcon.material = Sprites.NoGlowMat; _transferHostButton = BeatSaberUI.CreateUIButton(transform as RectTransform, "CancelButton", new Vector2(14f, 0f), new Vector2(14f, 6f), () => { if (buttonsInterface != null) { buttonsInterface.TransferHostButtonWasPressed(playerInfo); } }, "PASS\nHOST"); _transferHostButton.ToggleWordWrapping(false); _transferHostButton.SetButtonTextSize(3.25f); _transferHostButton.GetComponentsInChildren <UnityEngine.UI.Image>().First(x => x.name == "Stroke").sprite = _buttonStrokeSprite; _transferHostButtonEnabled = true; _muteButton = BeatSaberUI.CreateUIButton(transform as RectTransform, "CancelButton", new Vector2(30f, 0f), new Vector2(14f, 6f), () => { if (buttonsInterface != null) { buttonsInterface.MuteButtonWasPressed(playerInfo); } }, "MUTE"); _isMuted = false; _muteButton.ToggleWordWrapping(false); _muteButton.GetComponentsInChildren <UnityEngine.UI.Image>().First(x => x.name == "Stroke").sprite = _buttonStrokeSprite; _muteButtonEnabled = true; _scoreText.overflowMode = TextOverflowModes.Overflow; _scoreText.enableWordWrapping = false; }
public void Refresh(bool selected, bool highlighted) { if (playerInfo != null) { playerName.text = playerInfo.playerName; playerName.color = playerInfo.updateInfo.playerNameColor; passHostButton.onClick.RemoveAllListeners(); passHostButton.onClick.AddListener(() => _buttonsInterface.TransferHostButtonWasPressed(playerInfo)); muteButton.onClick.RemoveAllListeners(); muteButton.onClick.AddListener(() => _buttonsInterface.MuteButtonWasPressed(playerInfo)); } _isInitialized = true; }