Пример #1
0
 private GlobalSwitchContainer GetGlobalSwitchContainer(GlobalSwitch.Switch globalSwitch)
 {
     for (int i = 0; i < _globalSwitchMap.Count; i++)
     {
         GlobalSwitchContainer globalSwitchContainer = _globalSwitchMap[i];
         if (globalSwitch._name == globalSwitchContainer._switchName)
         {
             return(globalSwitchContainer);
         }
     }
     return(null);
 }
Пример #2
0
 bool GlobalSwitch.IListener.OnSwitch(GlobalSwitch.Switch _switch)
 {
     for (int i = 0; i < _componentInstances.Length; i++)
     {
         ComponentInstance componentInstance = _componentInstances[i];
         if (componentInstance == null)
         {
             continue;
         }
         GlobalSwitchContainer globalSwitchContainer = GetGlobalSwitchContainer(_switch);
         if (globalSwitchContainer == null)
         {
             continue;
         }
         Component component = globalSwitchContainer._components[0];
         if (!(component != null) || !(component != _selectedComponent))
         {
             continue;
         }
         bool isComponentActive = _isComponentActive;
         if (_selectedComponent != null)
         {
             _selectedComponent.StopInternal(stopInstances: false, forceStop: false, 0f, 0.5f);
         }
         _selectedComponent = component;
         if (_startOnSwitch && isComponentActive && !IsMusicSyncEnabled())
         {
             _componentInstance._instance.ResetPlayScheduled();
             _selectedComponent.PlayInternal(_componentInstance, 0f, 0.5f);
             if (_componentStatus == ComponentStatus.Stopping)
             {
                 StopInternal(stopInstances: false, forceStop: false, _fadeParameter.GetTimeRemaining(FabricTimer.Get()), _fadeOutCurve);
             }
         }
         if (HasValidEventNotifier())
         {
             NotifyEvent(EventNotificationType.OnSwitch, _selectedComponent);
         }
     }
     return(true);
 }