Input & Resource Managers

This commit is contained in:
Isuru Samarathunga
2025-10-06 01:23:54 +05:30
parent 71c7499226
commit c23f5f4559
26 changed files with 20904 additions and 93 deletions

View File

@ -16,11 +16,12 @@
#pragma once
#include <IACore/Exception.hpp>
#include <IACore/Map.hpp>
#include <IACore/Logger.hpp>
#include <IACore/Memory.hpp>
#include <IACore/String.hpp>
#include <IACore/Vector.hpp>
#include <IACore/Exception.hpp>
#include <glm/ext/matrix_clip_space.hpp>
#include <glm/ext/matrix_transform.hpp>
@ -30,6 +31,8 @@
#include <glm/vec3.hpp>
#include <glm/vec4.hpp>
#include <chrono>
#define IAE_LOG_TAG "IAE"
#define IAE_LOG_INFO(...) ia::Logger::Info(IAE_LOG_TAG, __VA_ARGS__)
@ -52,6 +55,31 @@ namespace ia::iae
struct TimePeriod
{
TimePeriod()
{
}
TimePeriod(IN INT32 value, IN INT32 randomAdjustment)
{
SetValue(value);
SetRandomAdjustment(randomAdjustment);
}
VOID SetValue(IN INT32 value)
{
m_value = value;
}
VOID SetRandomAdjustment(IN INT32 adjustment)
{
m_randomAdjustment = adjustment;
}
FLOAT32 GetValue() CONST;
private:
INT32 m_value{};
INT32 m_randomAdjustment{};
};
struct ImageView

View File

@ -61,12 +61,13 @@ namespace ia::iae
STATIC VOID DebugDraw_StrokeRect(IN Vec2 position, IN Vec2 size);
// Resource Functions
STATIC Handle CreateImage();
STATIC Handle CreateSound();
STATIC Handle CreateImage(IN PCUINT8 encodedData, IN SIZE_T encodedDataSize);
STATIC Handle CreateImage(IN PCUINT8 rgbaData, IN INT32 width, IN INT32 height);
STATIC Handle CreateSound(IN PCUINT8 encodedData, IN SIZE_T encodedDataSize);
STATIC VOID DestroyImage(IN Handle image);
STATIC VOID DestroySound(IN Handle sound);
STATIC Vec2 GetImageExtent(IN Handle image);
STATIC VOID RescaleImage(IN Handle image, IN INT32 newWidth, IN INT32 newHeight);
STATIC IVec2 GetImageExtent(IN Handle image);
STATIC Handle RescaleImage(IN Handle image, IN INT32 newWidth, IN INT32 newHeight);
STATIC Handle CombineImages(IN CONST Vector<Handle>& images, IN INT32 unitWidth, IN INT32 unitHeight, IN INT32 unitCountX, IN INT32 unitCountY);
// Game Functions
@ -74,7 +75,8 @@ namespace ia::iae
STATIC VOID SetActiveCamera(IN ICameraComponent* cameraComponent);
// Scene Functions
STATIC Handle CreateScene();
STATIC Handle CreateScene(IN CONST String& sceneXML);
STATIC Handle CreateEmptyScene();
STATIC VOID DestroyScene(IN Handle handle);
STATIC VOID ChangeActiveScene(IN Handle scene);
STATIC VOID AddNodeToActiveScene(IN RefPtr<INode> node);
@ -94,9 +96,9 @@ namespace ia::iae
STATIC BOOL IsInputActionDown(IN Handle action);
STATIC BOOL WasInputActionPressed(IN Handle action);
STATIC BOOL WasInputActionReleased(IN Handle action);
STATIC BOOL IsInputActionDown(IN PCCHAR action);
STATIC BOOL WasInputActionPressed(IN PCCHAR action);
STATIC BOOL WasInputActionReleased(IN PCCHAR action);
STATIC BOOL IsInputActionDown(IN CONST String& action);
STATIC BOOL WasInputActionPressed(IN CONST String& action);
STATIC BOOL WasInputActionReleased(IN CONST String& action);
STATIC Handle BindInputAction(IN CONST String& name, IN InputKey key);
STATIC VOID BindInputAxis(IN InputKey upKey, IN InputKey downKey, IN InputKey leftKey, IN InputKey rightKey);