54 lines
3.7 KiB
TypeScript
54 lines
3.7 KiB
TypeScript
// Source/TengriPlatformer/Domains/Camera/Config/TengriCameraConfig.ts
|
|
|
|
import { Rotator } from '/TypeScript/Engine/Rotator.ts';
|
|
import { Vector } from '/TypeScript/Engine/Vector.ts';
|
|
import type { Float } from '/TypeScript/Engine/Float.ts';
|
|
|
|
export enum ETengriCameraBehavior {
|
|
FreeLook = 'Free Look (3D)',
|
|
SideScroller = 'Side Scroller (2.5D with DeadZone)',
|
|
}
|
|
|
|
export class TengriCameraConfig {
|
|
// ════════════════════════════════════════════════════════════════════
|
|
// BEHAVIOR
|
|
// ════════════════════════════════════════════════════════════════════
|
|
|
|
public readonly BehaviorType: ETengriCameraBehavior =
|
|
ETengriCameraBehavior.FreeLook;
|
|
|
|
// ════════════════════════════════════════════════════════════════════
|
|
// TRANSFORM
|
|
// ════════════════════════════════════════════════════════════════════
|
|
|
|
public readonly FixedRotation: Rotator = new Rotator(-15.0, -90.0, 0.0);
|
|
public readonly TargetArmLength: Float = 1000.0;
|
|
public readonly SocketOffset: Vector = new Vector(0.0, 0.0, 100.0);
|
|
|
|
// ════════════════════════════════════════════════════════════════════
|
|
// SMOOTHING
|
|
// ════════════════════════════════════════════════════════════════════
|
|
|
|
public readonly TransitionSpeed: Float = 2.0;
|
|
|
|
// ════════════════════════════════════════════════════════════════════
|
|
// LAG
|
|
// ════════════════════════════════════════════════════════════════════
|
|
|
|
public readonly bEnableLag: boolean = true;
|
|
public readonly LagSpeed: Float = 5.0;
|
|
|
|
// ════════════════════════════════════════════════════════════════════
|
|
// DEAD ZONE
|
|
// ════════════════════════════════════════════════════════════════════
|
|
|
|
public readonly DeadZoneExtent: Vector = new Vector(200.0, 0.0, 150.0);
|
|
public readonly DeadZoneOffset: Vector = new Vector(0.0, 0.0, 50.0);
|
|
|
|
// ════════════════════════════════════════════════════════════════════
|
|
// DEBUG
|
|
// ════════════════════════════════════════════════════════════════════
|
|
|
|
public readonly bDrawDebugBox: boolean = false;
|
|
}
|