Esempio n. 1
0
        // Token: 0x060014CF RID: 5327 RVA: 0x00024520 File Offset: 0x00023520
        protected internal override void BuildGraph()
        {
            State      state  = new State("initial");
            State      state2 = new State("safehouse");
            State      state3 = new State("store");
            State      state4 = new State("freeroam");
            State      state5 = new State("lobby");
            State      state6 = new State("recover");
            State      state7 = new State("reset");
            State      state8 = new State("event");
            State      state9 = new State("done");
            ResetProps item   = new ResetProps();
            CloseOnReceive <OnEnterStore>            activity  = new CloseOnReceive <OnEnterStore>(Ports.Gameplay);
            CloseOnReceive <OnReturnToPreviousState> activity2 = new CloseOnReceive <OnReturnToPreviousState>(Ports.Gameplay);
            CloseOnReceive <OnEnterFreeroam>         activity3 = new CloseOnReceive <OnEnterFreeroam>(Ports.Gameplay);
            EnableGadget        item2 = new EnableGadget("Overlay", EnableGadget.HudToggle.Enable);
            EnableGadget        item3 = new EnableGadget("Overlay", EnableGadget.HudToggle.Dispose);
            EnableGadget        item4 = new EnableGadget("PowerupBuffBar", EnableGadget.HudToggle.Dispose);
            EnableGadget        item5 = new EnableGadget("PowerupBuffBar", EnableGadget.HudToggle.Enable);
            EnableLoadingScreen item6 = new EnableLoadingScreen(false);

            state.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Audio, 2215583664u));
            state.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_AI, 1667320711u));
            state.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Frontend, 1039281932u));
            state.Transitions.Add(new Transition("freeroam", activity3));
            state.ExitActivity.Activities.Add(item5);
            state.ExitActivity.Activities.Add(item2);
            state2.EnterActivity.Activities.Add(item4);
            state2.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Audio, 2215583664u));
            state2.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_AI, 1667320711u));
            state2.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Frontend, 1039281932u));
            state2.Transitions.Add(new Transition("store", activity));
            state2.Transitions.Add(new Transition("freeroam", activity3));
            state2.ExitActivity.Activities.Add(item5);
            ClearAllBuff item7 = new ClearAllBuff();

            state3.EnterActivity.Activities.Add(item7);
            state3.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Audio, 1950424019u));
            state3.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Frontend, 2145842197u));
            state3.Transitions.Add(new ReturnTransition(activity2));
            ResetLobby item8 = new ResetLobby();
            CloseOnReceive <OnEnterSafeHouse> activity4 = new CloseOnReceive <OnEnterSafeHouse>(Ports.Gameplay);
            RefreshEvents item9 = new RefreshEvents();
            GetAndTriggerAvailableLevelGifts item10 = new GetAndTriggerAvailableLevelGifts();
            ResetHeat item11 = new ResetHeat();
            EnablePointsOfInterest     item12              = new EnablePointsOfInterest(3312964337u, true);
            ConnectToRoaming           item13              = new ConnectToRoaming();
            LockLocalVehicle           item14              = new LockLocalVehicle(false);
            AssignPowerupConfiguration item15              = new AssignPowerupConfiguration(PowerupConfiguration.kPowerupConfigFreeRoam);
            RechargeAllPowerups        item16              = new RechargeAllPowerups();
            EnterEngagableTriggered    activity5           = new EnterEngagableTriggered(this.manager, Ports.Gameplay);
            EnterEventTriggered        enterEventTriggered = new EnterEventTriggered(Ports.Gameplay);

            enterEventTriggered.EventSessionId    = new OutArgument <long>(this.eventSessionId);
            enterEventTriggered.EventKey          = new OutArgument <uint>(this.eventKey);
            enterEventTriggered.ConnectionSupport = new OutArgument <ConnectionSupport>(this.connectionSupport);
            ExitEngagableTriggered activity6 = new ExitEngagableTriggered(this.manager, Ports.Gameplay);
            Loop loop = new Loop();
            TeleportToTriggered teleportToTriggered = new TeleportToTriggered(Ports.Gameplay);

            teleportToTriggered.Position  = new OutArgument <Vector3>(this.teleportPosition);
            teleportToTriggered.Direction = new OutArgument <Vector3>(this.teleportDirection);
            EnableLoadingScreen item17     = new EnableLoadingScreen(true);
            TeleportTo          teleportTo = new TeleportTo();

            teleportTo.Position  = new InArgument <Vector3>(this.teleportPosition);
            teleportTo.Direction = new InArgument <Vector3>(this.teleportDirection);
            WaitForLoading item18 = new WaitForLoading(0f);

            loop.Activities.Add(teleportToTriggered);
            loop.Activities.Add(item17);
            loop.Activities.Add(teleportTo);
            loop.Activities.Add(item18);
            loop.Activities.Add(item6);
            DisconnectFromRoaming  item19        = new DisconnectFromRoaming();
            EnablePointsOfInterest item20        = new EnablePointsOfInterest(3312964337u, false);
            RunAsyncEvent          runAsyncEvent = new RunAsyncEvent(this.manager);

            runAsyncEvent.EventKey = new InArgument <uint>(Hash.Hash32("events/treasure_hunt_001"));
            AssignPursuitEscalation item21 = new AssignPursuitEscalation(4085894198u);
            EnterLobbyTriggered     enterLobbyTriggered = new EnterLobbyTriggered(Ports.Gameplay);

            enterLobbyTriggered.EventKey = new OutArgument <uint>(this.eventKey);
            state4.EnterActivity.Activities.Add(item8);
            state4.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Audio, 2781049312u));
            state4.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_AI, 2681735821u));
            state4.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Frontend, 3615492632u));
            state4.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_WorldMap, "worldmap_freeroam"));
            state4.EnterActivity.Activities.Add(item);
            state4.EnterActivity.Activities.Add(item9);
            state4.EnterActivity.Activities.Add(item10);
            state4.EnterActivity.Activities.Add(item11);
            state4.EnterActivity.Activities.Add(item12);
            state4.EnterActivity.Activities.Add(item13);
            state4.EnterActivity.Activities.Add(item15);
            state4.EnterActivity.Activities.Add(item16);
            state4.EnterActivity.Activities.Add(item21);
            state4.EnterActivity.Activities.Add(item14);
            state4.EnterActivity.Activities.Add(item18);
            state4.EnterActivity.Activities.Add(item6);
            state4.Transitions.Add(new Transition(activity5));
            state4.Transitions.Add(new Transition("event", enterEventTriggered));
            state4.Transitions.Add(new Transition(activity6));
            state4.Transitions.Add(new Transition("safehouse", activity4));
            state4.Transitions.Add(new Transition("store", activity));
            state4.Transitions.Add(new Transition("reset", runAsyncEvent));
            state4.Transitions.Add(new Transition("lobby", enterLobbyTriggered));
            state4.Transitions.Add(new Transition(loop));
            state4.ExitActivity.Activities.Add(item19);
            state4.ExitActivity.Activities.Add(item20);
            state4.ExitActivity.Activities.Add(item16);
            state7.Transitions.Add(new Transition("freeroam"));
            LoadEventVault loadEventVault = new LoadEventVault();

            loadEventVault.EventKey = new InArgument <uint>(this.eventKey);
            StartStreamingAtEvent startStreamingAtEvent = new StartStreamingAtEvent();

            startStreamingAtEvent.EventKey = new InArgument <uint>(this.eventKey);
            AcceptInvite item22 = new AcceptInvite();
            CloseOnReceive <OnLobbyCancelled> activity7 = new CloseOnReceive <OnLobbyCancelled>(Ports.Gameplay);
            CloseOnReceive <OnLobbyFailed>    activity8 = new CloseOnReceive <OnLobbyFailed>(Ports.Gameplay);
            CloseOnReceive <OnLobbyExited>    activity9 = new CloseOnReceive <OnLobbyExited>(Ports.Gameplay);
            IsStuckInLobby   activity10 = new IsStuckInLobby(0.25f);
            LobbyTick        activity11 = new LobbyTick(0.25f);
            LockLocalVehicle item23     = new LockLocalVehicle(true);

            state5.EnterActivity.Activities.Add(item22);
            state5.EnterActivity.Activities.Add(item23);
            state5.EnterActivity.Activities.Add(item6);
            state5.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Frontend, 701743214u));
            state5.EnterActivity.Activities.Add(loadEventVault);
            state5.EnterActivity.Activities.Add(startStreamingAtEvent);
            state5.Transitions.Add(new Transition("event", enterEventTriggered));
            state5.Transitions.Add(new Transition("freeroam", activity7));
            state5.Transitions.Add(new Transition("freeroam", activity8));
            state5.Transitions.Add(new Transition("freeroam", activity9));
            state5.Transitions.Add(new Transition("freeroam", activity10));
            state5.Transitions.Add(new Transition(activity11));
            state5.ExitActivity.Activities.Add(item17);
            RunEvent runEvent = new RunEvent(this.manager);

            runEvent.EventSessionId    = new InArgument <long>(this.eventSessionId);
            runEvent.EventKey          = new InArgument <uint>(this.eventKey);
            runEvent.ConnectionSupport = new InArgument <ConnectionSupport>(this.connectionSupport);
            state8.EnterActivity.Activities.Add(item);
            state8.Transitions.Add(new Transition("recover", runEvent));
            CloseOnExitPath activity12 = new CloseOnExitPath(ExitPath.ExitToLobby, false);
            CloseOnExitPath activity13 = new CloseOnExitPath(ExitPath.ExitToFreeroam, true);

            state6.Transitions.Add(new Transition("lobby", activity12));
            state6.Transitions.Add(new Transition("freeroam", activity13));
            state9.EnterActivity.Activities.Add(item3);
            base.InitialState = "initial";
            base.DoneState    = "done";
            base.States.Add(state);
            base.States.Add(state2);
            base.States.Add(state3);
            base.States.Add(state4);
            base.States.Add(state5);
            base.States.Add(state6);
            base.States.Add(state7);
            base.States.Add(state8);
            base.States.Add(state9);
        }
Esempio n. 2
0
        // Token: 0x06001400 RID: 5120 RVA: 0x0001EF78 File Offset: 0x0001DF78
        protected override WorkflowElement CreateBody()
        {
            StateGraph stateGraph          = new StateGraph(string.Format("OpponentPursuitSubgraph: {0}", base.Entrant.Opponent.OpponentName));
            State      state               = new State("initial");
            State      state2              = new State("inpursuit");
            State      state3              = new State("busted");
            State      state4              = new State("spectate");
            State      state5              = new State("respawn");
            State      state6              = new State("ghost");
            State      state7              = new State("post");
            State      item                = new State("done");
            LaunchPursuitByEventHeat item2 = new LaunchPursuitByEventHeat(base.Event);

            new GameCore.Activities.Entrant.Components.CloseOnReceive <OnPursuitEngaged>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            GameCore.Activities.Entrant.Components.CloseOnReceive <OnPursuitBusted> activity = new GameCore.Activities.Entrant.Components.CloseOnReceive <OnPursuitBusted>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            EntrantFinished activity2 = new EntrantFinished(base.InstancedEvent, base.Entrant, -1);

            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                state.EnterActivity.Activities.Add(item2);
                state.Transitions.Add(new Transition("inpursuit"));
            }
            else
            {
                state.Transitions.Add(new Transition("inpursuit"));
            }
            ReinitiatePursuit    item3     = new ReinitiatePursuit();
            RadialBustMeterLogic activity3 = new RadialBustMeterLogic(base.InstancedEvent, base.Entrant);

            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                state2.EnterActivity.Activities.Add(item3);
                state2.Transitions.Add(new Transition("busted", activity));
                state2.Transitions.Add(new Transition("post", activity2));
                state2.Transitions.Add(new Transition(activity3));
            }
            else
            {
                state2.Transitions.Add(new Transition("busted", activity));
                state2.Transitions.Add(new Transition("post", activity2));
            }
            Timer             activity4 = new Timer(new InArgument <float>(new InArgumentHandler <float>(base.Event.EventDef.SpectateTime)));
            SetSignal         item4     = new SetSignal("TeamEscape.AllBusted");
            UnSetSignal       item5     = new UnSetSignal("TeamEscape.AllBusted");
            RespawnFlasher    flasher   = new RespawnFlasher(base.Event.EventDef.SpectateTime() * 1000f);
            SetOpponentStatus item6     = new SetOpponentStatus(base.InstancedEvent, base.Entrant, OpponentStatus.kOpponent_NotSpectatable, true);
            SetOpponentStatus item7     = new SetOpponentStatus(base.InstancedEvent, base.Entrant, OpponentStatus.kOpponent_NotSpectatable, false);
            EntrantHighlight  item8     = new EntrantHighlight(base.InstancedEvent, base.Entrant, EntrantHighlight.kHighlight_Red);
            DisplayFlasher    item9     = new DisplayFlasher(base.InstancedEvent, base.Entrant, this.localBustedFlasher, true);
            HideFlasher       item10    = new HideFlasher(base.InstancedEvent, base.Entrant, this.localBustedFlasher);
            DisplayFlasher    item11    = new DisplayFlasher(base.InstancedEvent, base.Entrant, new FormattedFlasher(2571601381u, base.Entrant.Opponent.ToString()));

            GameCore.Activities.Entrant.Components.EnableGadget item12 = new GameCore.Activities.Entrant.Components.EnableGadget(base.InstancedEvent, base.Entrant, "TeamEscapePursuitBarGadget", GameCore.Activities.Entrant.Components.EnableGadget.GadgetToggle.Disable);
            HideAllGadgetsButThese item13 = new HideAllGadgetsButThese(base.InstancedEvent, base.Entrant, new string[]
            {
                "FlasherGadget",
                "Chat",
                "MultiplayerPursuitHUD",
                "Options"
            });
            SetCamera                 item14 = new SetCamera(base.InstancedEvent, base.Entrant, "CDActionSpectate");
            WaitForLoading            item15 = new WaitForLoading(0.25f);
            GetSpectateTargetPosition getSpectateTargetPosition = new GetSpectateTargetPosition(base.InstancedEvent);

            getSpectateTargetPosition.SpectateTargetPersonaId = new OutArgument <long>(this.spectateTargetPersonaId);
            getSpectateTargetPosition.Position  = new OutArgument <Vector3>(this.warpPosition);
            getSpectateTargetPosition.Direction = new OutArgument <Vector3>(this.warpDirection);
            getSpectateTargetPosition.Mps       = new OutArgument <float>(this.warpMps);
            OverrideVehicleControl item16    = new OverrideVehicleControl(base.Entrant.Opponent.Vehicle, OverrideVehicleControl.Control.Stop);
            DisplayFlasher         item17    = new DisplayFlasher(base.InstancedEvent, base.Entrant, flasher);
            HideFlasher            item18    = new HideFlasher(base.InstancedEvent, base.Entrant, flasher);
            SendRespawnMessage     item19    = new SendRespawnMessage(base.InstancedEvent, base.Entrant, new InArgument <long>(this.spectateTargetPersonaId));
            WaitForRespawnMessage  activity5 = new WaitForRespawnMessage(base.InstancedEvent, base.Entrant, Ports.Gameplay, new OutArgument <long>(this.spectateTargetPersonaId));
            WaitForAvailableStrike activity6 = new WaitForAvailableStrike(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            FinishEntrant          activity7 = new FinishEntrant(base.InstancedEvent, base.Entrant, FinishReason.Busted);
            EntrantBustedAudio     item20    = new EntrantBustedAudio(base.InstancedEvent, base.Entrant);

            state3.EnterActivity.Activities.Add(item4);
            state3.EnterActivity.Activities.Add(item8);
            state3.EnterActivity.Activities.Add(item6);
            state3.EnterActivity.Activities.Add(item20);
            state3.Transitions.Add(new Transition("spectate", activity6));
            state3.Transitions.Add(new Transition(activity7));
            state3.Transitions.Add(new Transition("post", activity2));
            state3.ExitActivity.Activities.Add(item5);
            ChangeBlackBoard item21          = new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Audio, 3285804633u);
            CacheBlackBoard  cacheBlackBoard = new CacheBlackBoard(BlackBoardChannel.kBlackBoard_Audio);

            cacheBlackBoard.BlackboardKey = new OutArgument <uint>(this.cachedAudioBlackBoard);
            UncacheBlackBoard uncacheBlackBoard = new UncacheBlackBoard(BlackBoardChannel.kBlackBoard_Audio);

            uncacheBlackBoard.BlackboardKey = new InArgument <uint>(this.cachedAudioBlackBoard);
            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                state4.EnterActivity.Activities.Add(item4);
                state4.EnterActivity.Activities.Add(item16);
                state4.EnterActivity.Activities.Add(item12);
                state4.EnterActivity.Activities.Add(item9);
                state4.EnterActivity.Activities.Add(item13);
                state4.EnterActivity.Activities.Add(item14);
                state4.EnterActivity.Activities.Add(item15);
                state4.EnterActivity.Activities.Add(item10);
                state4.EnterActivity.Activities.Add(item17);
                state4.EnterActivity.Activities.Add(cacheBlackBoard);
                state4.EnterActivity.Activities.Add(item21);
                state4.Transitions.Add(new Transition("ghost", activity4));
                state4.Transitions.Add(new Transition("post", activity2));
                state4.ExitActivity.Activities.Add(getSpectateTargetPosition);
                state4.ExitActivity.Activities.Add(item19);
                state4.ExitActivity.Activities.Add(item18);
                state4.ExitActivity.Activities.Add(item5);
                state4.ExitActivity.Activities.Add(uncacheBlackBoard);
            }
            else
            {
                state4.EnterActivity.Activities.Add(item4);
                state4.EnterActivity.Activities.Add(item16);
                state4.EnterActivity.Activities.Add(item11);
                state4.Transitions.Add(new Transition("ghost", activity5));
                state4.Transitions.Add(new Transition("post", activity2));
                state4.ExitActivity.Activities.Add(item5);
            }
            Timer activity8 = new Timer(new InArgument <float>(() => 0.5f));

            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                state5.Transitions.Add(new Transition("ghost", activity8));
            }
            else
            {
                state5.Transitions.Add(new Transition("ghost"));
            }
            UnHideAllGadgets item22    = new UnHideAllGadgets(base.InstancedEvent, base.Entrant);
            Timer            activity9 = new Timer(new InArgument <float>(new InArgumentHandler <float>(base.Event.EventDef.GhostDebuffTime)));
            EnableGhosting   item23    = new EnableGhosting(base.InstancedEvent, base.Entrant, true, base.Event.EventDef.GhostDebuffTime());

            GameCore.Activities.Entrant.Components.EnableGadget item24 = new GameCore.Activities.Entrant.Components.EnableGadget(base.InstancedEvent, base.Entrant, "TeamEscapePursuitBarGadget", GameCore.Activities.Entrant.Components.EnableGadget.GadgetToggle.Enable);
            EnableGhosting   item25 = new EnableGhosting(base.InstancedEvent, base.Entrant, false);
            RepairTires      item26 = new RepairTires(base.InstancedEvent, base.Entrant, base.InstancedEvent.EventDef.GhostDebuffTime());
            EntrantHighlight item27 = new EntrantHighlight(base.InstancedEvent, base.Entrant, EntrantHighlight.kHighlight_None);
            SetCamera        item28 = new SetCamera(base.InstancedEvent, base.Entrant, "CDActionDrive");

            GameCore.Activities.Entrant.Components.WarpTo warpTo = new GameCore.Activities.Entrant.Components.WarpTo(base.InstancedEvent, base.Entrant);
            warpTo.Position  = new InArgument <Vector3>(this.warpPosition);
            warpTo.Direction = new InArgument <Vector3>(this.warpDirection);
            warpTo.Mps       = new InArgument <float>(this.warpMps);
            OverrideVehicleControl item29 = new OverrideVehicleControl(base.Entrant.Opponent.Vehicle, OverrideVehicleControl.Control.Release);
            CopyRoutingState       item30 = new CopyRoutingState(base.InstancedEvent, base.Entrant, new InArgument <long>(this.spectateTargetPersonaId));
            RechargeAllPowerups    item31 = new RechargeAllPowerups();
            OverridePursuitBar     item32 = new OverridePursuitBar(base.InstancedEvent, base.Entrant, 0f);

            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                state6.EnterActivity.Activities.Add(item22);
                state6.EnterActivity.Activities.Add(item32);
                state6.EnterActivity.Activities.Add(item29);
                state6.EnterActivity.Activities.Add(warpTo);
                state6.EnterActivity.Activities.Add(item23);
                state6.EnterActivity.Activities.Add(item30);
                state6.EnterActivity.Activities.Add(item12);
                state6.EnterActivity.Activities.Add(item31);
                state6.EnterActivity.Activities.Add(item28);
                state6.EnterActivity.Activities.Add(item7);
                state6.EnterActivity.Activities.Add(item27);
                state6.EnterActivity.Activities.Add(item26);
                state6.Transitions.Add(new Transition("inpursuit", activity9));
                state6.Transitions.Add(new Transition("post", activity2));
                state6.ExitActivity.Activities.Add(item24);
                state6.ExitActivity.Activities.Add(item25);
            }
            else
            {
                state6.EnterActivity.Activities.Add(item30);
                state6.EnterActivity.Activities.Add(item29);
                state6.EnterActivity.Activities.Add(item7);
                state6.EnterActivity.Activities.Add(item27);
                state6.Transitions.Add(new Transition("inpursuit", activity9));
                state6.Transitions.Add(new Transition("post", activity2));
            }
            ReleaseBehavior item33 = new ReleaseBehavior(base.InstancedEvent, base.Entrant, "BEHAVIOR_GAMEPLAY_PURSUIT");

            state7.EnterActivity.Activities.Add(item22);
            state7.EnterActivity.Activities.Add(item6);
            state7.EnterActivity.Activities.Add(item33);
            state7.Transitions.Add(new Transition("done"));
            stateGraph.InitialState = "initial";
            stateGraph.DoneState    = "done";
            stateGraph.States.Add(state);
            stateGraph.States.Add(state2);
            stateGraph.States.Add(state3);
            stateGraph.States.Add(state4);
            stateGraph.States.Add(state5);
            stateGraph.States.Add(state6);
            stateGraph.States.Add(state7);
            stateGraph.States.Add(item);
            return(stateGraph);
        }