В Awake
получите ссылку на средство визуализации GameObject
:
private Renderer rend;
void Awake() {
rend = GetComponent<Renderer>();
}
Сохраните красный, синий, зеленый и - если вам это нужно - альфа-каналы цвета в качестве различных параметров с плавающей запятой:
// Saving
if (GUI.Button(new Rect(700, 330, 50, 30), "Save"))
{
Color colorOfObject = rend.material.GetColor("_Color");
PlayerPrefs.SetFloat("rValue", colorOfObject.r);
PlayerPrefs.SetFloat("gValue", colorOfObject.g);
PlayerPrefs.SetFloat("bValue", colorOfObject.b);
PlayerPrefs.SetFloat("aValue", colorOfObject.a);
}
А затем, чтобы загрузить его, используйте GetFloat
соответственно:
// Loading
if (GUI.Button(new Rect(770, 330, 50, 30), "Load"))
{
Color defaultColor = Color.red;
Color colorOfObject = new Color(
PlayerPrefs.GetFloat("rValue", defaultColor.r),
PlayerPrefs.GetFloat("gValue", defaultColor.g),
PlayerPrefs.GetFloat("bValue", defaultColor.b),
PlayerPrefs.GetFloat("aValue", defaultColor.a)
);
rend.material.SetColor("_Color", colorOfObject);
}