#pragma once #include "Tile.h" class TheEndPortalFrameTile : public Tile { public: static const int EYE_BIT = 4; static const std::wstring TEXTURE_EYE; private: Icon* iconTop; Icon* iconEye; public: TheEndPortalFrameTile(int id); virtual Icon* getTexture(int face, int data); void registerIcons(IconRegister* iconRegister); Icon* getEye(); virtual bool isSolidRender(bool isServerLevel = false); virtual int getRenderShape(); virtual void updateDefaultShape(); virtual void addAABBs(Level* level, int x, int y, int z, AABB* box, AABBList* boxes, std::shared_ptr source); static bool hasEye(int data); virtual int getResource(int data, Random* random, int playerBonusLevel); virtual void setPlacedBy(Level* level, int x, int y, int z, std::shared_ptr by, std::shared_ptr itemInstance); virtual bool hasAnalogOutputSignal(); virtual int getAnalogOutputSignal(Level* level, int x, int y, int z, int dir); };