#pragma once #include "Tile.h" #include "../Util/Definitions.h" class ThinFenceTile : public Tile { private: std::wstring edgeTexture; bool dropsResources; std::wstring texture; Icon* iconSide; public: ThinFenceTile(int id, const std::wstring& tex, const std::wstring& edgeTex, Material* material, bool dropsResources); virtual int getResource(int data, Random* random, int playerBonusLevel); virtual bool isSolidRender(bool isServerLevel = false); virtual bool isCubeShaped(); virtual int getRenderShape(); virtual bool shouldRenderFace(LevelSource* level, int x, int y, int z, int face); virtual void addAABBs(Level* level, int x, int y, int z, AABB* box, AABBList* boxes, std::shared_ptr source); virtual void updateDefaultShape(); virtual void updateShape( LevelSource* level, int x, int y, int z, int forceData = -1, std::shared_ptr forceEntity = std::shared_ptr< TileEntity>()); // 4J added forceData, forceEntity param virtual Icon* getEdgeTexture(); bool attachsTo(int tile); protected: bool isSilkTouchable(); std::shared_ptr getSilkTouchItemInstance(int data); public: virtual void registerIcons(IconRegister* iconRegister); };