//------------------------------------------------------------------------/
        // Methods: Selection
        //------------------------------------------------------------------------/
        private Color GetColor(StratusTriggerBase triggerBase, StratusTriggerSystem.ConnectionStatus status)
        {
            Color color = Color.white;

            switch (target.connectionDisplay)
            {
            case StratusTriggerSystem.ConnectionDisplay.Selection:
            {
                switch (status)
                {
                case StratusTriggerSystem.ConnectionStatus.Connected:
                    color = connectedColor;
                    break;

                case StratusTriggerSystem.ConnectionStatus.Disconnected:
                    //color = Color.white;
                    break;

                case StratusTriggerSystem.ConnectionStatus.Selected:
                    //color = connectedColor;
                    color = selectedColor;
                    break;

                case StratusTriggerSystem.ConnectionStatus.Disjoint:
                    color = disconnectedColor;
                    break;

                default:
                    break;
                }
            }
            break;

            case StratusTriggerSystem.ConnectionDisplay.Grouping:
            {
                //int colorIndex = -1;
                if (status == StratusTriggerSystem.ConnectionStatus.Selected)
                {
                    color = selectedColor;
                }
                if (connectivityGroups.ContainsKey(triggerBase))
                {
                    int colorIndex = connectivityGroups[triggerBase];
                    color = StratusGUIStyles.Colors.GetDistinct(colorIndex);
                }
            }
            break;
            }

            return(color);
        }
 private StratusTriggerSystem.ConnectionStatus GetStatus(StratusTriggerable triggerable)
 {
     StratusTriggerSystem.ConnectionStatus status = StratusTriggerSystem.ConnectionStatus.Disconnected;
     if (selected)
     {
         if (selected == triggerable)
         {
             status = StratusTriggerSystem.ConnectionStatus.Selected;
         }
         else if (selectedTrigger && connectedTriggerables.ContainsKey(triggerable) && connectedTriggerables[triggerable])
         {
             status = StratusTriggerSystem.ConnectionStatus.Connected;
         }
     }
     if (!IsConnected(triggerable) && selected != triggerable)
     {
         status = StratusTriggerSystem.ConnectionStatus.Disjoint;
     }
     return(status);
 }
Example #3
0
        private void DrawTriggerable(StratusTriggerable triggerable)
        {
            StratusTriggerSystem.ConnectionStatus status = StratusTriggerSystem.ConnectionStatus.Disconnected;
            if (selected)
            {
                if (selected == triggerable)
                {
                    status = StratusTriggerSystem.ConnectionStatus.Selected;
                }
                else if (selectedTrigger && connectedTriggerables.ContainsKey(triggerable) && connectedTriggerables[triggerable])
                {
                    status = StratusTriggerSystem.ConnectionStatus.Connected;
                }
            }
            if (!IsConnected(triggerable) && selected != triggerable)
            {
                status = StratusTriggerSystem.ConnectionStatus.Disjoint;
            }

            Color color = GetColor(triggerable, status);

            Draw(triggerable, color, SelectTriggerable, RemoveTriggerable, SetTriggerableContextMenu);
        }
Example #4
0
        private void DrawTrigger(StratusTriggerBehaviour trigger)
        {
            StratusTriggerSystem.ConnectionStatus status = StratusTriggerSystem.ConnectionStatus.Disconnected;
            if (selected)
            {
                if (selected == trigger)
                {
                    status = StratusTriggerSystem.ConnectionStatus.Selected;
                }
                else if (selectedTriggerable && connectedTriggers.ContainsKey(trigger) && connectedTriggers[trigger])
                {
                    status = StratusTriggerSystem.ConnectionStatus.Connected;
                }
            }

            if (!IsConnected(trigger) && selected != trigger)
            {
                status = StratusTriggerSystem.ConnectionStatus.Disjoint;
            }

            Color color = GetColor(trigger, status);

            Draw(trigger, color, SelectTrigger, RemoveTrigger, SetTriggerContextMenu);
        }