public void Execute()
        {
            // Estate States. This lands somewhere between confusing and annoying.
            AmbitionApp.RegisterState <LoadSceneState, string>("EstateController", "LoadEstate", SceneConsts.ESTATE_SCENE);
            AmbitionApp.RegisterState <UpdateIncidentState>("EstateController", "UpdateIncidents");
            AmbitionApp.RegisterState("EstateController", "CheckIncident");
            AmbitionApp.RegisterState <InvokeMachineState, string>("EstateController", "Incident", "IncidentController");
            AmbitionApp.RegisterState <StyleChangeState>("EstateController", "StyleChange");
            AmbitionApp.RegisterState("EstateController", "CheckParty");
            AmbitionApp.RegisterState <CreateInvitationsState>("EstateController", "CreateInvitations");
            AmbitionApp.RegisterState <CheckMissedPartiesState>("EstateController", "CheckMissedParties");
            AmbitionApp.RegisterState("EstateController", "Estate");
            AmbitionApp.RegisterState("EstateController", "LeaveEstate");
            AmbitionApp.RegisterState <InvokeMachineState, string>("EstateController", "GoToParty", "PartyController");
            AmbitionApp.RegisterState <InvokeMachineState, string>("EstateController", "GoToParis", "ParisMapController");

            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("EstateController", "LoadEstate", "UpdateIncidents", GameMessages.FADE_OUT_COMPLETE);
            AmbitionApp.RegisterLink("EstateController", "UpdateIncidents", "CheckIncident");
            AmbitionApp.RegisterLink <CheckIncidentLink>("EstateController", "CheckIncident", "Incident");
            AmbitionApp.RegisterLink("EstateController", "CheckIncident", "CheckParty");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("EstateController", "Incident", "CheckParty", IncidentMessages.END_INCIDENTS);
            AmbitionApp.RegisterLink <CheckPartyLink>("EstateController", "CheckParty", "GoToParty");
            AmbitionApp.RegisterLink("EstateController", "CheckParty", "CreateInvitations");
            // AmbitionApp.RegisterTransition("EstateController", "Estate", "StyleChange");
            // AmbitionApp.RegisterTransition<WaitForCloseDialogLink>("EstateController", "StyleChange", "CreateInvitations", DialogConsts.MESSAGE);
            AmbitionApp.RegisterLink("EstateController", "CreateInvitations", "CheckMissedParties");
            AmbitionApp.RegisterLink("EstateController", "CheckMissedParties", "Estate");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("EstateController", "Estate", "LeaveEstate", EstateMessages.LEAVE_ESTATE);
            AmbitionApp.RegisterLink <CheckPartyLink>("EstateController", "LeaveEstate", "GoToParty");
            AmbitionApp.RegisterLink("EstateController", "LeaveEstate", "GoToParis");
        }
Ejemplo n.º 2
0
        public void Execute()
        {
            AmbitionApp.UnregisterCommand <StartTutorialCmd>(GameMessages.START_TUTORIAL);
            AmbitionApp.UnregisterCommand <SkipTutorialCmd>(GameMessages.SKIP_TUTORIAL);
            PartyModel model = AmbitionApp.GetModel <PartyModel>();

            model.DeckSize = 20;

            AmbitionApp.RegisterCommand <TutorialFleeConversationCmd>(PartyMessages.FLEE_CONVERSATION);

            AmbitionApp.RegisterState(TutorialConsts.TUTORIAL_MACHINE, "TutorialStart");
            AmbitionApp.RegisterState <TutorialState>(TutorialConsts.TUTORIAL_MACHINE, "ShowTutorialView");
            AmbitionApp.RegisterState <TutorialRemarkState>(TutorialConsts.TUTORIAL_MACHINE, "TutorialRemarkStep");
            AmbitionApp.RegisterState <TutorialGuestState>(TutorialConsts.TUTORIAL_MACHINE, "TutorialGuestStep");
            AmbitionApp.RegisterState <TutorialGuestState>(TutorialConsts.TUTORIAL_MACHINE, "EndConversationTutorial");
            AmbitionApp.RegisterState <EndTutorialState>(TutorialConsts.TUTORIAL_MACHINE, "EndTutorialParty");

            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>(TutorialConsts.TUTORIAL_MACHINE, "TutorialStart", "ShowTutorialView", PartyMessages.SHOW_MAP);
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>(TutorialConsts.TUTORIAL_MACHINE, "ShowTutorialView", "TutorialRemarkStep", PartyMessages.START_ROUND);
            AmbitionApp.RegisterLink <TutorialRemarkLink>(TutorialConsts.TUTORIAL_MACHINE, "TutorialRemarkStep", "TutorialGuestStep");
            AmbitionApp.RegisterLink <TutorialRemarkLink>(TutorialConsts.TUTORIAL_MACHINE, "TutorialGuestStep", "TutorialGuestStep");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>(TutorialConsts.TUTORIAL_MACHINE, "TutorialGuestStep", "EndConversationTutorial", PartyMessages.END_ROUND);
            AmbitionApp.RegisterLink <CheckEndTutorialLink>(TutorialConsts.TUTORIAL_MACHINE, "EndConversationTutorial", "EndTutorialParty");

            AmbitionApp.InvokeMachine(TutorialConsts.TUTORIAL_MACHINE);
            //AmbitionApp.InvokeMachine("TutorialConversationController");
        }
Ejemplo n.º 3
0
 public void Execute()
 {
     AmbitionApp.RegisterState <TutorialState>("TutorialConversationController", "TutorialStart");
     AmbitionApp.RegisterState <TutorialState>("TutorialConversationController", "TutorialMiddleConversationStep");
     AmbitionApp.RegisterState <TutorialState>("TutorialConversationController", "TutorialStartConversationStep");
     AmbitionApp.RegisterState <TutorialRemarkState>("TutorialConversationController", "RemarkTutorial");
     //AmbitionApp.RegisterState<TutorialState>("TutorialConversationController", "AltRemarkTutorial");
     AmbitionApp.RegisterState <TutorialGuestState>("TutorialConversationController", "GuestTutorial");
     AmbitionApp.RegisterState <TutorialState>("TutorialConversationController", "TutorialCompleteConversationStep");
     AmbitionApp.RegisterState <TutorialState>("TutorialConversationController", "GuestActionTutorial");
     AmbitionApp.RegisterState <TutorialState>("TutorialConversationController", "TutorialHostConversationStep");
 }
        public void Execute()
        {
            // In the future, this will be handled by config
            AmbitionApp.RegisterState <StartConversationState>("ConversationController", "InitConversation");
            AmbitionApp.RegisterState("ConversationController", "WaitforFade");
            AmbitionApp.RegisterState <InvokeMachineState, string>("ConversationController", "Incident", "IncidentController");
            AmbitionApp.RegisterState <OpenDialogState, string>("ConversationController", "ReadyGo", ReadyGoDialogMediator.DIALOG_ID);
            AmbitionApp.RegisterState <SendMessageState, string>("ConversationController", "StartConversation", PartyMessages.START_CONVERSATION);
            AmbitionApp.RegisterState <SendMessageState, string>("ConversationController", "FillRemarks", PartyMessages.FILL_REMARKS);

            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("ConversationController", "InitConversation", "WaitforFade", GameMessages.FADE_OUT_COMPLETE);
            AmbitionApp.RegisterLink <CheckIncidentLink>("ConversationController", "WaitforFade", "Incident");
            AmbitionApp.RegisterLink("ConversationController", "WaitforFade", "ReadyGo");
            AmbitionApp.RegisterLink <WaitForCloseDialogLink, string>("ConversationController", "ReadyGo", "StartConversation", ReadyGoDialogMediator.DIALOG_ID);
            AmbitionApp.RegisterLink("ConversationController", "StartConversation", "FillRemarks");


            AmbitionApp.RegisterState <StartRoundState>("ConversationController", "StartRound");
            AmbitionApp.RegisterState("ConversationController", "SelectGuests");
            AmbitionApp.RegisterState <DrinkState>("ConversationController", "Drink");
            AmbitionApp.RegisterState <RoundExpiredState>("ConversationController", "TimeExpired");
            AmbitionApp.RegisterState("ConversationController", "DrawCard");

            AmbitionApp.RegisterLink("ConversationController", "FillRemarks", "StartRound");
            AmbitionApp.RegisterState <SendMessageState, string>("ConversationController", "EndRound", PartyMessages.END_ROUND);
            AmbitionApp.RegisterState <UpdateGuestsState>("ConversationController", "UpdateGuests");
            AmbitionApp.RegisterState <EndConversationState>("ConversationController", "EndConversation");
            AmbitionApp.RegisterState <FleeConversationState>("ConversationController", "FleeConversation");

            AmbitionApp.RegisterLink <SelectGuestLink>("ConversationController", "StartRound", "SelectGuests");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("ConversationController", "StartRound", "Drink", PartyMessages.DRINK);
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("ConversationController", "StartRound", "TimeExpired", PartyMessages.TIME_EXPIRED);
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("ConversationController", "StartRound", "DrawCard", PartyMessages.DRAW_REMARK);

            AmbitionApp.RegisterLink("ConversationController", "DrawCard", "EndRound");
            AmbitionApp.RegisterLink("ConversationController", "SelectGuests", "EndRound");
            AmbitionApp.RegisterLink("ConversationController", "Drink", "EndRound");
            AmbitionApp.RegisterLink("ConversationController", "TimeExpired", "EndRound");
            AmbitionApp.RegisterLink("ConversationController", "EndRound", "UpdateGuests");

            AmbitionApp.RegisterLink <CheckConversationTransition>("ConversationController", "UpdateGuests", "EndConversation");
            AmbitionApp.RegisterLink <CheckRemarksLink>("ConversationController", "UpdateGuests", "FleeConversation");
            AmbitionApp.RegisterLink("ConversationController", "UpdateGuests", "StartRound");

            //These are for handling Incidents after they've been rewarded by Conversations
            AmbitionApp.RegisterState <OpenDialogState, string>("ConversationController", "EndConversationDialogOpen", EndConversationDialogMediator.DIALOG_ID);
            AmbitionApp.RegisterState("ConversationController", "WaitForEndConversationDialogClose");

            AmbitionApp.RegisterLink("ConversationController", "EndConversation", "EndConversationDialogOpen");
            AmbitionApp.RegisterLink <WaitForCloseDialogLink, string>("ConversationController", "EndConversationDialogOpen", "WaitForEndConversationDialogClose", EndConversationDialogMediator.DIALOG_ID);
            AmbitionApp.RegisterLink <CheckIncidentLink>("ConversationController", "WaitForEndConversationDialogClose", "Incident");
        }
        public void Execute()
        {
            // Initial party states
            AmbitionApp.RegisterState <InitPartyGearState>("PartyController", "InitPartyGear");
            AmbitionApp.RegisterState <InitPartyState>("PartyController", "InitParty");
            AmbitionApp.RegisterState <GenerateMapState>("PartyController", "InitMap");
            AmbitionApp.RegisterState <LoadSceneState, string>("PartyController", "PickOutfit", SceneConsts.LOAD_OUT_SCENE);
            AmbitionApp.RegisterState <LoadSceneState, string>("PartyController", "EnterParty", SceneConsts.PARTY_SCENE);

            AmbitionApp.RegisterLink <CheckOutfitLink>("PartyController", "InitPartyGear", "InitParty");
            AmbitionApp.RegisterLink <NoOutfitLink>("PartyController", "InitPartyGear", "PickOutfit");
            AmbitionApp.RegisterLink <WaitForOutfitLink>("PartyController", "PickOutfit", "InitParty");
            AmbitionApp.RegisterLink("PartyController", "InitParty", "InitMap");
            AmbitionApp.RegisterLink("PartyController", "InitMap", "EnterParty");


            // Turn states
            AmbitionApp.RegisterState("PartyController", "CheckIncidents");
            AmbitionApp.RegisterState <InvokeMachineState, string>("PartyController", "Incident", "IncidentController");
            AmbitionApp.RegisterState <SendMessageState, string>("PartyController", "PartyMap", PartyMessages.SHOW_MAP);
            AmbitionApp.RegisterState <SendMessageState, string>("PartyController", "ShowRoom", PartyMessages.SHOW_ROOM);
            AmbitionApp.RegisterState <InvokeMachineState, string>("PartyController", "Conversation", "ConversationController");
            AmbitionApp.RegisterState("PartyController", "ValidateRoom");
            AmbitionApp.RegisterState <SendMessageState, string>("PartyController", "LeaveParty", PartyMessages.END_PARTY);
            AmbitionApp.RegisterState <SendMessageState, string>("PartyController", "EndTurn", PartyMessages.END_TURN);


            AmbitionApp.RegisterLink("PartyController", "EnterParty", "CheckIncidents");
            AmbitionApp.RegisterLink <CheckIncidentLink>("PartyController", "CheckIncidents", "Incident");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("PartyController", "Incident", "PartyMap", IncidentMessages.END_INCIDENTS);
            AmbitionApp.RegisterLink("PartyController", "CheckIncidents", "PartyMap");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("PartyController", "PartyMap", "LeaveParty", PartyMessages.LEAVE_PARTY);
            AmbitionApp.RegisterLink("PartyController", "LeaveParty", "EndTurn");
            AmbitionApp.RegisterLink <WaitForRoomLink>("PartyController", "PartyMap", "ValidateRoom");
            AmbitionApp.RegisterLink <ValidateRoomLink>("PartyController", "ValidateRoom", "ShowRoom");
            AmbitionApp.RegisterLink("PartyController", "ValidateRoom", "EndTurn");
            AmbitionApp.RegisterLink("PartyController", "ShowRoom", "Conversation");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("PartyController", "Conversation", "EndTurn", PartyMessages.END_CONVERSATION);
            AmbitionApp.RegisterLink <CheckTurnsLink>("PartyController", "EndTurn", "PartyMap");


            // End Party
            AmbitionApp.RegisterState <LoadSceneState, string>("PartyController", "AfterPartyResults", SceneConsts.AFTER_PARTY_SCENE);
            AmbitionApp.RegisterState <SendMessageState, string>("PartyController", "NextDay", CalendarMessages.NEXT_DAY);
            AmbitionApp.RegisterState <InvokeMachineState, string>("PartyController", "ReturnToEstate", "EstateController"); // TODO: Make PartyController sub to GameController

            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("PartyController", "PartyMap", "AfterPartyResults", PartyMessages.LEAVE_PARTY);
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("PartyController", "AfterPartyResults", "ReturnToEstate", PartyMessages.END_PARTY);
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("PartyController", "ReturnToEstate", "NextDay", GameMessages.FADE_OUT_COMPLETE);
        }
        public void Execute()
        {
            // INCIDENT MACHINE
            AmbitionApp.RegisterState <StartIncidentState>("IncidentController", "StartIncident");
            AmbitionApp.RegisterState <MomentState>("IncidentController", "Moment");
            AmbitionApp.RegisterState <FadeOutState>("IncidentController", "EndIncidentTransition");
            AmbitionApp.RegisterState <EndIncidentState>("IncidentController", "EndIncident");
            AmbitionApp.RegisterState <FadeInState>("IncidentController", "ReturnFromIncident");

            AmbitionApp.RegisterLink("IncidentController", "StartIncident", "Moment");
            AmbitionApp.RegisterLink <CheckEndIncidentLink>("IncidentController", "Moment", "EndIncidentTransition");
            AmbitionApp.RegisterLink <WaitForOptionLink>("IncidentController", "Moment", "Moment");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("IncidentController", "EndIncidentTransition", "EndIncident", GameMessages.FADE_OUT_COMPLETE);
            AmbitionApp.RegisterLink("IncidentController", "EndIncident", "ReturnFromIncident");
        }
        public void Execute()
        {
            AmbitionApp.RegisterState <LoadSceneState, string>("ParisMapController", "Paris", SceneConsts.PARIS_SCENE);
            AmbitionApp.RegisterState("ParisMapController", "CheckIncident");
            AmbitionApp.RegisterState <InvokeMachineState, string>("ParisMapController", "Incident", "IncidentController");
            AmbitionApp.RegisterState("ParisMapController", "EnterLocation");
            AmbitionApp.RegisterState <SendMessageState, string>("ParisMapController", "LoadLocation", ParisMessages.LOAD_LOCATION);
            AmbitionApp.RegisterState <InvokeMachineState, string>("ParisMapController", "BackOut", "EstateController");
            AmbitionApp.RegisterState <InvokeMachineState, string>("ParisMapController", "Rest", "EstateController");
            AmbitionApp.RegisterState("ParisMapController", "BeginScene");

            AmbitionApp.RegisterLink <ChooseLocationLink>("ParisMapController", "Paris", "CheckIncident");
            AmbitionApp.RegisterLink <CheckIncidentLink>("ParisMapController", "CheckIncident", "Incident");
            AmbitionApp.RegisterLink("ParisMapController", "CheckIncident", "EnterLocation");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("ParisMapController", "Incident", "EnterLocation", IncidentMessages.END_INCIDENTS);
            AmbitionApp.RegisterLink <FadeOutLink>("ParisMapController", "EnterLocation", "LoadLocation");
            AmbitionApp.RegisterLink <FadeInLink>("ParisMapController", "LoadLocation", "BeginScene");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("ParisMapController", "Paris", "Rest", ParisMessages.REST);
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("ParisMapController", "Paris", "BackOut", ParisMessages.ESTATE);
        }
        public void Execute()
        {
            AmbitionApp.RegisterState("GuestActionController", "GuestActionNone");
            AmbitionApp.RegisterState <GuestActionInterestState>("GuestActionController", "GuestActionInterest");
            AmbitionApp.RegisterState("GuestActionController", "GuestActionComment");
            AmbitionApp.RegisterState("GuestActionController", "GuestActionAside");
            AmbitionApp.RegisterState("GuestActionController", "GuestActionInquiry");
            AmbitionApp.RegisterState("GuestActionController", "GuestActionToast");
            AmbitionApp.RegisterState <GuestActionToastState>("GuestActionController", "GuestActionToastAccepted");
            AmbitionApp.RegisterState("GuestActionController", "GuestActionEnd");
            AmbitionApp.RegisterState <GuestActionSelectLeadReward>("GuestActionController", "GuestActionLead");
            AmbitionApp.RegisterState("GuestActionController", "GuestActionLeadRound");
            AmbitionApp.RegisterState("GuestActionController", "GuestActionLeadUpdate");
            AmbitionApp.RegisterState <GuestActionLeadRewardState>("GuestActionController", "GuestActionLeadReward");
            AmbitionApp.RegisterState <SelectGuestActionState>("GuestActionController", "SelectGuestAction");

            AmbitionApp.RegisterLink("GuestActionController", "GuestActionNone", "GuestActionEnd");
            AmbitionApp.RegisterLink("GuestActionController", "GuestActionInterest", "GuestActionEnd");
            AmbitionApp.RegisterLink("GuestActionController", "GuestActionComment", "GuestActionEnd");
            AmbitionApp.RegisterLink("GuestActionController", "GuestActionAside", "GuestActionEnd");
            AmbitionApp.RegisterLink("GuestActionController", "GuestActionInquiry", "GuestActionEnd");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("GuestActionController", "GuestActionToast", "GuestActionToastAccepted", PartyMessages.DRINK);
            AmbitionApp.RegisterLink("GuestActionController", "GuestActionToastAccepted", "GuestActionEnd");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("GuestActionController", "GuestActionToast", "GuestActionEnd", PartyMessages.END_ROUND);
            AmbitionApp.RegisterLink("GuestActionController", "GuestActionLead", "GuestActionLeadRound");
            AmbitionApp.RegisterLink <GuestActionCheckGuestEngagedLink>("GuestActionController", "GuestActionLeadRound", "GuestActionLeadUpdate");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("GuestActionController", "GuestActionLeadRound", "GuestActionEnd", PartyMessages.END_ROUND);
            AmbitionApp.RegisterLink <GuestActionCheckRoundsLink>("GuestActionController", "GuestActionLeadUpdate", "GuestActionLeadRound");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("GuestActionController", "GuestActionLeadUpdate", "GuestActionLeadReward", PartyMessages.END_ROUND);
            AmbitionApp.RegisterLink("GuestActionController", "GuestActionLeadReward", "GuestActionEnd");
            AmbitionApp.RegisterLink <AmbitionDelegateLink, string>("GuestActionController", "GuestActionEnd", "SelectGuestAction", PartyMessages.END_ROUND);
            AmbitionApp.RegisterLink <GuestActionSelectedLink, string>("GuestActionController", "SelectGuestAction", "GuestActionInterest", "Interest");
            AmbitionApp.RegisterLink <GuestActionSelectedLink, string>("GuestActionController", "SelectGuestAction", "GuestActionToast", "Toast");
            AmbitionApp.RegisterLink <GuestActionSelectedLink, string>("GuestActionController", "SelectGuestAction", "GuestActionLead", "Lead");
            AmbitionApp.RegisterLink("GuestActionController", "SelectGuestAction", "GuestActionNone");
        }