---
--- Generated manually.
--- Created by gyz.
--- DateTime: 2020-6-30 10:29:30
---

local LBaseCameraController = ImportScript("ugc_common/script/core/camera/camera_controller_base.lua").LBaseCameraController;

local LCameraController = LCameraController or class("LCameraController", LBaseCameraController);

function LCameraController:ctor()
    --
end

function LCameraController:dtor()
    --
end

function LCameraController:SetFovAngleY(angle)
    return KLGameWorld.SetCameraFovAngleY(angle);
end

function LCameraController:SetAspectRatio(ratio)
    return KLGameWorld.SetCameraAspectRatio(ratio);
end

function LCameraController:SetNearPlane(near)
    return KLGameWorld.SetCameraNearPlane(near);
end

function LCameraController:SetFarPlane(far)
    return KLGameWorld.SetCameraFarPlane(far);
end

function LCameraController:SetPosition(x, y, z)
    return KLGameWorld.SetPosition(x, y, z)
end

function LCameraController:SetLookDir(x, y, z)
    return KLGameWorld.SetLookDir(x, y, z)
end

function LCameraController:SetUpDir(x, y, z)
    return KLGameWorld.SetUpDir(x, y, z)
end

-- miniscene
function LCameraController:SetFovAngleY_MiniScene(angle)
    return KLGameWorld.SetCameraFovAngleY_MiniScene(angle);
end

function LCameraController:SetAspectRatio_MiniScene(ratio)
    return KLGameWorld.SetCameraAspectRatio_MiniScene(ratio);
end

function LCameraController:SetNearPlane_MiniScene(near)
    return KLGameWorld.SetCameraNearPlane_MiniScene(near);
end

function LCameraController:SetFarPlane_MiniScene(far)
    return KLGameWorld.SetCameraFarPlane_MiniScene(far);
end

function LCameraController:SetPosition_MiniScene(x, y, z)
    return KLGameWorld.SetPosition_MiniScene(x, y, z)
end

function LCameraController:SetLookDir_MiniScene(x, y, z)
    return KLGameWorld.SetLookDir_MiniScene(x, y, z)
end

function LCameraController:SetUpDir_MiniScene(x, y, z)
    return KLGameWorld.SetUpDir_MiniScene(x, y, z)
end

---@return boolean
---@return number fX
---@return number fY
---@return number fZ
function LCameraController:GetPosition()
    return true, KLGameWorld.GetPosition(0, 0, 0);
end

function LCameraController:GetUpDir()
    --
end

function LCameraController:GetLookDir()
    --
end

function LCameraController:ResetCamera()
    self:SetFovAngleY(55.0);
    self:SetAspectRatio(2042.0 / 1080.0);
    self:SetNearPlane(50.0);
    self:SetFarPlane(100000.0);
    self:SetPosition(0, 100, -210);
    self:SetLookDir(0, 100, 0);
    self:SetUpDir(0, 1, 0);

    return true;
end


_G.g_CameraController = LCameraController:new();
