public override void OnInspectorGUI() { EditorGUI.BeginChangeCheck(); EditorGUILayout.BeginHorizontal(); BattleTrigger.BattleFieldType type = (BattleTrigger.BattleFieldType)EditorGUILayout.EnumPopup(trigger.fieldType); int width = EditorGUILayout.IntField(trigger.xSize, GUILayout.Width(60)); int height = trigger.ySize; if (type == BattleTrigger.BattleFieldType.Rectangle) { EditorGUILayout.LabelField("x", GUILayout.Width(10)); height = EditorGUILayout.IntField(trigger.ySize, GUILayout.Width(60)); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Activation enabled", GUILayout.Width(95)); bool activateOnEnter = EditorGUILayout.Toggle(trigger.activationEnabled); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Height", GUILayout.Width(45)); EditorGUILayout.PropertyField(serializedObject.FindProperty("Offset")); EditorGUILayout.EndHorizontal(); EditorGUILayout.PropertyField(serializedObject.FindProperty("recievingRaycastLayer")); EditorGUILayout.PropertyField(serializedObject.FindProperty("obstaclesLayers")); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(trigger, "edit"); trigger.activationEnabled = activateOnEnter; trigger.fieldType = type; trigger.xSize = width; trigger.ySize = height; SceneView.RepaintAll(); } cellsPositions = trigger.RecalculateHexes(); }