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; }