2022-11-01 14:20:03 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
// Project Includes
|
|
|
|
#include "Components/Component.hxx"
|
|
|
|
#include "Math/Vector3.hxx"
|
|
|
|
#include "Math/Quaternion.hxx"
|
|
|
|
// External Dependencies
|
|
|
|
#include "Camera/SHCameraComponent.h"
|
|
|
|
|
|
|
|
namespace SHADE
|
|
|
|
{
|
|
|
|
public ref class Camera : public Component<SHCameraComponent>
|
|
|
|
{
|
|
|
|
internal:
|
|
|
|
Camera(Entity entity);
|
|
|
|
|
|
|
|
public:
|
|
|
|
property float Pitch
|
|
|
|
{
|
|
|
|
float get();
|
|
|
|
void set(float val);
|
|
|
|
}
|
|
|
|
property float Yaw
|
|
|
|
{
|
|
|
|
float get();
|
|
|
|
void set(float val);
|
|
|
|
}
|
|
|
|
property float Roll
|
|
|
|
{
|
|
|
|
float get();
|
|
|
|
void set(float val);
|
|
|
|
}
|
|
|
|
property float Width
|
|
|
|
{
|
|
|
|
float get();
|
|
|
|
void set(float val);
|
|
|
|
}
|
|
|
|
property float Height
|
|
|
|
{
|
|
|
|
float get();
|
|
|
|
void set(float val);
|
|
|
|
}
|
|
|
|
property float Near
|
|
|
|
{
|
|
|
|
float get();
|
|
|
|
void set(float val);
|
|
|
|
}
|
|
|
|
property float Far
|
|
|
|
{
|
|
|
|
float get();
|
|
|
|
void set(float val);
|
|
|
|
}
|
|
|
|
property float FOV
|
|
|
|
{
|
|
|
|
float get();
|
|
|
|
void set(float val);
|
|
|
|
}
|
|
|
|
property Vector3 Position
|
|
|
|
{
|
|
|
|
Vector3 get();
|
|
|
|
void set(Vector3 val);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void SetMainCamera(size_t directorIndex);
|
|
|
|
void SetMainCamera();
|
|
|
|
void LookAt(Vector3 targetPosition);
|
2022-11-01 15:49:15 +08:00
|
|
|
Vector3 GetForward();
|
2022-11-02 17:31:57 +08:00
|
|
|
Vector3 GetRight();
|
|
|
|
|
2022-11-01 14:20:03 +08:00
|
|
|
};
|
|
|
|
}
|