public State(stateCheck check, stateAction action, StateType type)
 {
     this._init();
     this._check  = check;
     this._action = action;
     this._type   = type;
 }
 private void _init()
 {
     this._id       = Guid.NewGuid();
     this._children = new List <State> ();
     this._type     = StateType.AND;
     this._action   = null;
     this._check    = () => {
         return(true);
     };
 }
 public State(stateCheck check, stateAction action, StateType type, List <State> children)
 {
     this._id     = Guid.NewGuid();
     this._check  = check;
     this._action = action;
     this._type   = type;
     if (children != null)
     {
         this._children = children;
     }
     else
     {
         this._children = new List <State> ();
     }
 }
 public State(stateCheck check, stateAction action)
 {
     this._init();
     this._check  = check;
     this._action = action;
 }
 public State(stateAction action)
 {
     this._init();
     this._action = action;
 }
 public State(stateAction action, StateType type)
 {
     this._init();
     this._type   = type;
     this._action = action;
 }