public ColorChangeTask(GameObject obj, Color start, Color end, float time, ColorChangeType type) { Obj = obj; Start = start; End = end; ChangeTime = time; Type = type; }
// Start is called before the first frame update void Start() { renderers = GetComponentsInChildren <Renderer>(); texture = new Texture2D(defaultTexture.width, defaultTexture.height); texture.SetPixels(defaultTexture.GetPixels()); texture.Apply(); AttemptLoadPrefs(); foreach (Renderer renderer in renderers) { renderer.material.mainTexture = texture; } currentColorChangeType = ColorChangeType.MainBody1; mainBodyButton.onClick.AddListener(() => currentColorChangeType = ColorChangeType.MainBody1); mainBody2Button.onClick.AddListener(() => currentColorChangeType = ColorChangeType.MainBody2); mainBody3Button.onClick.AddListener(() => currentColorChangeType = ColorChangeType.MainBody3); secondaryButton.onClick.AddListener(() => currentColorChangeType = ColorChangeType.Secondary1); secondary2Button.onClick.AddListener(() => currentColorChangeType = ColorChangeType.Secondary2); secondary3Button.onClick.AddListener(() => currentColorChangeType = ColorChangeType.Secondary3); visorButton.onClick.AddListener(() => currentColorChangeType = ColorChangeType.Visor); }
public static ParallelTasks GetButtonAppearTask(GameObject BorderImage, GameObject InsideContent, ColorChangeType Type, float AppearTime) { ParallelTasks AppearTask = new ParallelTasks(); Color BorderImageColor = BorderImage.GetComponent <Image>().color; Color InsideContentColor; if (Type == ColorChangeType.Image) { InsideContentColor = InsideContent.GetComponent <Image>().color; AppearTask.Add(new ColorChangeTask(InsideContent, ColorWithAlpha(InsideContentColor, 0), ColorWithAlpha(InsideContentColor, 1), AppearTime, Type)); } else if (Type == ColorChangeType.Text) { InsideContentColor = InsideContent.GetComponent <Text>().color; AppearTask.Add(new ColorChangeTask(InsideContent, ColorWithAlpha(InsideContentColor, 0), ColorWithAlpha(InsideContentColor, 1), AppearTime, Type)); } AppearTask.Add(new ColorChangeTask(BorderImage, ColorWithAlpha(BorderImageColor, 0), ColorWithAlpha(BorderImageColor, 1), AppearTime, ColorChangeType.Image)); return(AppearTask); }
public static SerialTasks GetButtonSelectedDisappearTask(GameObject BorderImage, GameObject InsideContent, float StartScale, float EndScale, float InflationTime, float DeflationTime, ColorChangeType Type) { SerialTasks DisappearTask = new SerialTasks(); ParallelTasks InflationTask = new ParallelTasks(); InflationTask.Add(new ScaleChangeTask(BorderImage, StartScale, EndScale, InflationTime)); if (InsideContent != null) { InflationTask.Add(new ScaleChangeTask(InsideContent, StartScale, EndScale, InflationTime)); } DisappearTask.Add(InflationTask); ParallelTasks DeflationTask = new ParallelTasks(); DeflationTask.Add(new ScaleChangeTask(BorderImage, EndScale, StartScale, DeflationTime)); if (InsideContent != null) { DeflationTask.Add(new ScaleChangeTask(InsideContent, EndScale, StartScale, DeflationTime)); } Color BorderImageColor = BorderImage.GetComponent <Image>().color; Color InsideContentColor; if (Type == ColorChangeType.Image) { InsideContentColor = InsideContent.GetComponent <Image>().color; DeflationTask.Add(new ColorChangeTask(InsideContent, ColorWithAlpha(InsideContentColor, 1), ColorWithAlpha(InsideContentColor, 0), DeflationTime, Type)); } else if (Type == ColorChangeType.Text) { InsideContentColor = InsideContent.GetComponent <Text>().color; DeflationTask.Add(new ColorChangeTask(InsideContent, ColorWithAlpha(InsideContentColor, 1), ColorWithAlpha(InsideContentColor, 0), DeflationTime, Type)); } DeflationTask.Add(new ColorChangeTask(BorderImage, ColorWithAlpha(BorderImageColor, 1), ColorWithAlpha(BorderImageColor, 0), DeflationTime, ColorChangeType.Image)); DisappearTask.Add(DeflationTask); return(DisappearTask); }