summaryrefslogtreecommitdiff
path: root/gfx/followCameraController.h
blob: d57b59f8248a2f0e099f4f8143bd0918a097887d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#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 Shader;

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, Shader * shader) const override;

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