//Borrar parametros public void DeleteParameter(string name, ComparativeNode.ComparisonType type) { switch (type) { case ComparativeNode.ComparisonType.Float: floatParameters.Remove(name); break; case ComparativeNode.ComparisonType.Int: intParameters.Remove(name); break; case ComparativeNode.ComparisonType.Bool: boolParameters.Remove(name); break; } }
void DrawParameters() { //Style de parameters var mySelf = GetWindow <ProductEventEditor>(); mySelf.myStyle = new GUIStyle(); mySelf.myStyle.fontSize = 13; mySelf.myStyle.alignment = TextAnchor.MiddleCenter; //Estas es la ventana de parameters Rect paramsRect = new Rect(0, 100, 200, position.height - 100); EditorGUILayout.BeginHorizontal(GUILayout.Width(paramsRect.width)); EditorGUI.DrawRect(paramsRect, new Color32(155, 155, 155, 255)); EditorGUILayout.BeginVertical(GUILayout.Height(100)); EditorGUILayout.LabelField("Parameters", myStyle, GUILayout.Height(50)); //Selector de tipo de parametros EditorGUILayout.LabelField("Type selector:", myStyle, GUILayout.Height(50)); activeType = (ComparativeNode.ComparisonType)EditorGUILayout.EnumPopup(activeType, GUILayout.Width(paramsRect.width - 10)); //Funciones que ejecuta segun el tipo switch (activeType) { case ComparativeNode.ComparisonType.Float: ShowParametersFloat(paramsRect.width); break; case ComparativeNode.ComparisonType.Int: ShowParametersInt(paramsRect.width); break; case ComparativeNode.ComparisonType.Bool: ShowParametersBool(paramsRect.width); break; default: break; } EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); }
//Ejecuta la comparacion correspondiente public bool Compare(Parameters parameters, ComparativeNode.ComparisonType activeType, ComparativeNode.ComparisonOperator activeOperator, string[] parameterNames) { switch (activeType) { case ComparativeNode.ComparisonType.Float: return(CompareFloat(parameters, activeOperator, parameterNames)); case ComparativeNode.ComparisonType.Int: return(CompareInt(parameters, activeOperator, parameterNames)); case ComparativeNode.ComparisonType.Bool: return(GetBool(parameterNames[0], parameters)); default: Debug.LogWarning("Invalid Comparison Type Enum at " + this.ToString()); return(false); } }