Ajout de Jolt Physics + 1ere version des factory entitecomposants - camera, transform, rigidbody, collider, renderer

This commit is contained in:
Tom Ray
2026-03-22 00:28:03 +01:00
parent 6695d46bcd
commit 48348936a8
1147 changed files with 214331 additions and 353 deletions

View File

@@ -0,0 +1,38 @@
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2024 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#pragma once
#include <functional>
// Responsible for opening the main window
class ApplicationWindow
{
public:
/// Destructor
virtual ~ApplicationWindow() = default;
/// Initialize the window
virtual void Initialize(const char *inTitle) = 0;
/// Get window size
int GetWindowWidth() { return mWindowWidth; }
int GetWindowHeight() { return mWindowHeight; }
/// Set callback when the window resizes
using WindowResizeListener = std::function<void()>;
void SetWindowResizeListener(const WindowResizeListener &inListener) { mWindowResizeListener = inListener; }
/// Enter the main loop and keep rendering frames until the window is closed
using RenderCallback = std::function<bool()>;
virtual void MainLoop(RenderCallback inRenderCallback) = 0;
/// Function that will trigger the callback
void OnWindowResized(int inWidth, int inHeight) { mWindowWidth = inWidth; mWindowHeight = inHeight; if (mWindowResizeListener) { mWindowResizeListener(); } }
protected:
int mWindowWidth = 1920;
int mWindowHeight = 1080;
WindowResizeListener mWindowResizeListener;
};