Hello, I have created a wheel that spins and I want to show texts - #of spins, multiplier and amount won so far. After 5 spins for example are done the texts refresh. I can show the text but I don’t know how to count down after each spin is done. Basically when 5 spins are done the texts refresh to default.
Can I get a little help? Here is an example of what Im trying to do. In the video Bonus feature is activated which I’ve done and after each spin the text of spins decreases by 1. After 5 spins the text refresh and disappear. Starts after wheel turns around.
public class SpinWheel : MonoBehaviour
{
public Animator anim;
public List<int> prize;
public List<AnimationCurve> animationCurves;
[SerializeField] AudioClip[] sounds;
AudioSource myAudioSource;
public GameObject MainAudio;
string tagName = "SomeTag";
public AudioSource main;
public AudioClip respin;
public AudioClip dollar;
public AudioClip pachinko;
private bool spinning;
private float anglePerItem;
private int randomTime;
private int itemNumber;
void Start(){
MainAudio = GameObject.FindGameObjectWithTag (tagName);
main = MainAudio.GetComponent<AudioSource> ();
AudioSource audio = GetComponent<AudioSource> ();
myAudioSource = GetComponent<AudioSource> ();
anim.GetComponent<Animator> ();
spinning = false;
anglePerItem = 360/prize.Count;
}
void Update ()
{
if (Input.GetKeyDown (KeyCode.Space) && !spinning) {
randomTime = Random.Range (8, 15);
itemNumber = Random.Range (0, prize.Count);
float maxAngle = 360 * randomTime + (itemNumber * anglePerItem);
StartCoroutine (SpinTheWheel (3 * randomTime, maxAngle));
}
}
IEnumerator SpinTheWheel (float time, float maxAngle)
{
spinning = true;
float timer = 0.0f;
float startAngle = transform.eulerAngles.z;
maxAngle = maxAngle - startAngle;
int animationCurveNumber = Random.Range (0, animationCurves.Count);
Debug.Log ("Animation Curve No. : " + animationCurveNumber);
while (timer < time) {
//to calculate rotation
float angle = maxAngle * animationCurves [animationCurveNumber].Evaluate (timer / time) ;
transform.eulerAngles = new Vector3 (0.0f, 0.0f, angle + startAngle);
timer += Time.deltaTime;
yield return 0;
}
transform.eulerAngles = new Vector3 (0.0f, 0.0f, maxAngle + startAngle);
spinning = false;
Debug.Log ("Prize: " + prize [itemNumber]);//use prize[itemNumnber] as per requirement
if (prize [itemNumber] == 20) {
audio.PlayOneShot(pachinko);
anim.Play("gameshow");
}
}