/// <summary> /// Unity event. /// </summary> private void Awake() { _data = GetComponent <FactoryRoomData>(); _conveyorBeltAnimator = GetComponent <Animator>(); _room = GetComponent <KMGameplayRoom>(); _audio = GetComponent <KMAudio>(); _gameCommands = GetComponent <KMGameCommands>(); _room.OnLightChange += OnLightChange; }
private void Awake() { _data = GetComponent <FactoryRoomData>(); _scares = new Action[] { DoTorchLightScare, DoTorchLightScare, DoTorchLightScare, DoTorchLightScare, DoGlitchDistortScare, DoGlitchDistortScare, DoGlitchDistortScare, DoBump, DoBump, DoBump, DoBump, DoWibblyWobblyTime, DoWibblyWobblyTime, DoWibblyWobblyTime, DoFakeStrike, DoFakeNeedy, }; }
private IEnumerator Flicker(FactoryRoomData data, float duration) { _audio.PlaySoundAtTransform(PowerOffSound.name, transform); data.EnableAmbient = data.EnableNormalLights = data.EnableWarningLights = false; _light.enabled = false; _oldTVMaterial = data.TVDisplay.material; Material material = new Material(_oldTVMaterial); material.mainTexture = TVBlack; data.TVDisplay.material = material; yield return(new WaitForSeconds(PowerOffDelay)); _audio.PlaySoundAtTransform(SwitchSound.name, transform); _light.enabled = true; while (duration >= 0.0f) { yield return(new WaitForSeconds(0.1f)); duration -= 0.1f; _light.intensity = Mathf.MoveTowards(_light.intensity, Random.Range(0.0f, 1.0f), 0.05f); } _audio.PlaySoundAtTransform(PowerOnSound.name, transform); data.EnableAmbient = data.EnableNormalLights = data.EnableWarningLights = true; data.TVDisplay.material = _oldTVMaterial; yield return(new WaitForSeconds(PowerOnDelay)); _audio.PlaySoundAtTransform(SwitchSound.name, transform); _light.enabled = false; gameObject.SetActive(false); }
public void DoFlicker(FactoryRoomData data, float duration) { gameObject.SetActive(true); StartCoroutine(Flicker(data, duration)); }