#pragma once #include "CompoundGameRuleDefinition.h" class CompleteAllRuleDefinition : public CompoundGameRuleDefinition { private: typedef struct _packetData { int goal; int progress; } PacketData; public: ConsoleGameRules::EGameRuleType getActionType() { return ConsoleGameRules::eGameRuleType_CompleteAllRule; } virtual void getChildren(std::vector *children); virtual bool onUseTile(GameRule *rule, int tileId, int x, int y, int z); virtual bool onCollectItem(GameRule *rule, std::shared_ptr item); static std::wstring generateDescriptionString(const std::wstring &description, void *data, int dataLength); private: void updateStatus(GameRule *rule); };