3using System.Collections;
15 private Vector2 originalSize;
16 private Vector3 originalPosition;
19 private readonly
Color onColor =
new Color(1f, 1f, 1f, 1f),
20 offColor =
new Color(1f, 1f, 1f, 0.2f);
21 private readonly
Color blueColor =
new Color(0f, 38f/255f, 137f/255f, 1f),
22 whiteColor =
new Color(1f, 1f, 1f, 1f);
25 private readonly
Color onColor =
new Color(57/255f, 190/255f, 187/255f, 1f),
26 offColor =
new Color(1f, 1f, 1f, 1f);
28 private readonly
Color onColor =
new Color(0.2235294f, 0.6352941f, 0.8941177f, 1f),
29 offColor =
new Color(.0f, .0f, .0f, 1f);
34 originalSize =
panel.GetComponent<RectTransform>().sizeDelta;
35 originalPosition =
panel.GetComponent<RectTransform>().localPosition;
41 panel.transform.SetAsLastSibling();
44 block.normalColor =
panel.activeInHierarchy ? onColor : offColor;
48 var cg =
panel.GetComponent<CanvasGroup>();
51 cg.alpha = Mathf.Abs(alpha - 1);
52 cg.blocksRaycasts = cg.alpha == 1f;
53 cg.interactable = cg.alpha == 1f;
55 panel.transform.SetAsLastSibling();
58 block.normalColor = cg.alpha == 1f ? onColor : offColor;
66 panel.transform.SetAsLastSibling();
73 var cg =
panel.GetComponent<CanvasGroup>();
76 cg.alpha = Mathf.Abs(alpha - 1);
77 cg.blocksRaycasts = cg.alpha == 1f;
78 cg.interactable = cg.alpha == 1f;
80 panel.transform.SetAsLastSibling();
83 block.normalColor = cg.alpha == 1f ? onColor : offColor;
108 StartCoroutine(showHidePanel(!
panel.transform.Find(
"Window Title Bar").gameObject.activeInHierarchy));
109 panel.transform.SetAsLastSibling();
112 block.normalColor =
panel.activeInHierarchy ? onColor : offColor;
116 var cg =
panel.GetComponent<CanvasGroup>();
117 var alpha = cg.alpha;
119 cg.alpha = Mathf.Abs(alpha - 1);
120 cg.blocksRaycasts = cg.alpha == 1f;
121 cg.interactable = cg.alpha == 1f;
123 panel.transform.SetAsLastSibling();
126 block.normalColor = cg.alpha == 1f ? onColor : offColor;
130 IEnumerator showHidePanel(
bool show)
133 float duration = 0.75f;
134 RectTransform rt =
panel.GetComponent<RectTransform>();
135 Vector2 targetSize = rt.sizeDelta;
136 Vector3 targetPos = rt.localPosition;
137 var canvaspos = GetComponentInParent<Canvas>().GetComponent<RectTransform>().localPosition;
141 var asd = rt.anchorMin;
142 if (rt.anchorMin.x == 1)
144 targetPos.x = canvaspos.x;
148 targetPos.x = -canvaspos.x;
155 targetPos.y = -canvaspos.y;
158 while (time <= duration)
160 time += Time.deltaTime;
163 rt.sizeDelta =
Vector2.Lerp(rt.sizeDelta, targetSize, time / duration);
164 rt.localPosition =
Vector3.Lerp(rt.localPosition, targetPos, time / duration);
169 rt.sizeDelta =
Vector2.Lerp(rt.sizeDelta, originalSize, time / duration);
170 rt.localPosition =
Vector3.Lerp(rt.localPosition, originalPosition, time / duration);
175 if (
panel.transform.Find(
"Window Title Bar").gameObject.activeInHierarchy) GetComponent<Image>().sprite =
showImage;
176 else GetComponent<Image>().sprite =
hideImage;
177 panel.transform.Find(
"Window Title Bar").gameObject.SetActive(!
panel.transform.Find(
"Window Title Bar").gameObject.activeInHierarchy);
179 private void SetColor()
183 var iconColor =
selectable.gameObject.transform.GetChild(0).GetComponent<
Image>().color;
184 if (
panel.activeInHierarchy)
186 imageColor = whiteColor;
187 iconColor = blueColor;
192 imageColor = blueColor;
193 iconColor = whiteColor;
196 selectable.gameObject.transform.GetChild(0).GetComponent<
Image>().color = iconColor;
System.Drawing.Image Image
GameObject panel
The panel to enable / disable with this toggle.
void ModeSelectorToggle()