Even more shared pointers.
This commit is contained in:
		@@ -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),
 | 
			
		||||
 
 | 
			
		||||
@@ -12,5 +12,5 @@ Material::Material(SceneItem *item) : SceneItemComponent(item) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ShaderManager & Material::getShaderManager() {
 | 
			
		||||
  return *this->getGame()->renderManager.getShaderManager();
 | 
			
		||||
  return *this->getGame()->renderManager->getShaderManager();
 | 
			
		||||
}
 | 
			
		||||
@@ -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;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@@ -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 {};
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@@ -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();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user