Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <vector>
- class Agent;
- class Property;
- class WorldState;
- enum ConditionType
- {
- eENEMY_DEAD,
- eWEAPON_DRAWN,
- eWEAPON_LOADED,
- eHAS_TARGET
- };
- struct WorldProperty
- {
- union Value
- {
- bool bValue;
- float fValue;
- int nValue;
- };
- unsigned int subjectID;
- ConditionType type;
- Value value;
- };
- class Action
- {
- public:
- Action(void);
- ~Action(void);
- virtual void Execute(Agent* a_agent, WorldState* a_currentState) = 0;
- protected:
- std::vector<WorldProperty*> m_preConditions;
- // need effects here
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement