public static GameVariable GameVariableSettings(GameVariable var) { if(GUILayout.Button("Add variable", GUILayout.Width(mWidth))) { var.AddVariable(); } for(int i=0; i<var.variableKey.Length; i++) { EditorGUILayout.BeginHorizontal(); if(GUILayout.Button("Remove", GUILayout.Width(mWidth*0.3f))) { var.RemoveVariable(i); break; } var.remove[i] = EditorGUILayout.Toggle("Remove", var.remove[i], GUILayout.Width(mWidth)); var.variableKey[i] = EditorGUILayout.TextField("Key", var.variableKey[i], GUILayout.Width(mWidth)); if(!var.remove[i]) { var.variableValue[i] = EditorGUILayout.TextField("Value", var.variableValue[i], GUILayout.Width(mWidth)); } GUILayout.FlexibleSpace(); EditorGUILayout.EndVertical(); } EditorGUILayout.Separator(); if(GUILayout.Button("Add number variable", GUILayout.Width(mWidth))) { var.AddNumberVariable(); } for(int i=0; i<var.numberVarKey.Length; i++) { EditorGUILayout.BeginHorizontal(); if(GUILayout.Button("Remove", GUILayout.Width(mWidth*0.3f))) { var.RemoveNumberVariable(i); break; } var.removeNumber[i] = EditorGUILayout.Toggle("Remove", var.removeNumber[i], GUILayout.Width(mWidth)); var.numberVarKey[i] = EditorGUILayout.TextField("Key", var.numberVarKey[i], GUILayout.Width(mWidth)); if(!var.removeNumber[i]) { var.changeType[i] = (SimpleOperator)EditorGUILayout.EnumPopup( var.changeType[i], GUILayout.Width(EditorHelper.mWidth*0.5f)); var.numberVarValue[i] = EditorGUILayout.FloatField(var.numberVarValue[i], GUILayout.Width(mWidth*0.5f)); } GUILayout.FlexibleSpace(); EditorGUILayout.EndVertical(); } return var; }