2using System.Collections;
3using System.Collections.Generic;
4using System.Reflection;
14 pb_GUIUtility.AddVerticalLayoutGroup(gameObject);
15 foreach(PropertyInfo prop
in pb_Reflection.GetSerializableProperties(
target.GetType(), BindingFlags.Instance | BindingFlags.Public))
20 pb_TypeInspector typeInspector = pb_InspectorResolver.AddTypeInspector(
target, transform, property : prop);
21 typeInspector.onTypeInspectorSetValue = this.OnTypeInspectorSetValue;
23 foreach(FieldInfo fil
in target.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public))
28 if (fil.Name ==
"stage")
30 pb_TypeInspector typeInspector = pb_InspectorResolver.AddTypeInspector(
target, transform, field : fil);
31 typeInspector.onTypeInspectorSetValue = this.OnTypeInspectorSetValue;
35 var toggles =
new GameObject(
"Toggles");
36 var group = toggles.AddComponent<ToggleGroup>();
37 var hlg = toggles.AddComponent<HorizontalLayoutGroup>();
39 group.allowSwitchOff =
false;
42 var toggle1 =
new GameObject(
"Toggle1");
43 var stage1 = toggle1.AddComponent<Toggle>();
44 var t1img = toggle1.AddComponent<
Image>();
45 t1img.color =
new Color(82f/255f,82f/255f,82f/255f,204f/255f);
46 var tcm1 =
new GameObject(
"ToggleCheckmark");
47 tcm1.transform.SetParent(toggle1.transform);
48 var tcmi1 = tcm1.AddComponent<
Image>();
49 tcm1.GetComponent<RectTransform>().offsetMax = Vector2.zero;
50 tcm1.GetComponent<RectTransform>().offsetMin = Vector2.zero;
51 tcm1.GetComponent<RectTransform>().anchorMin = Vector2.zero;
52 tcm1.GetComponent<RectTransform>().anchorMax = Vector2.one;
53 tcmi1.sprite = GameObject.Find(
"Checkmark").GetComponent<
Image>().sprite;
54 t1img.sprite = GameObject.Find(
"Background").GetComponent<
Image>().sprite;
55 stage1.graphic = tcmi1;
57 stage1.toggleTransition = Toggle.ToggleTransition.Fade;
58 stage1.targetGraphic = t1img;
59 var toggle2 =
new GameObject(
"Toggle2");
60 var stage2 = toggle2.AddComponent<Toggle>();
61 var t2img = toggle2.AddComponent<
Image>();
62 t2img.color =
new Color(82f/255f,82f/255f,82f/255f,204f/255f);
63 var tcm2 =
new GameObject(
"ToggleCheckmark");
64 tcm2.transform.SetParent(toggle2.transform);
65 var tcmi2 = tcm2.AddComponent<
Image>();
66 tcm2.GetComponent<RectTransform>().offsetMax = Vector2.zero;
67 tcm2.GetComponent<RectTransform>().offsetMin = Vector2.zero;
68 tcm2.GetComponent<RectTransform>().anchorMin = Vector2.zero;
69 tcm2.GetComponent<RectTransform>().anchorMax = Vector2.one;
70 tcmi2.sprite = tcmi1.sprite;
71 t2img.sprite = t1img.sprite;
72 stage2.graphic = tcmi2;
74 stage2.toggleTransition = Toggle.ToggleTransition.Fade;
75 stage2.targetGraphic = t2img;
76 var toggle3 =
new GameObject(
"Toggle3");
77 var stage3 = toggle3.AddComponent<Toggle>();
78 var t3img = toggle3.AddComponent<
Image>();
79 t3img.color =
new Color(82f/255f,82f/255f,82f/255f,204f/255f);
80 var tcm3 =
new GameObject(
"ToggleCheckmark");
81 tcm3.transform.SetParent(toggle3.transform);
82 var tcmi3 = tcm3.AddComponent<
Image>();
83 tcm3.GetComponent<RectTransform>().offsetMax = Vector2.zero;
84 tcm3.GetComponent<RectTransform>().offsetMin = Vector2.zero;
85 tcm3.GetComponent<RectTransform>().anchorMin = Vector2.zero;
86 tcm3.GetComponent<RectTransform>().anchorMax = Vector2.one;
87 tcmi3.sprite = tcmi1.sprite;
88 t3img.sprite = t1img.sprite;
89 stage3.graphic = tcmi3;
91 stage3.toggleTransition = Toggle.ToggleTransition.Fade;
92 stage3.targetGraphic = t3img;
93 var toggle4 =
new GameObject(
"Toggle4");
94 var stage4 = toggle4.AddComponent<Toggle>();
95 var t4img = toggle4.AddComponent<
Image>();
96 t4img.color =
new Color(82f/255f,82f/255f,82f/255f,204f/255f);
97 var tcm4 =
new GameObject(
"ToggleCheckmark");
98 tcm4.transform.SetParent(toggle4.transform);
99 var tcmi4 = tcm4.AddComponent<
Image>();
100 tcm4.GetComponent<RectTransform>().offsetMax = Vector2.zero;
101 tcm4.GetComponent<RectTransform>().offsetMin = Vector2.zero;
102 tcm4.GetComponent<RectTransform>().anchorMin = Vector2.zero;
103 tcm4.GetComponent<RectTransform>().anchorMax = Vector2.one;
104 tcmi4.sprite = tcmi1.sprite;
105 t4img.sprite = t1img.sprite;
106 stage4.graphic = tcmi4;
108 stage4.toggleTransition = Toggle.ToggleTransition.Fade;
109 stage4.targetGraphic = t4img;
110 var toggle5 =
new GameObject(
"Toggle5");
111 var stage5 = toggle5.AddComponent<Toggle>();
112 var t5img = toggle5.AddComponent<
Image>();
113 t5img.color =
new Color(82f/255f,82f/255f,82f/255f,204f/255f);
114 var tcm5 =
new GameObject(
"ToggleCheckmark");
115 tcm5.transform.SetParent(toggle5.transform);
116 var tcmi5 = tcm5.AddComponent<
Image>();
117 tcm5.GetComponent<RectTransform>().offsetMax = Vector2.zero;
118 tcm5.GetComponent<RectTransform>().offsetMin = Vector2.zero;
119 tcm5.GetComponent<RectTransform>().anchorMin = Vector2.zero;
120 tcm5.GetComponent<RectTransform>().anchorMax = Vector2.one;
121 tcmi5.sprite = tcmi1.sprite;
122 t5img.sprite = t1img.sprite;
123 stage5.graphic = tcmi5;
125 stage5.toggleTransition = Toggle.ToggleTransition.Fade;
126 stage5.targetGraphic = t5img;
127 var toggle6 =
new GameObject(
"Toggle6");
128 var stage6 = toggle6.AddComponent<Toggle>();
129 var t6img = toggle6.AddComponent<
Image>();
130 t6img.color =
new Color(82f/255f,82f/255f,82f/255f,204f/255f);
131 var tcm6 =
new GameObject(
"ToggleCheckmark");
132 tcm6.transform.SetParent(toggle6.transform);
133 var tcmi6 = tcm6.AddComponent<
Image>();
134 tcm6.GetComponent<RectTransform>().offsetMax = Vector2.zero;
135 tcm6.GetComponent<RectTransform>().offsetMin = Vector2.zero;
136 tcm6.GetComponent<RectTransform>().anchorMin = Vector2.zero;
137 tcm6.GetComponent<RectTransform>().anchorMax = Vector2.one;
138 tcmi6.sprite = tcmi1.sprite;
139 t6img.sprite = t1img.sprite;
140 stage6.graphic = tcmi6;
142 stage6.toggleTransition = Toggle.ToggleTransition.Fade;
143 stage6.targetGraphic = t6img;
144 stage1.group = group;
145 stage2.group = group;
146 stage3.group = group;
147 stage4.group = group;
148 stage5.group = group;
149 stage6.group = group;
157 var textGO =
new GameObject(
"LabelGO");
158 var text = textGO.AddComponent<Text>();
159 var lec = toggles.AddComponent<LayoutElement>();
160 textGO.GetComponent<RectTransform>().sizeDelta =
new Vector2(170, 14);
162 text.font = Font.CreateDynamicFontFromOSFont(
"Arial", 24);
163 text.alignment = TextAnchor.MiddleCenter;
165 text.color =
Color.white;
166 text.resizeTextForBestFit =
true;
167 textGO.transform.SetParent(toggles.transform);
168 toggle1.transform.SetParent(toggles.transform);
169 toggle2.transform.SetParent(toggles.transform);
170 toggle3.transform.SetParent(toggles.transform);
171 toggle4.transform.SetParent(toggles.transform);
172 toggle5.transform.SetParent(toggles.transform);
173 toggle6.transform.SetParent(toggles.transform);
174 toggles.transform.SetParent(transform);
178 var buttonGO =
new GameObject(
"ClickButton");
179 var image = buttonGO.AddComponent<
Image>();
180 var button = buttonGO.AddComponent<
Button>();
181 var textGO =
new GameObject(
"LabelGO");
182 var text = textGO.AddComponent<Text>();
183 var lec = buttonGO.AddComponent<LayoutElement>();
184 textGO.GetComponent<RectTransform>().sizeDelta =
new Vector2(170, 14);
186 text.font = Font.CreateDynamicFontFromOSFont(
"Arial", 24);
187 text.alignment = TextAnchor.MiddleCenter;
188 text.text =
"Set this stage";
189 text.color =
Color.white;
190 text.resizeTextForBestFit =
true;
191 text.resizeTextMaxSize = 20;
192 textGO.transform.SetParent(buttonGO.transform);
193 image.sprite = GameObject.Find(
"SaveButton").GetComponent<
Image>().sprite;
194 image.type =
Image.Type.Sliced;
195 image.color =
new Color(255,255,255, 40/255.0f);
196 buttonGO.transform.SetParent(transform);
202 void OnTypeInspectorSetValue()
213 public static GameObject
FindObject(GameObject parent,
string name)
215 Transform[] trs= parent.GetComponentsInChildren<Transform>(
true);
216 foreach(Transform t
in trs){
UnityEngine.UI.Button Button
System.Drawing.Image Image
void SetStage6(bool value)
void SetStage1(bool value)
void SetStage4(bool value)
void SetStage5(bool value)
void SetStage3(bool value)
void SetStage2(bool value)
override void InitializeGUI()
static GameObject FindObject(GameObject parent, string name)
static readonly HashSet< string > ignoreProperties
Component target
The UnityEngine.Component being edited.
virtual void OnComponentModified()