/// <summary> /// Register the light with this APC, so that it will be toggled based on emergency status /// </summary> /// <param name="newLight"></param> public void ConnectEmergencyLight(EmergencyLightAnimator newLight) { if (!ConnectedEmergencyLights.Contains(newLight)) { ConnectedEmergencyLights.Add(newLight); SetEmergencyLights(EmergencyState); } }
private void EnsureInit() { if (isInit) { return; } if (mLightRendererObject == null) { mLightRendererObject = LightSpriteBuilder.BuildDefault(gameObject, new Color(0, 0, 0, 0), 12); } if (spriteRenderer == null) { spriteRenderer = GetComponentInChildren <SpriteRenderer>(); } if (spriteRendererLightOn == null) { spriteRendererLightOn = GetComponentsInChildren <SpriteRenderer>().Length > 1 ? GetComponentsInChildren <SpriteRenderer>()[1] : GetComponentsInChildren <SpriteRenderer>()[0]; } if (lightSprite == null) { lightSprite = mLightRendererObject.GetComponent <LightSprite>(); } if (emergencyLightAnimator == null) { emergencyLightAnimator = GetComponent <EmergencyLightAnimator>(); } if (integrity == null) { integrity = GetComponent <Integrity>(); } if (directional == null) { directional = GetComponent <Directional>(); } if (currentState == null) { ChangeCurrentState(InitialState); } if (traitRequired == null) { traitRequired = currentState.TraitRequired; } if (!isWithoutSwitch) { switchState = InitialState == LightMountState.On; } }
private void Awake() { if (!Application.isPlaying) { return; } EnsureLightsInit(); wallMount = GetComponent <LightMountStates>(); emergencyLightAnimator = GetComponent <EmergencyLightAnimator>(); SwitchState = true; mState = InitialState; lightSprite.Color = lightStateColorOn; }