public void OnValidate() { if (connectionID == null) { connectionID = new GenerationConnectionID(CardinalDirections.North, CardinalDirections.South, new ConnectionID(), new ConnectionID()); } connectionID.Validate(); }
public void DisplayTileID() { EditorGUILayout.BeginVertical(); GenerationConnectionID connection = values.generationTile.connectionID; if (!values.generationTile.connectionID.IsValid()) { EditorGUILayout.HelpBox("The connection ID is invalid. Make sure the direction values don't match or are 'none'", MessageType.Error); } EditorGUI.indentLevel++; EditorGUILayout.LabelField("Entry ID"); EditorGUI.indentLevel++; EditorGUILayout.LabelField("Direction"); connection.entry.dir = (CardinalDirections)EditorGUILayout.EnumPopup(connection.entry.dir); EditorGUI.indentLevel++; EditorGUILayout.LabelField("Identifier"); for (int i = 0; i < ConnectionID.CONNECTION_SIZE; i++) { connection.entry.id.connectionID[i] = (ConnectionVariations)EditorGUILayout.EnumPopup(connection.entry.id.connectionID[i]); } EditorGUI.indentLevel -= 2; GUILayout.Label(""); EditorGUILayout.LabelField("Exit ID"); EditorGUI.indentLevel++; EditorGUILayout.LabelField("Direction"); connection.exit.dir = (CardinalDirections)EditorGUILayout.EnumPopup(connection.exit.dir); EditorGUI.indentLevel++; EditorGUILayout.LabelField("Identifier"); for (int i = 0; i < ConnectionID.CONNECTION_SIZE; i++) { connection.exit.id.connectionID[i] = (ConnectionVariations)EditorGUILayout.EnumPopup(connection.exit.id.connectionID[i]); } GUILayout.Label(""); EditorGUI.indentLevel = 0; values.generationTile.OnValidate(); EditorGUILayout.EndVertical(); }