Exemple #1
0
        private void loadSTTsButton_Click(object sender, EventArgs e)
        {
            FSM_STT mySTTCD = new FSM_STT("CDPLAYER", "TestFSM.ObjectModel",
                                          "Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");

            STT_State beginState   = mySTTCD.addState("Begin");
            STT_State playState    = mySTTCD.addState("Playing");
            STT_State pauseState   = mySTTCD.addState("Paused");
            STT_State stoppedState = mySTTCD.addState("Stopped");

            // Transitions

            beginState.addTransition("startPlaying", playState);
            beginState.addTransition("stop", stoppedState);
            playState.addTransition("pause", pauseState);
            playState.addTransition("stop", stoppedState);
            pauseState.addTransition("startPlaying", playState);
            pauseState.addTransition("stop", stoppedState);
            stoppedState.addTransition("startPlaying", playState);
            mySTTCD.setInitialState(beginState);

            Debug.WriteLine("FSMSTT create complete " + mySTTCD.getRefClassName());

            // ACTOR

            FSM_STT mySTTACTOR = new FSM_STT("ACTOR", "TestFSM.ObjectModel",
                                             "Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");

            STT_State inWingsState = mySTTACTOR.addState("InWings");
            STT_State onStageState = mySTTACTOR.addState("OnStage");
            STT_State driedState   = mySTTACTOR.addState("Dried");
            STT_State bowingState  = mySTTACTOR.addState("Bowing");
            STT_State endedState   = mySTTACTOR.addState("Ended");

            mySTTACTOR.setInitialState(inWingsState);
            mySTTACTOR.setDeleteWhenEndStateReached();
            mySTTACTOR.setTaskModel(taskAllocation.taskPerInstance);

            // Transitions

            inWingsState.addTransition("receiveCue", onStageState);
            onStageState.addTransition("endOfScene", inWingsState);
            onStageState.addTransition("forgetLine", driedState);
            driedState.addTransition("getPrompt", onStageState);
            driedState.addTransition("endOfScene", inWingsState);
            inWingsState.addTransition("endOfPLay", bowingState);
            bowingState.addTransition("applauseStopped", endedState);
            bowingState.addTransition("applauseStopped", endedState);

            Debug.WriteLine("Form1 - FSMSTT create complete " + mySTTACTOR.getRefClassName());

            this.initialiseSTTsListBox(); // list of STTs loaded in memory
        }