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>();
    }
Ejemplo n.º 2
0
    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();
            }
        }
    }
Ejemplo n.º 3
0
    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);
        }
    }
Ejemplo n.º 4
0
    // 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;
         * }*/
    }