Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
4.2 kB · 133 lines
C
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133#pragma once#include "Screen.h"#include "ScrolledSelectionList.h"class ItemStat;
class StatsScreen : public Screen{private: static ItemRenderer *itemRenderer;
protected: static const int BUTTON_CANCEL_ID = 0; static const int BUTTON_STATS_ID = 1; static const int BUTTON_BLOCKITEMSTATS_ID = 2; static const int BUTTON_ITEMSTATS_ID = 3;
Screen *lastScreen; wstring title;public: class GeneralStatisticsList; class ItemStatisticsList; class BlockStatisticsList;private: GeneralStatisticsList *statsList; ItemStatisticsList *itemStatsList; BlockStatisticsList *blockStatsList; StatsCounter *stats;
ScrolledSelectionList *activeList;
public: StatsScreen(Screen *lastScreen, StatsCounter *stats); virtual void init(); virtual void postInit();protected: virtual void buttonClicked(Button *button);public: virtual void render(int xm, int ym, float a);
class GeneralStatisticsList : public ScrolledSelectionList { protected: StatsScreen *parent; public: GeneralStatisticsList(StatsScreen *ss); // 4J - added parameter so we can access parent virtual int getNumberOfItems(); virtual void selectItem(int item, bool doubleClick); virtual bool isSelectedItem(int item); virtual int getMaxPosition(); virtual void renderBackground(); virtual void renderItem(int i, int x, int y, int h, Tesselator *t); };private:
static const float SLOT_TEX_SIZE; static const int SLOT_BG_SIZE = 18; static const int SLOT_STAT_HEIGHT = SLOT_BG_SIZE + 2; static const int SLOT_BG_X = 1; static const int SLOT_BG_Y = 1; static const int SLOT_FG_X = 2; static const int SLOT_FG_Y = 2; static const int SLOT_LEFT_INSERT = 40; static const int ROW_COL_1 = 2 + 113; static const int ROW_COL_2 = 2 + 163; static const int ROW_COL_3 = 2 + 213; static const int SLOT_TEXT_OFFSET = 5; static const int SORT_NONE = 0; static const int SORT_DOWN = -1; static const int SORT_UP = 1;
void blitSlot(int x, int y, int item); void blitSlotBg(int x, int y); void blitSlotIcon(int x, int y, int sx, int sy);
class StatisticsList : public ScrolledSelectionList { public: StatsScreen *parent; protected: int headerPressed; vector<ItemStat *> statItemList;// Comparator<ItemStat> itemStatSorter;
int sortColumn; int sortOrder; public: StatisticsList(StatsScreen *ss); // 4J - added parameter so we can access parent virtual void selectItem(int item, bool doubleClick); virtual bool isSelectedItem(int item); virtual void renderBackground(); virtual void renderHeader(int x, int y, Tesselator *t); virtual void clickedHeader(int headerMouseX, int headerMouseY); virtual int getNumberOfItems(); ItemStat *getSlotStat(int slot); virtual wstring getHeaderDescriptionId(int column) = 0; virtual void renderStat(ItemStat *stat, int x, int y, bool shaded); virtual void renderDecorations(int mouseX, int mouseY); virtual void renderMousehoverTooltip(ItemStat *stat, int x, int y); virtual void sortByColumn(int column); };
public: class ItemStatisticsList : public StatisticsList {
private: static const int COLUMN_DEPLETED = 0; static const int COLUMN_CRAFTED = 1; static const int COLUMN_USED = 2;
public: ItemStatisticsList(StatsScreen *ss); // 4J - added parameter so we can access parent virtual void renderHeader(int x, int y, Tesselator *t); virtual void renderItem(int i, int x, int y, int h, Tesselator *t); virtual wstring getHeaderDescriptionId(int column); };
class BlockStatisticsList : public StatisticsList {
private: static const int COLUMN_CRAFTED = 0; static const int COLUMN_USED = 1; static const int COLUMN_MINED = 2;
public: BlockStatisticsList(StatsScreen *ss); // 4J - added parameter so we can access parent virtual void renderHeader(int x, int y, Tesselator *t); virtual void renderItem(int i, int x, int y, int h, Tesselator *t); virtual wstring getHeaderDescriptionId(int column); }; };