the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at master 40 lines 1.2 kB view raw
1#pragma once 2#include "DispenseItemBehavior.h" 3 4class FacingEnum; 5class Position; 6 7class DefaultDispenseItemBehavior : public DispenseItemBehavior 8{ 9protected: 10 enum eOUTCOME 11 { 12 // Item has special behaviour that was executed successfully. 13 ACTIVATED_ITEM = 0, 14 15 // Item was dispenced onto the ground as a pickup. 16 DISPENCED_ITEM = 1, 17 18 // Execution failed, the item was left unaffected. 19 LEFT_ITEM = 2, 20 }; 21 22public: 23 DefaultDispenseItemBehavior() {}; 24 virtual ~DefaultDispenseItemBehavior() {}; 25 virtual shared_ptr<ItemInstance> dispense(BlockSource *source, shared_ptr<ItemInstance> dispensed); 26 27protected: 28 // 4J-JEV: Added value used to play FAILED sound effect upon reaching spawn limits. 29 virtual shared_ptr<ItemInstance> execute(BlockSource *source, shared_ptr<ItemInstance> dispensed, eOUTCOME &outcome); 30 31public: 32 static void spawnItem(Level *world, shared_ptr<ItemInstance> item, int accuracy, FacingEnum *facing, Position *position); 33 34protected: 35 virtual void playSound(BlockSource *source, eOUTCOME outcome); 36 virtual void playAnimation(BlockSource *source, FacingEnum *facing, eOUTCOME outcome); 37 38private: 39 virtual int getLevelEventDataFrom(FacingEnum *facing); 40};