protected override void processBeforeIn(UGUIProcessData data) { UGUIGenUtil.InitNormalClassInfo(data.classInfo, GetInitClassName(data.GameObjectName, data.NodeTypeStr)); data.classInfo.parent = "UGUIRefNode"; data.classInfo.namespaceStr = UGUIGenUtil.GetNamespaceByTwoWords(data.BaseGameObjectName) + "Ref"; UGUIGenUtil.GetAwakeMethod(data.classInfo); }
protected override void processIn(UGUIProcessData data) { var classInfo = data.classInfo; if (data.Nodetype == typeof(GenWordType)) { return; } var fieldInfo = UGUIGenUtil.AddPublicField(classInfo, data.ComponentName, data.NodeTypeStr + "_" + UGUIGenUtil.GetNodeName(data.GameObjectName)); var resetMethod = UGUIGenUtil.AddOrGetResetMethod(data.classInfo); StringBuilder sb = new StringBuilder(); sb.Append(fieldInfo.name); sb.Append(" = transform"); foreach (var node in data.Orders) { sb.Append(string.Format(".GetChild({0}}", node)); } sb.Append(string.Format(".GetComponent<{0}>();", data.ComponentName)); resetMethod.codeLines.Add(sb.ToString()); if (data.Nodetype == typeof(Button)) { var eventFieldInfo = UGUIGenUtil.AddPublicField(classInfo, "UIDele.Dele", "On" + UGUIGenUtil.GetNodeName(data.GameObjectName) + "Callback"); if (eventFieldInfo == null) { return; } GenMethodInfo clickMethod = new GenMethodInfo(); clickMethod.returnType = "void"; clickMethod.name = "On" + UGUIGenUtil.GetNodeName(data.GameObjectName) + "Click"; clickMethod.flags |= GenBindingFlags.Private; clickMethod.args.Add(new GenArgumentInfo() { name = "go", type = "GameObject" }); clickMethod.codeLines.Add(string.Format("if ({0} != null)", eventFieldInfo.name)); clickMethod.codeLines.Add(string.Format(" {0}()", eventFieldInfo.name)); classInfo.methods.Add(clickMethod.name, clickMethod); var openMethod = UGUIGenUtil.GetAwakeMethod(classInfo); openMethod.codeLines.Add(string.Format("UIEventListener_UGUI.Get({0}.gameObject).onClick = {1}", fieldInfo.name, clickMethod.name)); } }