fogd-engine/src/camera_controller.h

31 lines
894 B
C

#ifndef CAMERA_CONTROLLER_H
#define CAMERA_CONTROLLER_H
#include "core/transformable.h"
#include "core/scene_node_entity.h"
#include "utils/mirror.h"
#include "utils/drop.h"
typedef struct CameraController {
SceneNode *node;
Transformable transform;
Transform global;
float rotation_speed;
float max_speed_time;
Transformable target;
float time_rotated;
} CameraController;
extern SceneNode *CreateCameraController(Transformable target);
extern void DestroyCameraController(CameraController *self);
extern void CameraControllerEnterTree(CameraController *self);
extern void CameraControllerExitTree(CameraController *self);
extern void CameraControllerTick(CameraController *self, double delta);
DECL_REFLECT(CameraController);
decl_typeclass_impl(SceneNodeEntity, CameraController);
decl_typeclass_impl(Drop, CameraController);
#endif // !CAMERA_CONTROLLER_H