public PlayerFacade(Rigidbody playerRigidbody, Camera playerCamera) { _CameraPlayer = new PlayerCamera(playerRigidbody.transform, playerCamera); _EventPlayer = new PlayerEvent(playerRigidbody, _CameraPlayer); _StatePlayer = new PlayerState(_EventPlayer); _InputPlayer = new PlayerInput(_StatePlayer, _EventPlayer, _CameraPlayer); _GroundCheck = _EventPlayer.PhysicsPlayer().GetGroundCheck(); _GroundCheck.SetFallProxy(_StatePlayer.ProxyFall()); _InputPlayer.ActivateInputDevice(); }