public void Register(MyReflectorLight reflector)
 {
     Debug.Assert(!m_reflectors.Contains(reflector), "Reflector is already registered in the grid.");
     m_reflectors.Add(reflector);
     reflector.EnabledChanged += reflector_EnabledChanged;
     if (m_reflectors.Count == 1)
     {
         m_reflectorsEnabled = (reflector.Enabled) ? MyMultipleEnabledEnum.AllEnabled : MyMultipleEnabledEnum.AllDisabled;
     }
     else if ((ReflectorsEnabled == MyMultipleEnabledEnum.AllEnabled && !reflector.Enabled) ||
              (ReflectorsEnabled == MyMultipleEnabledEnum.AllDisabled && reflector.Enabled))
     {
         m_reflectorsEnabled = MyMultipleEnabledEnum.Mixed;
     }
 }
 public void Unregister(MyReflectorLight reflector)
 {
     Debug.Assert(m_reflectors.Contains(reflector), "Removing reflector which was not registered.");
     m_reflectors.Remove(reflector);
     reflector.EnabledChanged -= reflector_EnabledChanged;
     if (m_reflectors.Count == 0)
     {
         m_reflectorsEnabled = MyMultipleEnabledEnum.NoObjects;
     }
     else if (m_reflectors.Count == 1)
     {
         ReflectorsEnabled = (m_reflectors.First().Enabled) ? MyMultipleEnabledEnum.AllEnabled : MyMultipleEnabledEnum.AllDisabled;
     }
     else if (ReflectorsEnabled == MyMultipleEnabledEnum.Mixed)
     {
         // We were in mixed state and need to check whether we still are.
         m_reflectorsEnabledNeedsRefresh = true;
     }
 }
 public override void OnAddedToContainer()
 {
     base.OnAddedToContainer();
     m_reflectorLight = Container.Entity as MyReflectorLight;
 }
 public override void OnAddedToContainer(MyComponentContainer container)
 {
     base.OnAddedToContainer(container);
     m_reflectorLight = Entity as MyReflectorLight;
 }