Even more shared pointers.

This commit is contained in:
2023-11-10 22:33:21 -06:00
parent 732a90931c
commit 085facd079
19 changed files with 89 additions and 80 deletions

View File

@ -10,7 +10,7 @@ using namespace Dawn;
Camera::Camera(SceneItem *item) :
SceneItemComponent(item),
renderTarget(item->scene->game->renderManager.getBackBuffer()),
renderTarget(item->scene->game->renderManager->getBackBuffer()),
fov(0.785398f),// 45 degrees,
type(CAMERA_TYPE_PERSPECTIVE),
orthoLeft(-0.5f),

View File

@ -12,5 +12,5 @@ Material::Material(SceneItem *item) : SceneItemComponent(item) {
}
ShaderManager & Material::getShaderManager() {
return *this->getGame()->renderManager.getShaderManager();
return *this->getGame()->renderManager->getShaderManager();
}

View File

@ -10,7 +10,7 @@ namespace Dawn {
class SubSceneController : public SceneItemComponent {
public:
// @optional
Scene *subScene = nullptr;
std::shared_ptr<Scene> subScene = nullptr;
// @optional
bool_t onlyUpdateUnpaused = false;

View File

@ -33,7 +33,7 @@ float_t UIBorder::getChildOffsetY() {
std::vector<struct ShaderPassItem> UIBorder::getUIRenderPasses() {
struct ShaderPassItem item;
auto shader = getGame()->renderManager.uiShader;
auto shader = getGame()->renderManager->uiShader;
item.shader = shader;
item.colorValues[shader->paramColor] = COLOR_WHITE;
item.parameterBuffers[shader->bufferUiCanvas] = &this->getCanvas()->shaderBuffer;

View File

@ -14,9 +14,12 @@ UIComponentRenderable::UIComponentRenderable(SceneItem *i) : UIComponent(i) {
std::vector<struct ShaderPassItem> UIComponentRenderable::getRenderPasses(
struct IRenderableContext &context
) {
auto renderManager = context.renderPipeline->renderManager.lock();
assertNotNull(renderManager, "RenderManager cannot be null");
if(
context.camera->getRenderTarget() !=
context.renderPipeline->renderManager->getBackBuffer()
renderManager->getBackBuffer()
) {
auto canvas = this->getCanvas();
if(canvas->drawType == UI_DRAW_TYPE_WORLD_CAMERA_RELATIVE) return {};

View File

@ -28,7 +28,7 @@ float_t UIImage::getContentHeight() {
std::vector<struct ShaderPassItem> UIImage::getUIRenderPasses() {
struct ShaderPassItem item;
auto shader = getGame()->renderManager.uiShader;
auto shader = getGame()->renderManager->uiShader;
item.shader = shader;
item.colorValues[shader->paramColor] = this->color;
item.parameterBuffers[shader->bufferUiCanvas] = &getCanvas()->shaderBuffer;

View File

@ -27,7 +27,7 @@ float_t UIMesh::getContentHeight() {
std::vector<struct ShaderPassItem> UIMesh::getUIRenderPasses() {
struct ShaderPassItem item;
auto shader = getGame()->renderManager.uiShader;
auto shader = getGame()->renderManager->uiShader;
item.shader = shader;
item.colorValues[shader->paramColor] = this->color;
item.parameterBuffers[shader->bufferUiCanvas] = &getCanvas()->shaderBuffer;

View File

@ -87,7 +87,7 @@ std::vector<struct ShaderPassItem> UILabel::getUIRenderPasses() {
if(this->textsBuffered.empty()) return {};
auto canvas = this->getCanvas();
auto shader = getGame()->renderManager.fontShader;
auto shader = getGame()->renderManager->fontShader;
// Translate
glm::mat4 model = transform->getWorldTransform();