MCPcopy Create free account
hub / github.com/ChunelFeng/CGraph / MyMatchNode

Class MyMatchNode

tutorial/MyGNode/MyMatchNode.h:15–38  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13#include "../MyParams/MyParam.h"
14
15class MyMatchNode : public CGraph::GNode {
16public:
17 CStatus run () override {
18 auto* myParam = CGRAPH_GET_GPARAM_WITH_NO_EMPTY(MyParam, "param1");
19 int value = 0;
20 {
21 CGRAPH_PARAM_READ_CODE_BLOCK(myParam)
22 value = myParam->iValue;
23 }
24 CGraph::CGRAPH_ECHO("[%s], iValue is [%d], Sleep for [%d] second ... ", \
25 this->getName().c_str(), value, value);
26 CGRAPH_SLEEP_SECOND(value)
27 return CStatus();
28 }
29
30 CBool isMatch() override {
31 /**
32 * 本函数默认返回 false,所有的 GElement 即在 MultiCondition 中默认不执行
33 * 如果需要被执行,则复写本函数,并且在调价符合的时候,返回 true,即可执行
34 */
35 auto* myParam = CGRAPH_GET_GPARAM_WITH_NO_EMPTY(MyParam, "param1");
36 return 0 != myParam->iCount % 2; // 当本条件返回是 true的时候,本节点才会在 MultiCondition 中被执行
37 }
38};
39
40#endif //CGRAPH_MYMATCHNODE_H

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected