#pragma once #include "Tile.h" #include "Definitions.h" class ThinFenceTile : public Tile { private: wstring edgeTexture; bool dropsResources; wstring texture; Icon *iconSide; public: ThinFenceTile(int id, const wstring &tex, const 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, shared_ptr source); virtual void updateDefaultShape(); virtual void updateShape(LevelSource *level, int x, int y, int z, int forceData = -1, shared_ptr forceEntity = shared_ptr()); // 4J added forceData, forceEntity param virtual Icon *getEdgeTexture(); bool attachsTo(int tile); protected: bool isSilkTouchable(); shared_ptr getSilkTouchItemInstance(int data); public: void registerIcons(IconRegister *iconRegister); };