예제 #1
0
 public Nb_StateMachine(Nb_StateModel <T> curState)
 {
     this.curState = curState;
     transitions   = new Nb_Tuple <Nb_StateModel <T>, Nb_StateModel <T> > ();
     allStates     = new List <Nb_StateModel <T> > ();
     foreach (T state in Enum.GetValues(typeof(T)))
     {
         Nb_StateModel <T> tmp = new Nb_StateModel <T> (state);
         allStates.Add(tmp);
     }
 }
예제 #2
0
 public Nb_StateMachine(T t)
 {
     allStates = new List <Nb_StateModel <T> > ();
     foreach (T state in Enum.GetValues(typeof(T)))
     {
         Nb_StateModel <T> tmp = new Nb_StateModel <T> (state);
         allStates.Add(tmp);
     }
     curState           = getState(t);
     transitions        = new Nb_Tuple <Nb_StateModel <T>, Nb_StateModel <T> > ();
     defaultTransitions = new Nb_Tuple <Nb_StateModel <T>, Nb_StateModel <T> > ();
 }
예제 #3
0
    public Nb_Tuple <T1, T2> FindAllSeconds(T1 first)
    {
        Nb_Tuple <T1, T2> res = new Nb_Tuple <T1, T2> ();

        foreach (Nb_TupleItem <T1, T2> item in items)
        {
            if (item.getFirst().Equals(first))
            {
                res.Add(item.getFirst(), item.getSecond());
            }
        }
        return(res);
    }