the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 66 lines 1.6 kB view raw
1#pragma once 2#include "TorchTile.h" 3using namespace std; 4 5class Random; 6 7class NotGateTile : public TorchTile 8{ 9 friend class Tile; 10 11private: 12 static const int RECENT_TOGGLE_TIMER = 20 * 3; 13 static const int MAX_RECENT_TOGGLES = 8; 14 15 bool on; 16 17public: 18 class Toggle 19 { 20 public: 21 int x, y, z; 22 __int64 when; 23 24 Toggle(int x, int y, int z, __int64 when) 25 { 26 this->x = x; 27 this->y = y; 28 this->z = z; 29 this->when = when; 30 } 31 }; 32 33private: 34 static unordered_map<Level *, deque<Toggle> *> recentToggles; // 4J - brought forward change from 1.3.2 35public: 36 static void removeLevelReferences(Level *level); // 4J added 37private: 38 bool isToggledTooFrequently(Level *level, int x, int y, int z, bool add); 39 40protected: 41 NotGateTile(int id, bool on); 42 43public: 44 int getTickDelay(Level *level); 45 void onPlace(Level *level, int x, int y, int z); 46 void onRemove(Level *level, int x, int y, int z, int id, int data); 47 int getSignal(LevelSource *level, int x, int y, int z, int face); 48 49private: 50 bool hasNeighborSignal(Level *level, int x, int y, int z); 51 52public: 53 void tick(Level *level, int x, int y, int z, Random *random); 54 void neighborChanged(Level *level, int x, int y, int z, int type); 55 56 int getDirectSignal(LevelSource *level, int x, int y, int z, int face); 57 58 int getResource(int data, Random *random, int playerBonusLevel); 59 bool isSignalSource(); 60 61public: 62 void animateTick(Level *level, int xt, int yt, int zt, Random *random); 63 int cloneTileId(Level *level, int x, int y, int z); 64 void levelTimeChanged(Level *level, __int64 delta, __int64 newTime); 65 bool isMatching(int id); 66};