public void Draw(List <BehaviorParameter> parameterList) { EditorGUILayout.LabelField("运行时变量"); EditorGUILayout.BeginVertical("box", GUILayout.ExpandWidth(true)); { EditorGUILayout.LabelField("条件参数"); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandHeight(true)); { GUI.backgroundColor = new Color(0.85f, 0.85f, 0.85f, 1f); for (int i = 0; i < parameterList.Count; ++i) { BehaviorParameter behaviorParameter = parameterList[i]; EditorGUILayout.BeginVertical("box"); { behaviorParameter = DrawParameter.Draw(behaviorParameter, DrawParameterType.RUNTIME_PARAMETER, null); } EditorGUILayout.EndVertical(); } GUI.backgroundColor = Color.white; } EditorGUILayout.EndScrollView(); } EditorGUILayout.EndVertical(); }
public void Draw(List <BehaviorParameter> parameterList) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("全部变量", GUILayout.Width(100)); if (GUILayout.Button("导入变量")) { BehaviorFileHandleView.ImportParameter(); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginVertical("box", GUILayout.ExpandWidth(true)); { EditorGUILayout.LabelField("条件参数"); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandHeight(true)); { GUI.backgroundColor = new Color(0.85f, 0.85f, 0.85f, 1f); for (int i = 0; i < parameterList.Count; ++i) { BehaviorParameter behaviorParameter = parameterList[i]; Action DelCallBack = () => { if (null != BehaviorManager.behaviorNodeParameter) { BehaviorManager.parameterChange(behaviorParameter, false); } }; EditorGUILayout.BeginVertical("box"); { behaviorParameter = DrawParameter.Draw(behaviorParameter, DrawParameterType.BEHAVIOR_PARAMETER, DelCallBack); } EditorGUILayout.EndVertical(); } GUI.backgroundColor = Color.white; } EditorGUILayout.EndScrollView(); } EditorGUILayout.EndVertical(); GUILayout.Space(10); EditorGUILayout.BeginVertical("box"); { DrawAddParameter(); } EditorGUILayout.EndVertical(); }
public void Draw(List <NodeParameter> parameterList) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("全部变量", GUILayout.Width(100)); if (GUILayout.Button("导入变量")) { BehaviorDataImportParameter behaviorDataImportParameter = new BehaviorDataImportParameter(); behaviorDataImportParameter.ImportParameter(BehaviorDataController.Instance.BehaviorTreeData); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginVertical("box", GUILayout.ExpandWidth(true)); { EditorGUILayout.LabelField("条件参数"); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandHeight(true)); { GUI.backgroundColor = new Color(0.85f, 0.85f, 0.85f, 1f); for (int i = 0; i < parameterList.Count; ++i) { NodeParameter behaviorParameter = parameterList[i]; Action DelCallBack = () => { DataHandler dataHandler = new DataHandler(); dataHandler.DataDelGlobalParameter(behaviorParameter); }; EditorGUILayout.BeginVertical("box"); { behaviorParameter = DrawParameter.Draw(behaviorParameter, DrawParameterType.BEHAVIOR_PARAMETER, DelCallBack); } EditorGUILayout.EndVertical(); } GUI.backgroundColor = Color.white; } EditorGUILayout.EndScrollView(); } EditorGUILayout.EndVertical(); GUILayout.Space(10); EditorGUILayout.BeginVertical("box"); { DrawAddParameter(); } EditorGUILayout.EndVertical(); }
private void DrawAddParameter() { if (null == newAddParameter) { newAddParameter = new NodeParameter(); } EditorGUILayout.BeginVertical("box"); { newAddParameter = DrawParameter.Draw(newAddParameter, DrawParameterType.BEHAVIOR_PARAMETER_ADD, null); } EditorGUILayout.EndVertical(); GUILayout.Space(5); if (GUILayout.Button("添加条件")) { DataHandler dataHandler = new DataHandler(); dataHandler.DataAddGlobalParameter(newAddParameter); } }
public void Draw(GlobalParameter globalParameter) { EditorGUILayout.LabelField("全部变量"); EditorGUILayout.BeginVertical("box", GUILayout.ExpandWidth(true)); { EditorGUILayout.LabelField("条件参数"); scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.ExpandHeight(true)); { GUI.backgroundColor = new Color(0.85f, 0.85f, 0.85f, 1f); for (int i = 0; i < globalParameter.parameterList.Count; ++i) { BehaviorParameter behaviorParameter = globalParameter.parameterList[i]; Action DelCallBack = () => { if (null != BehaviorManager.behaviorNodeParameter) { BehaviorManager.globalParameterChange(behaviorParameter, false); } }; EditorGUILayout.BeginVertical("box"); { behaviorParameter = DrawParameter.Draw(behaviorParameter, DrawParameterType.GLOBAL_PARAMETER, DelCallBack); } EditorGUILayout.EndVertical(); } GUI.backgroundColor = Color.white; } EditorGUILayout.EndScrollView(); } EditorGUILayout.EndVertical(); GUILayout.Space(10); EditorGUILayout.BeginVertical("box"); { DrawAddParameter(); } EditorGUILayout.EndVertical(); }
private void DrawAddParameter() { if (null == newAddParameter) { newAddParameter = new BehaviorParameter(); } EditorGUILayout.BeginVertical("box"); { newAddParameter = DrawParameter.Draw(newAddParameter, DrawParameterType.GLOBAL_PARAMETER_ADD, null); } EditorGUILayout.EndVertical(); GUILayout.Space(5); if (GUILayout.Button("添加条件")) { if (null != BehaviorManager.behaviorNodeParameter) { BehaviorManager.globalParameterChange(newAddParameter, true); } } }
private void DrawNode(NodeValue nodeValue, string title) { ConditionGroup conditionGroup = DrawConditionGroup(nodeValue); for (int i = 0; i < nodeValue.parameterList.Count; ++i) { nodeValue.parameterList[i].index = i; } GUI.enabled = !BehaviorDataController.Instance.CurrentOpenConfigSubTree(); EditorGUILayout.BeginVertical("box", GUILayout.ExpandWidth(true)); { EditorGUILayout.LabelField(title); int height = (nodeValue.parameterList.Count * 58); height = height <= 300 ? height : 300; scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Height(height)); { GUI.backgroundColor = new Color(0.85f, 0.85f, 0.85f, 1f); for (int i = 0; i < nodeValue.parameterList.Count; ++i) { NodeParameter behaviorParameter = nodeValue.parameterList[i]; Action DelCallBack = () => { DataNodeHandler dataNodeHandler = new DataNodeHandler(); dataNodeHandler.NodeDelParameter(nodeValue.id, behaviorParameter); }; Color color = Color.white; if (null != conditionGroup) { string name = conditionGroup.parameterList.Find(a => (a.CompareTo(behaviorParameter.parameterName) == 0)); if (!string.IsNullOrEmpty(name)) { color = colorArr[0]; } } GUI.backgroundColor = color; // new Color(0.85f, 0.85f, 0.85f, 1f); EditorGUILayout.BeginVertical("box"); { string parameterName = behaviorParameter.parameterName; NodeParameter tempParameter = behaviorParameter.Clone(); tempParameter = DrawParameter.Draw(behaviorParameter, DrawParameterType.NODE_PARAMETER, DelCallBack); if (parameterName.CompareTo(behaviorParameter.parameterName) != 0) { DataNodeHandler dataNodeHandler = new DataNodeHandler(); dataNodeHandler.NodeParameterChange(nodeValue.id, parameterName, behaviorParameter.parameterName); } else { behaviorParameter.CloneFrom(tempParameter); } } EditorGUILayout.EndVertical(); } GUI.backgroundColor = Color.white; } EditorGUILayout.EndScrollView(); } EditorGUILayout.EndVertical(); GUI.enabled = true; GUILayout.Space(10); EditorGUILayout.BeginVertical("box"); { DrawAddParameter(nodeValue); } EditorGUILayout.EndVertical(); }
private void DrawNode(NodeValue nodeValue, string title) { if (nodeValue.NodeType != (int)NODE_TYPE.CONDITION && nodeValue.NodeType != (int)NODE_TYPE.ACTION) { return; } EditorGUILayout.BeginVertical("box", GUILayout.ExpandWidth(true)); { EditorGUILayout.LabelField(title); int height = (nodeValue.parameterList.Count * 70) + 20; height = height <= 300 ? height : 300; scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Height(height)); { GUI.backgroundColor = new Color(0.85f, 0.85f, 0.85f, 1f); for (int i = 0; i < nodeValue.parameterList.Count; ++i) { BehaviorParameter behaviorParameter = nodeValue.parameterList[i]; Action DelCallBack = () => { if (null != BehaviorManager.behaviorNodeParameter) { BehaviorManager.behaviorNodeParameter(nodeValue.id, behaviorParameter, false); } }; EditorGUILayout.BeginVertical("box"); { string parameterName = behaviorParameter.parameterName; BehaviorParameter tempParameter = behaviorParameter.Clone(); tempParameter = DrawParameter.Draw(behaviorParameter, DrawParameterType.NODE_PARAMETER, DelCallBack); if (parameterName.CompareTo(behaviorParameter.parameterName) != 0) { if (null != BehaviorManager.behaviorNodeChangeParameter) { BehaviorManager.behaviorNodeChangeParameter(nodeValue.id, parameterName, behaviorParameter.parameterName); } } else { tempParameter.Clone(behaviorParameter); } } EditorGUILayout.EndVertical(); } GUI.backgroundColor = Color.white; } EditorGUILayout.EndScrollView(); } EditorGUILayout.EndVertical(); GUILayout.Space(10); EditorGUILayout.BeginVertical("box"); { DrawAddParameter(nodeValue); } EditorGUILayout.EndVertical(); }