using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ShopManager : MonoBehaviour
{
[SerializeField] private Toggle defaultPlayerColorToggle;
[SerializeField] private Toggle defaultPlayerTrailColorToggle;
[SerializeField] private Toggle[] colorsToggle;
[SerializeField] private Toggle[] trailColorToggle;
[SerializeField] private ToggleGroup colorToggleGroup;
[SerializeField] private ToggleGroup trailColorToggleGroup;
[SerializeField] private Image[] trailExamplesImages;
[SerializeField] private Image lastTrailExampleImage;
[SerializeField] private Image[] playerColorExamples;
[SerializeField] private Image lastPlayerColorImage;
private Toggle currentColorToggle;
private Toggle currentTrailColorToggle;
Toggles.PlayerTrailColor playerTrailColor;
Toggles.PlayerColor playerColor;
// Start is called before the first frame update
void Start()
{
OnColorToggleClicked(defaultPlayerColorToggle);
OnTrailColorToggleClicked(defaultPlayerTrailColorToggle);
}
public void OnColorToggleClicked(Toggle toggle)
{
currentColorToggle = toggle;
if (currentColorToggle.isOn)
{
playerColor = toggle.GetComponent<Toggles>().playerColor;
currentColorToggle.interactable = false;
ChangePlayerColor();
Debug.Log(currentColorToggle);
}
else
{
currentColorToggle.interactable = true;
}
}
public void OnTrailColorToggleClicked(Toggle toggle)
{
currentTrailColorToggle = toggle;
if (currentTrailColorToggle.isOn)
{
playerTrailColor = toggle.GetComponent<Toggles>().playerTrailColor;
currentTrailColorToggle.interactable = false;
ChangeTrailColor();
Debug.Log(currentTrailColorToggle);
}
else
{
currentTrailColorToggle.interactable = true;
}
}
void ChangeTrailColor()
{
if (lastTrailExampleImage != null)
{
lastTrailExampleImage.gameObject.SetActive(false);
}
switch (playerTrailColor)
{
case Toggles.PlayerTrailColor.Grey:
trailExamplesImages[0].gameObject.SetActive(true);
lastTrailExampleImage = trailExamplesImages[0];
break;
case Toggles.PlayerTrailColor.Yellow:
trailExamplesImages[1].gameObject.SetActive(true);
lastTrailExampleImage = trailExamplesImages[1];
break;
case Toggles.PlayerTrailColor.Orange:
trailExamplesImages[2].gameObject.SetActive(true);
lastTrailExampleImage = trailExamplesImages[2];
break;
case Toggles.PlayerTrailColor.Green:
trailExamplesImages[3].gameObject.SetActive(true);
lastTrailExampleImage = trailExamplesImages[3];
break;
case Toggles.PlayerTrailColor.Pink:
trailExamplesImages[4].gameObject.SetActive(true);
lastTrailExampleImage = trailExamplesImages[4];
break;
case Toggles.PlayerTrailColor.Blue:
trailExamplesImages[5].gameObject.SetActive(true);
lastTrailExampleImage = trailExamplesImages[5];
break;
default:
Debug.Log("Color Not Found!");
break;
}
}
void ChangePlayerColor()
{
if (lastPlayerColorImage != null)
{
lastPlayerColorImage.gameObject.SetActive(false);
}
switch (playerColor)
{
case Toggles.PlayerColor.Orange:
playerColorExamples[0].gameObject.SetActive(true);
lastPlayerColorImage = playerColorExamples[0];
break;
case Toggles.PlayerColor.Yellow:
playerColorExamples[1].gameObject.SetActive(true);
lastPlayerColorImage = playerColorExamples[1];
break;
case Toggles.PlayerColor.Blue:
playerColorExamples[2].gameObject.SetActive(true);
lastPlayerColorImage = playerColorExamples[2];
break;
case Toggles.PlayerColor.Green:
playerColorExamples[3].gameObject.SetActive(true);
lastPlayerColorImage = playerColorExamples[3];
break;
case Toggles.PlayerColor.Pink:
playerColorExamples[4].gameObject.SetActive(true);
lastPlayerColorImage = playerColorExamples[4];
break;
case Toggles.PlayerColor.Grey:
playerColorExamples[5].gameObject.SetActive(true);
lastPlayerColorImage = playerColorExamples[5];
break;
default:
Debug.Log("Color Not Found!");
break;
}
}
}