private OnOffLight _ool; // Master component for light handling void Start() { _playerStatus = GetComponent <Player>(); _fov = GetComponent <FieldOfView>(); _ool = GetComponent <OnOffLight>(); _ool.OnToggle += (toggled) => { if (toggled) { ToggleOn(); } else { ToggleOff(); } }; CurrentBattery = MaxBattery; _lastRadius = _fov.ViewRadius; _lastAngle = _fov.ViewAngle; _light = GetComponentInChildren <Light>(); }
IEnumerator turnOffLight() { OnOffLight _oolP1 = player1.GetComponent <OnOffLight>(); OnOffLight _oolP2 = player2.GetComponent <OnOffLight>(); FlashLightController _flcP1 = player1.GetComponent <FlashLightController>(); FlashLightController _flcP2 = player2.GetComponent <FlashLightController>(); int indice = 0; angel.SetActive(true); yield return(new WaitForSeconds(1.5f)); //_flcP1.DesactivFlashLight(); //_flcP2.DesactivFlashLight(); //AkSoundEngine.PostEvent("play_jumpscare", this.gameObject); while (indice < lights.Length) { yield return(new WaitForSeconds(delay)); lights[indice].GetComponent <OnOffLight>().ToggleOff(); lights[indice].transform.parent.GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.black); lights[indice + 1].GetComponent <OnOffLight>().ToggleOff(); lights[indice + 1].transform.parent.GetComponent <Renderer>().material.SetColor("_EmissionColor", Color.black); indice += 2; Debug.Log(indice); if (indice == lights.Length - 4) { _flcP1.ActivFlashLight(); _flcP2.ActivFlashLight(); } } }
public override void InteractStart(PlayerInteraction playerInteraction) { OnOffLight oof = playerInteraction.GetComponent <OnOffLight>(); if (oof.enabled) { oof.enabled = true; playerInteraction.GetComponent <FlashlightBattery>().enabled = true; playerInteraction.GetComponent <FlashLightController>().enabled = true; playerInteraction.GetComponent <FieldOfView>().enabled = true; Destroy(gameObject); } }
// Use this for initialization void Start() { if (Player == null) { Player = gameObject; } _playerStatus = GetComponent <Lightable>(); _battery = GetComponent <FlashlightBattery>(); _ool = GetComponent <OnOffLight>(); //le joueur démarre la lampe allumé _playerStatus.LightSources = 1; _ool.OnToggle += (on) => { if (on == true) { _playerStatus.LightSources += 1; } else { _playerStatus.LightSources -= 1; } }; _fov = GetComponent <FieldOfView>(); _baseAngle = _fov.ViewAngle; if (_baseAngle + AngleIncrease > 360) { AngleIncrease = 360 - _baseAngle; } _baseLightAngle = _ool.Lights[0].spotAngle; // To determine joypad or keyboard inputManager = GameObject.Find("GameManager").GetComponent <InputManager>(); if (Player.name == "Player2") { RInput = Rewired.ReInput.players.GetPlayer(inputManager.Player2Index); } else { RInput = Rewired.ReInput.players.GetPlayer(inputManager.Player1Index); } _ool.ToggleOff(); }
public override void OnInspectorGUI() { OnOffLight ool = target as OnOffLight; if (ool == null) { return; } base.OnInspectorGUI(); EditorGUILayout.Space(); return; /*EditorGUI.BeginDisabledGroup(true); * EditorGUILayout.Toggle("Is Toggled", ool.IsToggled); * EditorGUI.EndDisabledGroup(); * * if (Application.isPlaying && GUILayout.Button("Switch " + (ool.Toggled ? "Off" : "On"))) * ool.Toggle(); * * _onOffCollapse = EditorGUILayout.Foldout(_onOffCollapse, "On and Off options"); * if (_onOffCollapse) * { * ool.TimeToOn = EditorGUILayout.FloatField("Time to switch on", ool.TimeToOn); * ool.TimeToOff = EditorGUILayout.FloatField("Time to switch off", ool.TimeToOff); * ool.BooleanValues = EditorGUILayout.Toggle("Boolean values", ool.BooleanValues); * * ool.OnAnimation = EditorGUILayout.CurveField("Switch On Animation", ool.OnAnimation); * ool.OffAnimation = EditorGUILayout.CurveField("Switch Off Animation", ool.OffAnimation); * } * * _flickeringCollapse = EditorGUILayout.Foldout(_flickeringCollapse, "Flickering options"); * if (_flickeringCollapse) * { * ool.Flickering = EditorGUILayout.Toggle("Flickering", ool.Flickering); * ool.RandomFlickering = EditorGUILayout.Toggle("Random flickering", ool.RandomFlickering); * * if (ool.RandomFlickering) * { * ool.FlickeringTimeRange = EditorGUILayout.Slider("Flickering Time Range", ool.FlickeringTimeRange, 0.1f, 1); * ool.FlickeringMinimumTime = EditorGUILayout.Slider("Flickering Minimum Time", ool.FlickeringMinimumTime, 0, 1); * } * else * { * ool.FlickeringTime = EditorGUILayout.FloatField("Flickering curve time", ool.FlickeringTime); * ool.FlickeringAnimation = EditorGUILayout.CurveField("Flickering animation", ool.FlickeringAnimation); * } * } * * _soundsCollapse = EditorGUILayout.Foldout(_soundsCollapse, "Sounds"); * if (_soundsCollapse) * { * ool.ToggleOnSound = EditorGUILayout.ObjectField("Toggle On Sound", ool.ToggleOnSound, typeof(AudioClip), false) as AudioClip; * ool.ToggleOffSound = EditorGUILayout.ObjectField("Toggle Off Sound", ool.ToggleOffSound, typeof(AudioClip), false) as AudioClip; * EditorGUILayout.Space(); * ool.FlickerOnSound = EditorGUILayout.ObjectField("Flicker On Sound", ool.FlickerOnSound, typeof(AudioClip), false) as AudioClip; * ool.FlickerOffSound = EditorGUILayout.ObjectField("Flicker Off Sound", ool.FlickerOffSound, typeof(AudioClip), false) as AudioClip; * } * * ool.Light = EditorGUILayout.ObjectField("Light Object", ool.Light, typeof(Light), true) as Light; * * ool.LightIntensityMultiplier = EditorGUILayout.FloatField("Light Intensity Multiplier", ool.LightIntensityMultiplier); * EditorGUILayout.Space(); * * _devCollapse = EditorGUILayout.Foldout(_devCollapse, "Developers zone"); * if (_devCollapse) * { * ool.CoroutinesRate = EditorGUILayout.IntField("Coroutines Rate", ool.CoroutinesRate); * * GUI.enabled = false; * EditorGUILayout.ObjectField("Script", MonoScript.FromMonoBehaviour(target as OnOffLight), typeof(OnOffLight), false); * GUI.enabled = true; * }*/ }