Пример #1
0
    IEnumerator VibrateController(VibratingController vController)
    {
        if (!vController.IsVibrating)
        {
            vController.IsVibrating = true;
            PlayerActions playerActions = vController.Player.inputcontroller.playerActions;
            if (playerActions.Device != null)
            {
                playerActions.Device.Vibrate(vController.Intensity);
                yield return(new WaitForSeconds(vController.Duration));

                playerActions.Device.StopVibration();
                vController.IsVibrating = false;

                vibratingControllers.Remove(vController);
                vibratingControllers.TrimExcess();
            }
        }
    }
Пример #2
0
    public void StartControllerVibration(PlayerController pController, float intensity, float duration)
    {
        bool foundMatch = false;

        for (int i = 0; i < vibratingControllers.Count; i++)
        {
            if (!foundMatch)
            {
                foundMatch = vibratingControllers[i].Player == pController;
                if (foundMatch)
                {
                    break;
                }
            }
        }

        if (!foundMatch)
        {
            VibratingController vController = new VibratingController(pController, intensity, duration);
            vibratingControllers.Add(vController);
            StartCoroutine(VibrateController(vController));
        }
    }