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,114 @@
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#include <TestFramework.h>
#include <UI/UITextButton.h>
#include <UI/UIManager.h>
JPH_IMPLEMENT_RTTI_VIRTUAL(UITextButton)
{
JPH_ADD_BASE_CLASS(UITextButton, UIStaticText)
}
void UITextButton::CopyTo(UIElement *ioElement) const
{
UIStaticText::CopyTo(ioElement);
UITextButton *element = StaticCast<UITextButton>(ioElement);
element->mDownTextColor = mDownTextColor;
element->mHighlightTextColor = mHighlightTextColor;
element->mSelectedTextColor = mSelectedTextColor;
element->mRepeatStartTime = mRepeatStartTime;
element->mRepeatTime = mRepeatTime;
element->mClickAction = mClickAction;
}
bool UITextButton::MouseDown(int inX, int inY)
{
if (UIStaticText::MouseDown(inX, inY))
return true;
if (Contains(inX, inY))
{
mPressed = true;
mIsRepeating = false;
mRepeatTimeLeft = mRepeatStartTime;
return true;
}
return false;
}
bool UITextButton::MouseUp(int inX, int inY)
{
if (UIStaticText::MouseUp(inX, inY))
return true;
if (mPressed)
{
mPressed = false;
if (!mIsRepeating && Contains(inX, inY))
{
HandleUIEvent(EVENT_BUTTON_DOWN, this);
if (mClickAction)
mClickAction();
}
return true;
}
return false;
}
bool UITextButton::MouseMove(int inX, int inY)
{
if (UIStaticText::MouseMove(inX, inY))
return true;
return mPressed;
}
void UITextButton::MouseCancel()
{
UIStaticText::MouseCancel();
mPressed = false;
}
void UITextButton::Update(float inDeltaTime)
{
UIStaticText::Update(inDeltaTime);
if (mPressed && mRepeatStartTime > 0)
{
// Check repeat
mRepeatTimeLeft -= inDeltaTime;
if (mRepeatTimeLeft <= 0.0f)
{
// We're repeating
mIsRepeating = true;
mRepeatTimeLeft = mRepeatTime;
HandleUIEvent(EVENT_BUTTON_DOWN, this);
if (mClickAction)
mClickAction();
}
}
}
void UITextButton::DrawCustom() const
{
UIStaticText::DrawCustom(IsDisabled()? mDisabledTextColor : (mPressed? mDownTextColor : (mIsHighlighted? mHighlightTextColor : (mIsSelected? mSelectedTextColor : mTextColor))));
}
void UITextButton::Draw() const
{
DrawCustom();
// Skip direct base class, we modify the text color
UIElement::Draw();
}