Changing player color with a button doesn't work somehow
Hello, I am pretty new to Unity, and I started working on my own Among Us clone for me and my friends to play in a spare time. Unfortunately, I am currently stuck at player color customization. I've made a simple UI with colored buttons, a script connected to the UI, and I've got a whole player script. I was following a tutorial on YouTube, but unfortunately, it just doesn't work. The character is stuck at white. I intended to make it so that if the player chooses the color using the UI, it changes the whole character color to the one that was chosen. Here is PlayerColor.cs script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerColor : MonoBehaviour
{
[SerializeField] Color[] allColors;
public void SetColor(int colorIndex)
{
PlayerMove2.localPlayer.SetColor(allColors[colorIndex]);
}
}
Here are the PlayerMove.cs lines:
//Components
Rigidbody myRB;
Transform myAvatar;
Animator myAnim;
[SerializeField] InputAction WASD;
Vector2 movementInput;
[SerializeField] float movementSpeed;
//Player Color
static Color myColor;
SpriteRenderer myAvatarSprite;
void Start()
{
if (hasControl)
{
localPlayer = this;
}
myRB = GetComponent<Rigidbody>();
myAnim = GetComponent<Animator>();
myAvatar = transform.GetChild(0);
myAvatarSprite = myAvatar.GetComponent<SpriteRenderer>();
if (myColor == Color.clear)
myColor = Color.white;
myAvatarSprite.color = myColor;
}
public void SetColor(Color newColor)
{
myColor = newColor;
if (myAvatarSprite != null)
{
myAvatarSprite.color = myColor;
}
Perhaps the problem lies in Player prefab structure?
I was following this tutorial: https://youtu.be/X4k_INNzPiY?list=PLWeGoBm1YHVgCFibptBSJZM68sjwtAe8g
If I didn't provide enough info about my problem, feel free to point it out. Cheers :)
Your answer
Follow this Question
Related Questions
How can i reference The children of prefabs with buttons? 0 Answers
Is there a way a player can draw ingame 0 Answers
Read TMX File as TextAsset 1 Answer
EndLess 2D Game 0 Answers
Integrating Heart Rate Monitor Data 4 Answers