// // ToyPaletteNode.h // SteveMaggieCpp // // Created by Katarzyna Kalinowska-Górska on 17.05.2017. // // #ifndef ToyPaletteNode_h #define ToyPaletteNode_h #include "ToyPlainNode.h" #include "ToyPaletteComponentSprite.h" class ToyPaletteNode : public ToyPlainNode { public: static ToyPaletteNode* create(); virtual bool init() override; virtual ToyPaletteComponentSprite* getChosenComponent(); virtual void setOnPaletteStateChangedCallback(std::function callback); virtual void clearOnPaletteStateChangedCallback(); virtual void callFunctionByName(std::string methodName, const rapidjson::Value* arguments, ActionParseDelegate* parseDelegate, std::function callback = [](){}) override; protected: std::function _onPaletteStateChangedCallback; void paletteComponentStateChanged(ToyPaletteComponentSprite* paletteComponentSprite, bool componentChosen, bool componentPressed); friend class ToyPaletteComponentSprite; }; #endif /* ToyPaletteNode_h */