import { Mesh, Vector3 } from '@anov/3d-core'; import type { Object3D, PerspectiveCamera, SceneControl } from '@anov/3d-core'; import type Player from '../player'; interface PropsType { character: Object3D; characterRotateBox: Object3D; camera: PerspectiveCamera; player: Player; sceneControl: SceneControl; } export default class Camera_movement { camera: PerspectiveCamera; character: Object3D; currentPosition: Vector3; currentLookat: Vector3; characterRotateBox: Object3D; control: any; player: Player; view: Mesh; sceneControl?: SceneControl; constructor({ character, camera, characterRotateBox, player, sceneControl }: PropsType); private calculateIdealLookat; private updateCharacter; private updateCamera; private updateNewPosition; update(deltaT: number): void; } export {};