summaryrefslogtreecommitdiff
path: root/gfx/followCameraController.h
blob: ef2000d324fa918c0f0fccbc11a495845a91b85b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef FOLLOW_CAMERA_CONTROLLER_H
#define FOLLOW_CAMERA_CONTROLLER_H

#include "game/worldobject.h"
#include <game/vehicles/vehicle.h>
#include <gfx/camera_controller.h>

class Camera;

class FollowCameraController : public CameraController {
public:
	enum class Mode { Pan, Ride, ISO };
	explicit FollowCameraController(VehicleWPtr, Mode = Mode::Pan);

	void tick(TickDuration) override { }

	void updateCamera(Camera * camera) const override;

private:
	VehicleWPtr target;
	Mode mode;
};
#endif