File indexing completed on 2024-05-12 05:39:27

0001 #ifndef EXPLOSEDICENODE_H
0002 #define EXPLOSEDICENODE_H
0003 
0004 #include "executionnode.h"
0005 #include "result/diceresult.h"
0006 
0007 class ValidatorList;
0008 
0009 /**
0010  * @brief The ExplodeDiceNode class explode dice while is valid by the validator.
0011  */
0012 class ExplodeDiceNode : public ExecutionNode
0013 {
0014 public:
0015     ExplodeDiceNode();
0016     virtual ~ExplodeDiceNode();
0017     virtual void run(ExecutionNode* previous= nullptr);
0018     virtual void setValidatorList(ValidatorList*);
0019     virtual QString toString(bool) const;
0020     virtual qint64 getPriority() const;
0021 
0022     virtual ExecutionNode* getCopy() const;
0023 
0024     void setLimitNode(ExecutionNode* limitNode);
0025 
0026 protected:
0027     DiceResult* m_diceResult;
0028     ValidatorList* m_validatorList{nullptr};
0029     ExecutionNode* m_limit{nullptr};
0030 };
0031 
0032 #endif // EXPLOSEDICENODE_H