#pragma once #include "cCell.h" #include "olcPixelGameEngine.h" #include "olcPGEX_Graphics3D.h" #include enum CELL_PLANE { PLANE_GRASS, PLANE_ASPHALT }; class cCell_Plane : public cCell { public: cCell_Plane(cCityMap* map, int x, int y, CELL_PLANE type); ~cCell_Plane(); protected: CELL_PLANE nType = PLANE_GRASS; private: olc::GFX3D::mesh* meshUnitQuad = nullptr; olc::Sprite* sprGrass = nullptr; olc::Sprite* sprPavement = nullptr; public: virtual bool LinkAssets(std::map &mapTextures, std::map &mapMesh, std::map &mapTransforms); virtual bool Update(float fElapsedTime); virtual bool DrawBase(olc::PixelGameEngine *pge, olc::GFX3D::PipeLine &pipe); virtual bool DrawAlpha(olc::PixelGameEngine *pge, olc::GFX3D::PipeLine &pipe); };