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"); }
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"); }
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"); }