Files

36 lines
1.0 KiB
C
Raw Permalink Normal View History

2026-03-01 12:16:08 +08:00
#pragma once
#include "BaseRailTile.h"
2026-03-01 12:16:08 +08:00
class Entity;
class Random;
class Level;
class ChunkRebuildData;
class DetectorRailTile : public BaseRailTile
2026-03-01 12:16:08 +08:00
{
friend class ChunkRebuildData;
private:
Icon **icons;
public:
DetectorRailTile(int id);
virtual int getTickDelay(Level *level);
2026-03-01 12:16:08 +08:00
virtual bool isSignalSource();
virtual void entityInside(Level *level, int x, int y, int z, shared_ptr<Entity> entity);
2026-03-01 12:16:08 +08:00
virtual void tick(Level *level, int x, int y, int z, Random *random);
virtual int getSignal(LevelSource *level, int x, int y, int z, int dir);
virtual int getDirectSignal(LevelSource *level, int x, int y, int z, int facing);
virtual void onPlace(Level *level, int x, int y, int z);
virtual bool hasAnalogOutputSignal();
virtual int getAnalogOutputSignal(Level *level, int x, int y, int z, int dir);
2026-03-01 12:16:08 +08:00
private:
virtual void checkPressed(Level *level, int x, int y, int z, int currentData);
public:
//@Override
void registerIcons(IconRegister *iconRegister);
//@Override
Icon *getTexture(int face, int data);
};