// Layout interface public void LayoutInterface(int newPlayer) { // Set interface playerIndex = newPlayer; // Get player GamePlayer player = null; if (playerIndex >= 0 && GameManager.instance.players != null && playerIndex < GameManager.instance.players.Count) { player = GameManager.instance.players[playerIndex]; } // Get character GameCharacter character = null; if (player != null && player.characterIndex >= 0 && player.characterIndex < GameManager.instance.gameData.characters.Length) { character = GameManager.instance.gameData.characters[player.characterIndex]; } // Set character icon & tints characterName.text = character == null ? "???" : character.characterName; PlayerCell.SetCharacterIcon(characterIcon, character == null ? null : character.characterIconTexture); foreach (Image t in characterTintables) { t.color = GameManager.instance.GetPlayerColor(playerIndex); } // Set Default Score LayoutScore(); // Set animation items playerPosition = _rect.anchoredPosition; Animate(true); }
// Refresh interface protected virtual void SetInterface(int playerIndex) { // Set player GamePlayer player = GameManager.instance.GetPlayer(playerIndex); playerLabel.text = "P" + (playerIndex + 1); // Set character GameCharacter character = GameManager.instance.gameData.characters[player.characterIndex]; characterLabel.text = character.characterName.ToUpper(); PlayerCell.SetCharacterIcon(characterIcon, character.characterIconTexture); // Set tints Color tint = GameManager.instance.GetPlayerColor(playerIndex); foreach (Graphic t in tintables) { t.color = tint; } // Set borders Texture2D texture = GameManager.instance.GetPlayerBorder(playerIndex); foreach (RawImage border in borders) { border.texture = texture; if (texture != null) { border.color = Color.white; border.uvRect = new Rect(0f, 0f, border.rectTransform.rect.width / (float)texture.width, border.rectTransform.rect.height / (float)texture.height); } else { border.color = Color.black; border.uvRect = new Rect(0f, 0f, 1f, 1f); } } // Set text outline tint.r *= playerBorderTint; tint.g *= playerBorderTint; tint.b *= playerBorderTint; playerLabel.fontMaterial.SetColor("_OutlineColor", tint); // Set match button _player = GameManager.instance.lastWinner; SetInputButton(2); }