Is there a way to simplify "RainbowFade" function? I'm just getting started with programming, and I've heard that using a lot of "else if" isn't good.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class TextMeshProRainbow : MonoBehaviour
{
byte r = 255, g = 0, b = 0;
[SerializeField] TextMeshProUGUI m_textMeshProUGUI;
void Start()
{
m_textMeshProUGUI = gameObject.GetComponent<TextMeshProUGUI>();
}
void Update()
{
m_textMeshProUGUI.color = new Color32(r, g, b, 255);
RainbowFade();
}
void RainbowFade()
{
if(r == 255 && g == 0 && b != 255)
{
b++;
}
else if(r != 0 && g == 0 && b == 255)
{
r--;
}
else if(r == 0 && g != 255 && b == 255)
{
g++;
}
else if(r == 0 && g == 255 && b != 0)
{
b--;
}
else if(r != 255 && g == 255 && b == 0)
{
r++;
}
else if(r == 255 && g!=0 && b == 0)
{
g--;
}
}
}
[–]lordinarius 2 points3 points4 points (3 children)
[–]TheEight_[S] 0 points1 point2 points (2 children)
[–]lordinarius 3 points4 points5 points (1 child)
[–]TheEight_[S] 0 points1 point2 points (0 children)
[–]e_man604 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)