C# Making three seperate functions regarding to color sliders into one
So im trying to simplify a a script that adjust the speed of the model's rotation and color with sliders:
private float c1; // the three color values for the three color sliders : Red, Green and Blue
private float c2;
private float c3;
public ChangeColour cC; // class object to change the color value
public RotateFree r; // class object to rotate the model
void Start()
{
c1 = 1f;
c2 = 1f;
c3 = 1f;
}
// Update is called once per frame
public void UpdateR(float rotation) // Update the rotation value from the AnglerPerSec value
{
r.anglePerSec = rotation;
}
public void UpdateC() //Update the color based on the value of each color slider
{
cC.Change(new Color(c1, c2, c3));
}
public void UpdateCR(float r) //Update the "RED" value
{
c1 = r;
UpdateC();
}
public void UpdateCG(float g) //Update the "GREEN" value
{
c2 = g;
UpdateC();
}
public void UpdateCB(float b) //Update the "BLUE" value
{
c3 = b;
UpdateC();
}
Now what I have here already works, as Unity will let me select the "update CR,CG,CB" functions as dynamic function events for my 3 sliders. However I want to know if there is a way to shorten those 3 functions in one?
I tried to write it as
public void UpdateRGB(float r, float g, float b)
{
c1 = r;
c2 = g;
c3 = b;
UpdateC();
}
I've also tried "UpdateC(r,g,b);" and "Update(c1,c2,c3);" but after I save/attached the code, and try to select those functions in the event section for my 3 sliders, neither UpdateRGB nor Update C will show up in the dynamic function selection. Am I doing something wrong here?
Your answer
Follow this Question
Related Questions
RGBA Slider Controls for lighting 0 Answers
Changing color of material when lit by directional light 0 Answers
Unable to use Functions from another script [C#] READ THRU MANY Q&As but STILL not working 1 Answer
Why is a string reference different to a string? 1 Answer
Im having trouble figuring out a way to make these two functions work. 1 Answer