This commit is contained in:
Isuru Samarathunga
2025-10-21 21:03:40 +05:30
parent 86ed9346aa
commit 2d5875d211
11 changed files with 239 additions and 165 deletions

View File

@ -54,6 +54,7 @@ namespace ia::iae
STATIC VOID DrawQuad(IN Vec2 position, IN Handle texture, IN Vec2 scale, IN FLOAT32 rotation, IN UINT8 layer, IN UINT16 sortIndex);
STATIC VOID DrawCircle(IN Vec2 position, IN Handle texture, IN FLOAT32 radius, IN FLOAT32 rotation, IN UINT8 layer, IN UINT16 sortIndex);
STATIC VOID DrawText(IN CONST String& text, IN Vec2 position, IN FLOAT32 scale, IN FLOAT32 rotation, IN UINT8 layer, IN UINT16 sortIndex);
STATIC VOID SetSceneDesignViewport(IN Vec2 value);
// Renderer State Functions
STATIC VOID SetRenderState_Scissor(IN IVec4 rect);
@ -106,19 +107,26 @@ namespace ia::iae
// Input Functions
STATIC VOID Input_SwitchModeToText();
STATIC VOID Input_SwitchModeToAction();
STATIC BOOL Input_IsPointerDown();
STATIC Vec2 Input_GetPointerPosition();
STATIC BOOL Input_DidPointerClick(IN CONST Vec2& start, IN CONST Vec2& end);
STATIC BOOL Input_IsPointerDown(IN CONST Vec2& start, IN CONST Vec2& end);
STATIC BOOL Input_IsKeyDown(IN InputKey key);
STATIC BOOL Input_WasKeyPressed(IN InputKey key);
STATIC BOOL Input_WasKeyReleased(IN InputKey key);
STATIC VOID Input_SetupOnScreenGamePad();
STATIC VOID Input_SetupKeyboardGamePad(IN InputKey axisLeft, IN InputKey axisRight, IN InputKey axisDown,
IN InputKey axisUp, IN InputKey buttonA, IN InputKey buttonB,
IN InputKey buttonC, IN InputKey buttonD);
STATIC VOID Input_EnableOnScreenGamePad();
STATIC VOID Input_DisableOnScreenGamePad();
STATIC BOOL Input_IsPointerDown();
STATIC Vec2 Input_GetPointerPosition();
STATIC BOOL Input_DidPointerClick(IN CONST Vec2& start, IN CONST Vec2& end);
STATIC BOOL Input_IsPointerDown(IN CONST Vec2& start, IN CONST Vec2& end);
STATIC BOOL Input_DidPointerClick(IN CONST Vec2& center, IN FLOAT32 radius);
STATIC BOOL Input_IsPointerDown(IN CONST Vec2& center, IN FLOAT32 radius);
STATIC BOOL Input_IsKeyDown(IN InputKey key);
STATIC BOOL Input_WasKeyPressed(IN InputKey key);
STATIC BOOL Input_WasKeyReleased(IN InputKey key);
STATIC BOOL Input_GetButtonA();
STATIC BOOL Input_GetButtonB();
STATIC BOOL Input_GetButtonC();
@ -137,6 +145,7 @@ namespace ia::iae
STATIC String ReadTextAsset(IN CONST String& path);
STATIC Direction GetVectorPointingDirection(IN Vec2 v);
STATIC Vector<UINT8> ReadBinaryAsset(IN CONST String& path);
STATIC Vec2 CalculatePercentPosition(IN Vec2 percent);
// Random Functions
STATIC FLOAT32 GetRandomFloat();

View File

@ -48,18 +48,30 @@ namespace ia::iae
return m_extent;
}
Vec2& DesignViewport()
{
return m_designViewport;
}
Color &BackgroundColor()
{
return m_backgroundColor;
}
BOOL& EnableOnScreenGamePad()
{
return m_enableOnScreenGamePad;
}
private:
String m_uiMarkup{};
String m_uiMarkupStyles{};
IVec2 m_extent{100, 100};
Vec2 m_designViewport{};
CameraComponent *m_camera{};
Color m_backgroundColor{0, 0, 0, 255};
Map<String, RefPtr<INode>> m_nodes;
BOOL m_enableOnScreenGamePad{false};
public:
VIRTUAL VOID Draw();