00001 #ifndef __NYTRO_FlowGraphNodes_H 00002 #define __NYTRO_FlowGraphNodes_H 00003 00004 //***************************************************************************** 00005 // Nytro GameEngine 00006 // 00007 // © Copyright 7thFACTOR Entertainment 00008 // All rights reserved 00009 //***************************************************************************** 00010 00011 #include "system/nyCommon.h" 00012 #include "game/nyFlowGraph.h" 00013 00014 namespace Nytro 00015 { 00016 namespace Game 00017 { 00019 class NYTRO_API SetPropertyFlowGraphNode : public FlowGraphNode 00020 { 00021 public: 00022 00023 SetPropertyFlowGraphNode(); 00024 virtual ~SetPropertyFlowGraphNode(); 00025 00026 virtual void process( FlowGraphNodeSlot* pFromSlot ); 00027 00028 NYTRO_CLASS_HAS_PROPERTIES; 00029 00030 protected: 00031 00032 Entity* m_pEntity; 00033 string m_entityName, m_propertyName; 00034 }; 00035 00037 class NYTRO_API ExpressionConditionFlowGraphNode : public FlowGraphNode 00038 { 00039 public: 00040 00041 ExpressionConditionFlowGraphNode(); 00042 virtual ~ExpressionConditionFlowGraphNode(); 00043 00044 virtual void process( FlowGraphNodeSlot* pFromSlot ); 00045 00046 NYTRO_CLASS_HAS_PROPERTIES; 00047 }; 00048 00050 class NYTRO_API BooleanConditionFlowGraphNode : public FlowGraphNode 00051 { 00052 public: 00053 00054 BooleanConditionFlowGraphNode(); 00055 virtual ~BooleanConditionFlowGraphNode(); 00056 00057 virtual void process( FlowGraphNodeSlot* pFromSlot ); 00058 00059 NYTRO_CLASS_HAS_PROPERTIES; 00060 00061 protected: 00062 }; 00063 00065 class NYTRO_API PropertyValueFlowGraphNode : public FlowGraphVariableNode 00066 { 00067 public: 00068 00069 PropertyValueFlowGraphNode(); 00070 virtual ~PropertyValueFlowGraphNode(); 00071 00072 void prepareVariable(); 00073 void onPropertyValueChanged( voidptr pPropertyData ); 00074 00075 NYTRO_CLASS_HAS_PROPERTIES; 00076 00077 protected: 00078 00079 Entity* m_pEntity; 00080 string m_entityName, m_propertyName; 00081 }; 00082 }; 00083 }; 00084 00085 #endif