Esempio n. 1
0
 public TriggerCollection(EventEditorContext context, OverviewEditorContext overviewContext, TriggerRoot root)
 {
     _rootNode = new TriggerCollectionNode(context, overviewContext, root.gameObject);
     _triggers = new List<Trigger>();
     _context = context;
     _overviewContext = overviewContext;
     Initialize();
 }
Esempio n. 2
0
 public TriggerCollectionNode(EventEditorContext context, OverviewEditorContext overviewContext, GameObject gameObject)
 {
     GameObject = gameObject;
     if (gameObject.GetComponent <Trigger>())
     {
         Trigger = gameObject.GetComponent <Trigger>();
     }
     _context         = context;
     _overviewContext = overviewContext;
 }
Esempio n. 3
0
 public ActionGroupEditorNode(TriggerActionGroup triggerActionGroup, EventEditorContext context) : base(context)
 {
     _actionGroup = triggerActionGroup;
 }
Esempio n. 4
0
 public TriggerEditorNode(EventEditorContext context)
 {
     _context = context;
 }
Esempio n. 5
0
 public ActionEditorNode(EventResponder responder, EventEditorContext context)
     : base(context)
 {
     Action = responder;
 }
Esempio n. 6
0
    public void Initialize()
    {
        if (_overviewContext == null)
        {
            _overviewContext = new OverviewEditorContext();
        }
        if (_eventEditorContext == null || _eventEditorContext.TriggerRoot == null)
        {
            TriggerRoot triggerRoot = GameObject.FindObjectOfType <TriggerRoot>();
            if (!triggerRoot)
            {
                triggerRoot = (new GameObject("Events")).AddComponent <TriggerRoot>();
            }
            GlobalSymbolTableAccessor accessor = triggerRoot.GetComponent <GlobalSymbolTableAccessor>();
            if (!accessor.GlobalSymbolTable)
            {
                accessor.GlobalSymbolTable = ScriptableObject.CreateInstance <GlobalSymbolTable>();
            }

            List <Trigger> triggers = new List <Trigger>();
            PopulateTriggerList(triggerRoot.transform, triggers);

            _eventEditorContext = new EventEditorContext(this, _overviewContext, triggerRoot, triggers, accessor.GlobalSymbolTable);

            _variableView.Context  = _eventEditorContext;
            _overviewTab.Context   = _eventEditorContext;
            _triggerEditor.Context = _eventEditorContext;
            return;
        }

        if (Selection.activeGameObject)
        {
            TriggerRoot[] roots        = Selection.activeGameObject.GetComponentsInParent <TriggerRoot>(true);
            TriggerRoot   selectedRoot = null;
            if (roots.Length != 0)
            {
                selectedRoot = roots[0];
            }

            if (selectedRoot)
            {
                if (selectedRoot != _eventEditorContext.TriggerRoot)
                {
                    List <Trigger> triggers = new List <Trigger>();
                    PopulateTriggerList(selectedRoot.transform, triggers);

                    GlobalSymbolTableAccessor accessor = selectedRoot.GetComponent <GlobalSymbolTableAccessor>();
                    accessor.hideFlags = HideFlags.None;
                    if (!accessor.GlobalSymbolTable)
                    {
                        accessor.GlobalSymbolTable = ScriptableObject.CreateInstance <GlobalSymbolTable>();
                    }
                    //SelectTrigger(null);
                    _eventEditorContext = new EventEditorContext(this, _overviewContext, selectedRoot, triggers, accessor.GlobalSymbolTable);

                    _variableView.Context  = _eventEditorContext;
                    _overviewTab.Context   = _eventEditorContext;
                    _triggerEditor.Context = _eventEditorContext;
                }
            }
        }

        if (_eventEditorContext.TriggerRoot)
        {
            _eventEditorContext.TriggerRoot.gameObject.hideFlags = HideFlags.None;
            _eventEditorContext.TriggerRoot.hideFlags            = HideFlags.None;
        }
    }
Esempio n. 7
0
 public FilterEditorNode(EventFilter filter, EventEditorContext context)
     : base(context)
 {
     Filter = filter;
 }
Esempio n. 8
0
 public EventEditorNode(GameObject eventGameObject, EventEditorContext context)
     : base(context)
 {
     _gameObject = eventGameObject;
     Sender      = _gameObject.GetComponent <EventSender>();
 }