Example #1
0
        public override void DrawInspector()
        {
            base.DrawInspector();

            bool drawList_triggeredByTypes = true;

            EditorHelper.DrawResizableList <GOType>
                ("Triggered by Specific Types", ref drawList_triggeredByTypes, ref triggeredByTypes, DrawEntry_TriggeredByType);

            if (triggeredByTypes.Count <= 0)
            {
                EditorGUILayout.LabelField("Leave empty to be triggered by all types.");
            }

            EditorGUILayout.Space();
            EditorGUILayout.Space();

            areaType = (AreaType)EditorGUILayout.EnumPopup("Triggered Using Area Type", areaType);
            if (areaType.Equals(AreaType.CollisionArea))
            {
                EditorGUI.indentLevel++;
                collisionArea = EditorGUILayout.ObjectField("Collision Area", collisionArea, typeof(CollisionArea), true) as CollisionArea;
                EditorGUI.indentLevel--;
            }

            requiredToInteract = EditorGUILayout.IntField("Required to Interact", requiredToInteract);
            eventsToInteract   = (EventType_UI)EditorGUILayout.EnumPopup("Event to Interact", eventsToInteract);
            interactKey        = (KeyCode)EditorGUILayout.EnumPopup("Interact Key", interactKey);

            bool drawList_behavioursOnEnter    = true;
            bool drawList_behavioursOnInteract = true;
            bool drawList_behavioursOnExit     = true;

            EditorHelper.DrawResizableList <TriggeredBehaviour>
                ("Behaviours on Entry", ref drawList_behavioursOnEnter, ref behavioursOnEnter, DrawEntry_BehaviourOnEnter);
            EditorHelper.DrawResizableList <TriggeredBehaviour>
                ("Behaviours on Interact", ref drawList_behavioursOnInteract, ref behavioursOnInteract, DrawEntry_BehaviourOnInteract);
            EditorHelper.DrawResizableList <TriggeredBehaviour>
                ("Behaviours on Exit", ref drawList_behavioursOnExit, ref behavioursOnExit, DrawEntry_BehaviourOnExit);
        }