#pragma once #include "GameRuleDefinition.h" class CompoundGameRuleDefinition : public GameRuleDefinition { protected: std::vector m_children; protected: GameRuleDefinition* m_lastRuleStatusChanged; public: CompoundGameRuleDefinition(); virtual ~CompoundGameRuleDefinition(); virtual void getChildren(std::vector* children); virtual GameRuleDefinition* addChild( ConsoleGameRules::EGameRuleType ruleType); virtual void populateGameRule( GameRulesInstance::EGameRulesInstanceType type, GameRule* rule); virtual bool onUseTile(GameRule* rule, int tileId, int x, int y, int z); virtual bool onCollectItem(GameRule* rule, std::shared_ptr item); virtual void postProcessPlayer(std::shared_ptr player); };