mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-05-07 05:40:40 +00:00
fixing some issues in Drawables components and Render systems
This commit is contained in:
@@ -19,5 +19,10 @@ namespace BBM
|
||||
: WAL::Component(entity)
|
||||
{
|
||||
}
|
||||
|
||||
WAL::Component *clone(WAL::Entity &entity) const override
|
||||
{
|
||||
return new Drawable2DComponent(entity);
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -19,5 +19,10 @@ namespace BBM
|
||||
: WAL::Component(entity)
|
||||
{
|
||||
}
|
||||
|
||||
WAL::Component *clone(WAL::Entity &entity) const override
|
||||
{
|
||||
return new Drawable3DComponent(entity);
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -21,17 +21,17 @@ namespace BBM
|
||||
RAY::Window &_window;
|
||||
public:
|
||||
explicit Renderer2DSystem(RAY::Window &window)
|
||||
: WAL::System({typeid(PositionComponent), typeid(Drawable3DComponent<T>)}),
|
||||
: WAL::System({typeid(PositionComponent), typeid(Drawable2DComponent<T>)}),
|
||||
_window(window)
|
||||
{
|
||||
}
|
||||
|
||||
void onUpdate(WAL::Entity &entity, std::chrono::nanoseconds dtime) override
|
||||
{
|
||||
auto &comp = entity.getComponent<Drawable3DComponent<T>>();
|
||||
auto &comp = entity.getComponent<Drawable2DComponent<T>>();
|
||||
auto &pos = entity.getComponent<PositionComponent>();
|
||||
|
||||
// TODO update drawable pos with pos
|
||||
comp.setPosition({pos.getX(), pos.getY()});
|
||||
comp.member.drawOn(this->_window);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace BBM
|
||||
auto &comp = entity.getComponent<Drawable3DComponent<T>>();
|
||||
auto &pos = entity.getComponent<PositionComponent>();
|
||||
|
||||
// TODO update drawable pos with pos
|
||||
comp.setPosition(pos);
|
||||
comp.member.drawOn(this->_window);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
#include "Drawables/Texture.hpp"
|
||||
#include "Model/Model.hpp"
|
||||
#include "Model/ModelAnimations.hpp"
|
||||
#include "System/Renderer/Renderer2DSystem.hpp"
|
||||
#include "Component/Drawable/Drawable2DComponent.hpp"
|
||||
#include "Vector/Vector3.hpp"
|
||||
#include "Window.hpp"
|
||||
#include "TraceLog.hpp"
|
||||
@@ -21,6 +23,7 @@
|
||||
int main()
|
||||
{
|
||||
SetTraceLogLevel(LOG_WARNING);
|
||||
|
||||
// Initialization
|
||||
//--------------------------------------------------------------------------------------
|
||||
const int screenWidth = 800;
|
||||
@@ -29,9 +32,10 @@ int main()
|
||||
RAY::Window &window = RAY::Window::getInstance(screenWidth, screenHeight, "Bidibidibop", FLAG_WINDOW_RESIZABLE);
|
||||
RAY::Camera::Camera3D camera(RAY::Vector3(10.0f, 10.0f, 10.0f),
|
||||
RAY::Vector3(0.0f, 0.0f, 0.0f),
|
||||
RAY::Vector3(0.0f, 1.0f, 0.0f),
|
||||
RAY::Vector3(0.0f, 1.0f, 0.0f),
|
||||
45.0f, CAMERA_PERSPECTIVE
|
||||
);
|
||||
BBM::Renderer2DSystem<RAY::Drawables::Drawables2D::Text> textSystem(window);
|
||||
RAY::Model model("assets/guy.iqm");
|
||||
RAY::Texture texture("assets/guytex.png");
|
||||
RAY::ModelAnimations animations("assets/guy.iqm");
|
||||
|
||||
Reference in New Issue
Block a user