示例#1
0
 /// <summary>
 /// Adds a trigger to the system
 /// </summary>
 /// <param name="baseTrigger"></param>
 public void Add(StratusTriggerBase baseTrigger)
 {
     if (baseTrigger is Trigger)
     {
         triggers.Add(baseTrigger as Trigger);
     }
     else if (baseTrigger is StratusTriggerable)
     {
         triggerables.Add(baseTrigger as StratusTriggerable);
     }
 }
        //------------------------------------------------------------------------/
        // 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);
        }