Beispiel #1
0
    public State GetStateByName(string stateName)
    {
        // if ( stateName.Equals(Global.NOW_STATE))
        // {
        // 	return GetStateByName(machine.GetTempState().GetName());
        // }

        DataRow row = machine.GetMainRow(stateName);
        State state;

        if ( isFull(row,Global.TRANS_TO_COLUMN_NAME) )
        {
            state = new TransformState();
            state.Init(row, stateName , machine);
            return state;
        }
        else if ( isFull(row,Global.AUTO_NEXT_COLUMN_NAME))
        {
            if ( isFull(row,Global.DELAY_TIME_COLUMN_NAME) )
            {
                state = new NextTimeState();
                state.Init(row, stateName , machine);
                return state;
            }else
            {
                state = new NextState();
                state.Init(row,stateName,machine);
                return state;
            }
        }

        state = new State();
        state.Init(row, stateName , machine);
        return state;
    }