public PlayerEvent(Rigidbody playerRigidbody, PlayerCamera playerCamera) { _PhysicsPlayer = new PlayerPhysics(playerRigidbody); _CameraPlayer = playerCamera; _IdleEvent = new PlayerIdleEvent(); _WalkEvent = new PlayerWalkEvent(_PhysicsPlayer, playerRigidbody); _SprintEvent = new PlayerSprintEvent(_PhysicsPlayer, playerRigidbody); _FallEvent = new PlayerFallEvent(_PhysicsPlayer, playerRigidbody); _CurrentPlayerEvent = _IdleEvent; }
private void OnPlayerIdle(PlayerIdleEvent gameEvent) { StopAllCoroutines(); var targetAlpha = gameEvent.idle ? 1.0f : 0.0f; var fader = FadeAlpha(1.0f - targetAlpha, targetAlpha, 1.0f); if (gameEvent.idle) { StartCoroutine(fader); StartCoroutine(Spin(fader, c => true)); } else { StartCoroutine(Spin(fader, c => c.MoveNext())); } }