TAbstractEditor::TAbstractEditor(IBaluWorldInstance* world_instance) { editor_global_pos = TVec2(0, 0); current_local_editor = nullptr; this->world_instance = world_instance; active_tool = nullptr; editor_global_pos = TVec2(0, 0); //world_instance->AddMouseEventListener(this); }
void TGameWindow::Draw() { TBegin2d begin2d; TRenderer * r = TRenderer::GetInstance(); r->FillRect( TURect(0,0,800,600), TColor(0,0,0,0) ); TTransformedLitVert verts[4]; TVec2 corners[4]= { TVec2(0,0), TVec2(800,0), TVec2(800,600), TVec2(0,600) }; while (mOffset>1) { mOffset--; } TVec2 uv[2]= { TVec2(0+mOffset,0+mOffset), TVec2(1+mOffset,1+mOffset), }; CreateVertsFromRect( TVec2(0,0),verts,corners,uv,TMat3(),1,TColor(1,1,1,1) ) ; r->SetTexture(mBigTex); r->SetTextureMapMode( TRenderer::kMapWrap, TRenderer::kMapWrap ); r->DrawVertices(TRenderer::kDrawTriFan, TVertexSet(verts,4) ); }
void TFxSprite::Draw(const TDrawSpec &environmentSpec, int32_t depth) { if (!IsVisible()) { return; } TDrawSpec localSpec = GetDrawSpec().GetRelative(environmentSpec); mEmitterLocus.mPosition = TVec2(localSpec.mMatrix[2]); mEmitterUp.mUp = TVec2(localSpec.mMatrix[1].x, -localSpec.mMatrix[1].y); mDrawnOnce = true; SpriteList::iterator s; if (depth!=0) { // Draw the sprites that have negative layer (behind us) for (s=mChildren->begin(); s!=mChildren->end(); ++s) { TSpriteRef sprite = *s; if (sprite->GetLayer()>=0) break ; sprite->Draw(localSpec,depth-1); } } // go ahead and draw the texture if we have one; we can use // this as a marker in FluidFX, at the very least. if (GetTexture()) GetTexture()->DrawSprite(localSpec); mLPS.Draw( mRenderOrigin ); if (depth!=0) { // Positive children for ( ; s!=mChildren->end(); ++s) { TSpriteRef sprite = *s; sprite->Draw(localSpec,depth-1); } } }
TClassEditor::TClassEditor(TDrawingHelperContext drawing_context, IBaluWorld* world, IBaluClass* edited_class, IBaluWorldInstance* world_instance) : TAbstractEditor(world_instance), tools_registry(&scene) { auto scene_instance = world_instance->RunScene(); world_instance->GetComposer()->AddToRender(scene_instance, drawing_context.viewport); drawing_helper = std::unique_ptr<TDrawingHelper>(new TDrawingHelper(drawing_context)); scene.Initialize(world, edited_class, scene_instance, drawing_helper.get()); scene.transformed_class.reset(new TBaluTransformedClass(dynamic_cast<TBaluClass*>(edited_class))); scene.transformed_class->SetTransform(TBaluTransform()); scene.transformed_class->SetScale(TVec2(1, 1)); scene.editor_scene_class_instance = new TBaluTransformedClassInstance(scene.transformed_class.get(), dynamic_cast<TBaluSceneInstance*>(scene_instance)); }