about to add SDL and probably break everything
This commit is contained in:
@ -25,6 +25,6 @@ void AnimationController::onStart() {
|
||||
getScene()->eventSceneUnpausedUpdate.addListener(this, &AnimationController::onSceneUpdate);
|
||||
}
|
||||
|
||||
AnimationController::~AnimationController() {
|
||||
void AnimationController::onDispose() {
|
||||
getScene()->eventSceneUnpausedUpdate.removeListener(this, &AnimationController::onSceneUpdate);
|
||||
}
|
@ -18,7 +18,6 @@ namespace Dawn {
|
||||
AnimationController(SceneItem *item);
|
||||
|
||||
void onStart() override;
|
||||
|
||||
~AnimationController();
|
||||
void onDispose() override;
|
||||
};
|
||||
}
|
@ -58,10 +58,13 @@ void Camera::setRenderTarget(RenderTarget *renderTarget) {
|
||||
this, &Camera::onRenderTargetResize
|
||||
);
|
||||
this->updateProjection();
|
||||
this->eventRenderTargetResized.invoke(
|
||||
renderTarget->getWidth(), renderTarget->getHeight()
|
||||
);
|
||||
}
|
||||
|
||||
float_t Camera::getAspect() {
|
||||
RenderTarget *target = this->getRenderTarget();
|
||||
auto target = this->getRenderTarget();
|
||||
return target->getWidth() / target->getHeight();
|
||||
}
|
||||
|
||||
@ -71,9 +74,10 @@ void Camera::onStart() {
|
||||
|
||||
void Camera::onRenderTargetResize(RenderTarget *target, float_t w, float_t h) {
|
||||
this->updateProjection();
|
||||
this->eventRenderTargetResized.invoke(w, h);
|
||||
}
|
||||
|
||||
Camera::~Camera() {
|
||||
void Camera::onDispose() {
|
||||
this->getRenderTarget()->eventRenderTargetResized.removeListener(
|
||||
this, &Camera::onRenderTargetResize
|
||||
);
|
||||
|
@ -6,7 +6,7 @@
|
||||
#pragma once
|
||||
#include "scene/SceneItemComponent.hpp"
|
||||
#include "display/RenderTarget.hpp"
|
||||
#include "scene/Scene.hpp"
|
||||
#include "scene/Scene.hpp "
|
||||
|
||||
namespace Dawn {
|
||||
enum CameraType {
|
||||
@ -21,6 +21,8 @@ namespace Dawn {
|
||||
void onRenderTargetResize(RenderTarget *target, float_t w, float_t h);
|
||||
|
||||
public:
|
||||
Event<float_t, float_t> eventRenderTargetResized;
|
||||
|
||||
static Camera * create(Scene *scene) {
|
||||
auto item = scene->createSceneItem();
|
||||
auto cam = item->addComponent<Camera>();
|
||||
@ -81,10 +83,6 @@ namespace Dawn {
|
||||
* Event triggered by the scene item when the item is added to the scene.
|
||||
*/
|
||||
void onStart() override;
|
||||
|
||||
/**
|
||||
* Disposes a previously initialized camera.
|
||||
*/
|
||||
~Camera();
|
||||
void onDispose() override;
|
||||
};
|
||||
}
|
@ -18,9 +18,7 @@ std::vector<SceneItemComponent*> PixelPerfectCamera::getDependencies() {
|
||||
};
|
||||
}
|
||||
|
||||
void PixelPerfectCamera::onRenderTargetResized(
|
||||
RenderTarget *t, float_t w, float_t h
|
||||
) {
|
||||
void PixelPerfectCamera::onRenderTargetResized(float_t w, float_t h) {
|
||||
this->updateDimensions();
|
||||
}
|
||||
|
||||
@ -58,13 +56,13 @@ void PixelPerfectCamera::updateDimensions() {
|
||||
void PixelPerfectCamera::onStart() {
|
||||
assertNotNull(this->camera);
|
||||
this->updateDimensions();
|
||||
camera->getRenderTarget()->eventRenderTargetResized
|
||||
.addListener(this, &PixelPerfectCamera::onRenderTargetResized)
|
||||
;
|
||||
camera->eventRenderTargetResized.addListener(
|
||||
this, &PixelPerfectCamera::onRenderTargetResized
|
||||
);
|
||||
}
|
||||
|
||||
PixelPerfectCamera::~PixelPerfectCamera() {
|
||||
camera->getRenderTarget()->eventRenderTargetResized
|
||||
.removeListener(this, &PixelPerfectCamera::onRenderTargetResized)
|
||||
;
|
||||
void PixelPerfectCamera::onDispose() {
|
||||
camera->eventRenderTargetResized.removeListener(
|
||||
this, &PixelPerfectCamera::onRenderTargetResized
|
||||
);
|
||||
}
|
@ -11,7 +11,7 @@ namespace Dawn {
|
||||
protected:
|
||||
Camera *camera = nullptr;
|
||||
/** Event for when the render target is resized. */
|
||||
void onRenderTargetResized(RenderTarget *target, float_t w, float_t h);
|
||||
void onRenderTargetResized(float_t w, float_t h);
|
||||
|
||||
/**
|
||||
* Updates the underlying camera's projection information.
|
||||
@ -30,7 +30,6 @@ namespace Dawn {
|
||||
|
||||
std::vector<SceneItemComponent*> getDependencies() override;
|
||||
void onStart() override;
|
||||
|
||||
~PixelPerfectCamera();
|
||||
void onDispose() override;
|
||||
};
|
||||
}
|
@ -72,7 +72,7 @@ void SimpleRenderTargetQuad::onStart() {
|
||||
}
|
||||
}
|
||||
|
||||
SimpleRenderTargetQuad::~SimpleRenderTargetQuad() {
|
||||
void SimpleRenderTargetQuad::onDispose() {
|
||||
if(this->renderTarget != nullptr) {
|
||||
this->renderTarget->eventRenderTargetResized.removeListener(
|
||||
this, &SimpleRenderTargetQuad::onRenderTargetResized
|
||||
|
@ -36,7 +36,6 @@ namespace Dawn {
|
||||
|
||||
std::vector<SceneItemComponent*> getDependencies() override;
|
||||
void onStart() override;
|
||||
|
||||
~SimpleRenderTargetQuad();
|
||||
void onDispose() override;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user