ToyPaletteNode.h
1.17 KB
//
// 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<void(ToyPaletteNode*, ToyPaletteComponentSprite*, bool, bool)> callback);
virtual void clearOnPaletteStateChangedCallback();
virtual void callFunctionByName(std::string methodName, const rapidjson::Value* arguments, ActionParseDelegate* parseDelegate, std::function<void()> callback = [](){}) override;
protected:
std::function<void(ToyPaletteNode*, ToyPaletteComponentSprite*, bool, bool)> _onPaletteStateChangedCallback;
void paletteComponentStateChanged(ToyPaletteComponentSprite* paletteComponentSprite, bool componentChosen, bool componentPressed);
friend class ToyPaletteComponentSprite;
};
#endif /* ToyPaletteNode_h */