]> git.mxchange.org Git - simgear.git/blobdiff - simgear/structure/StateMachine.hxx
Some Linux platforms need <cstdio> for snprintf.
[simgear.git] / simgear / structure / StateMachine.hxx
index 34fb84e103a9b4fd3a37a939cd9489eb72655c3f..a382760f999880030bfb794ebb45fcaab5775990 100644 (file)
@@ -23,6 +23,7 @@
 #define SIMGEAR_STATE_MACHINE_H
 
 #include <memory>
+#include <string>
 
 #include <simgear/structure/SGReferenced.hxx>
 #include <simgear/structure/SGSharedPtr.hxx>
@@ -73,6 +74,14 @@ public:
         
         std::string name() const;
         
+        /**
+         * Set if the target state should automatically be excluded
+         * from the source state. Defaults to true, can be cleared
+         * to allow a state to re-enter itself
+         */
+        void setExcludeTarget(bool aExclude);
+        
+        
         /**
          * The state we end in, after this transition fires
          */
@@ -115,6 +124,8 @@ public:
     typedef SGSharedPtr<State> State_ptr;
     typedef SGSharedPtr<Transition> Transition_ptr;
     
+    void initFromPlist(SGPropertyNode* desc, SGPropertyNode* root);
+    
     /**
      * create a state machine from a property list description
      */