public override void OnInspectorGUI() { Parkour parkour = (Parkour)target; base.OnInspectorGUI(); for (int j = 0; j < 4; j++) { if (j < parkour.medals.Length) { if (parkour.medals[j].type != (Medal.MedalType)j) { EditorGUILayout.HelpBox("Medal at index " + j + " should be of type " + Medal.MedalTypeToString((Medal.MedalType)j), MessageType.Error); } } else { EditorGUILayout.HelpBox(Medal.MedalTypeToString((Medal.MedalType)j) + " Medal is missing", MessageType.Error); } } int min = parkour.startingScore; int i = 0; while (i < parkour.medals.Length) { if (parkour.medals[i].score > min) { EditorGUILayout.HelpBox(Medal.MedalTypeToString(parkour.medals[i].type) + " Medal score should not be higher than previous medal", MessageType.Error); break; } min = parkour.medals[i].score; i++; } }