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,42 @@
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2024 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#pragma once
#include <Input/Keyboard.h>
#include <Jolt/Core/StaticArray.h>
class ApplicationWindowLinux;
/// Keyboard interface class which keeps track on the status of all keys and keeps track of the list of keys pressed.
class KeyboardLinux : public Keyboard
{
public:
/// Destructor
virtual ~KeyboardLinux() override;
/// Initialization / shutdown
virtual bool Initialize(ApplicationWindow *inWindow) override;
virtual void Shutdown() override;
/// Update the keyboard state
virtual void Poll() override;
/// Checks if a key is pressed or not
virtual bool IsKeyPressed(EKey inKey) const override { return mKeysPressed[(int)inKey]; }
/// Buffered keyboard input, returns EKey::Invalid for none
virtual EKey GetFirstKey() override;
virtual EKey GetNextKey() override;
private:
void HandleEvent(const XEvent &inEvent);
EKey ToKey(int inKey) const;
ApplicationWindowLinux * mWindow = nullptr;
bool mKeysPressed[(int)EKey::NumKeys] = { };
StaticArray<EKey, 128> mPendingKeyBuffer;
StaticArray<EKey, 128> mKeyBuffer;
uint mCurrentKey = 0;
};