コード例 #1
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);
        }
コード例 #2
0
        // Token: 0x060013F8 RID: 5112 RVA: 0x0001D2B4 File Offset: 0x0001C2B4
        protected override WorkflowElement CreateBody()
        {
            StateGraph stateGraph = new StateGraph(string.Format("OpponentNormal: {0}", base.Entrant.Opponent.OpponentName));
            State      state      = new State("initial");
            State      state2     = new State("countdown");
            State      state3     = new State("running");
            State      state4     = new State("raceover");
            State      state5     = new State("post");
            State      state6     = new State("paused");
            State      state7     = new State("aborted");
            State      state8     = new State("done");

            state.Transitions.Add(new Transition("countdown"));
            PrepareScoringMethod item     = new PrepareScoringMethod(base.InstancedEvent, base.Entrant);
            LockEntrant          item2    = new LockEntrant(base.InstancedEvent, base.Entrant, true);
            EntrantLoaded        item3    = new EntrantLoaded(base.InstancedEvent, base.Entrant, "Entrants.Loading");
            EnableKeyboard       item4    = new EnableKeyboard(true);
            EnableLoadingScreen  item5    = new EnableLoadingScreen(false);
            FlushTraffic         item6    = new FlushTraffic();
            FlushCops            item7    = new FlushCops();
            HandleTutorial       item8    = new HandleTutorial(base.InstancedEvent, base.Entrant, TutorialSource.kTutorialSource_Race);
            Countdown            activity = new Countdown(base.InstancedEvent, base.Entrant);
            TryPerfectLaunch     item9    = new TryPerfectLaunch(base.InstancedEvent, base.Entrant);
            LockEntrant          item10   = new LockEntrant(base.InstancedEvent, base.Entrant, false);

            GameCore.Workflow.Activities.WaitAll item11 = new GameCore.Workflow.Activities.WaitAll("Entrants.Countdown");
            SetSignal             item12    = new SetSignal("Entrants.Countdown");
            UnSetSignal           item13    = new UnSetSignal("Entrants.Countdown");
            Launch                item14    = new Launch(base.InstancedEvent, base.Entrant);
            RoutingTriggered      activity2 = new RoutingTriggered(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            OnUpdateTick          activity3 = new OnUpdateTick(base.InstancedEvent, base.Entrant);
            EntrantInterupt       activity4 = new EntrantInterupt(base.InstancedEvent, base.Entrant, Ports.Gameplay, FinishReason.TimedOut);
            EntrantExtrapolate    activity5 = new EntrantExtrapolate(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            EntrantDisconnected   activity6 = new EntrantDisconnected(base.InstancedEvent, base.Entrant);
            EntrantFinished       activity7 = new EntrantFinished(base.InstancedEvent, base.Entrant, -8193);
            EntrantFinished       activity8 = new EntrantFinished(base.InstancedEvent, base.Entrant, 8202);
            KillAllFlashers       item15    = new KillAllFlashers(base.InstancedEvent, base.Entrant);
            Conclude              item16    = new Conclude(base.InstancedEvent, base.Entrant);
            SortEntrants          item17    = new SortEntrants(base.InstancedEvent);
            ReportEntrantFinished item18    = new ReportEntrantFinished(base.InstancedEvent, base.Entrant);

            GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnTriggerEnter> activity9  = new GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnTriggerEnter>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnTriggerExit>  activity10 = new GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnTriggerExit>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            VehicleSpeedBasedReset activity11 = new VehicleSpeedBasedReset(base.Entrant, 0.1f);
            LoadBlackBoards        item19     = new LoadBlackBoards(base.InstancedEvent, BlackBoardFlag.kBlackBoardFlag_Countdown);
            PauseDetected          activity12 = new PauseDetected(base.InstancedEvent);

            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                state2.EnterActivity.Activities.Add(item2);
                state2.EnterActivity.Activities.Add(item);
                state2.EnterActivity.Activities.Add(item3);
                state2.EnterActivity.Activities.Add(item4);
                state2.EnterActivity.Activities.Add(item6);
                state2.EnterActivity.Activities.Add(item7);
                state2.EnterActivity.Activities.Add(item5);
                state2.EnterActivity.Activities.Add(item8);
                state2.EnterActivity.Activities.Add(item19);
                state2.Transitions.Add(new Transition("running", activity));
                state2.Transitions.Add(new Transition("aborted", activity12));
                state2.ExitActivity.Activities.Add(item9);
                state2.ExitActivity.Activities.Add(item12);
                state2.ExitActivity.Activities.Add(item11);
                state2.ExitActivity.Activities.Add(item13);
                state2.ExitActivity.Activities.Add(item14);
            }
            else
            {
                state2.EnterActivity.Activities.Add(item2);
                state2.EnterActivity.Activities.Add(item);
                state2.EnterActivity.Activities.Add(item3);
                state2.EnterActivity.Activities.Add(item5);
                state2.Transitions.Add(new Transition("running", activity));
                state2.ExitActivity.Activities.Add(item12);
                state2.ExitActivity.Activities.Add(item11);
                state2.ExitActivity.Activities.Add(item13);
                state2.ExitActivity.Activities.Add(item14);
            }
            state3.EnterActivity.Activities.Add(item10);
            state3.Transitions.Add(new Transition(activity2));
            state3.Transitions.Add(new Transition(activity3));
            state3.Transitions.Add(new Transition(activity4));
            state3.Transitions.Add(new Transition(activity5));
            state3.Transitions.Add(new Transition(activity6));
            state3.Transitions.Add(new Transition(activity9));
            state3.Transitions.Add(new Transition(activity10));
            state3.Transitions.Add(new Transition(activity11));
            state3.Transitions.Add(new Transition("raceover", activity7));
            state3.Transitions.Add(new Transition("aborted", activity8));
            state3.ExitActivity.Activities.Add(item15);
            OverrideVehicleControl item20 = new OverrideVehicleControl(base.Entrant.Opponent.Vehicle, OverrideVehicleControl.Control.Stop);
            EnableReplication      item21 = new EnableReplication(base.Entrant.Opponent.Vehicle, false);

            state4.EnterActivity.Activities.Add(item16);
            state4.EnterActivity.Activities.Add(item17);
            state4.EnterActivity.Activities.Add(item18);
            state4.EnterActivity.Activities.Add(item20);
            Abort item22 = new Abort(base.InstancedEvent, base.Entrant);

            state7.EnterActivity.Activities.Add(item22);
            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                LoadBlackBoards item23 = new LoadBlackBoards(base.Event, BlackBoardFlag.kBlackBoardFlag_Running);
                state3.EnterActivity.Activities.Add(item23);
                WrongWayNotification activity13 = new WrongWayNotification(base.InstancedEvent, base.Entrant);
                NavigateToGPSUpdater activity14 = new NavigateToGPSUpdater(base.InstancedEvent, base.Entrant, Ports.Gameplay);
                state3.Transitions.Add(new Transition(activity13));
                state3.Transitions.Add(new Transition(activity14));
                state4.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Audio, 2046860387u));
                state4.EnterActivity.Activities.Add(new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_AI, 331198907u));
                state4.EnterActivity.Activities.Add(item6);
                state4.Transitions.Add(new Transition("post"));
                PostEventScreen activity15 = new PostEventScreen(base.InstancedEvent, base.Entrant, Ports.Gameplay);
                AbortEvent      item24     = new AbortEvent(base.InstancedEvent);
                LobbyTick       activity16 = new LobbyTick(0.25f);
                state5.Transitions.Add(new Transition(activity16));
                state5.Transitions.Add(new Transition("done", activity15));
                FinishEntrant          item25 = new FinishEntrant(base.InstancedEvent, base.Entrant, FinishReason.PauseDetected);
                OverrideVehicleControl item26 = new OverrideVehicleControl(base.Entrant.Opponent.Vehicle, OverrideVehicleControl.Control.Release);
                state6.EnterActivity.Activities.Add(item25);
                state6.EnterActivity.Activities.Add(item15);
                state6.Transitions.Add(new Transition("aborted"));
                state7.EnterActivity.Activities.Add(item10);
                state8.EnterActivity.Activities.Add(item24);
                state8.EnterActivity.Activities.Add(item26);
            }
            else
            {
                state4.EnterActivity.Activities.Add(item21);
                state4.Transitions.Add(new Transition("done"));
            }
            state7.Transitions.Add(new Transition("done"));
            CleanupScoringMethod item27 = new CleanupScoringMethod(base.InstancedEvent, base.Entrant);

            state8.EnterActivity.Activities.Add(item27);
            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(state7);
            stateGraph.States.Add(state6);
            stateGraph.States.Add(state8);
            return(stateGraph);
        }
コード例 #3
0
        // Token: 0x06001403 RID: 5123 RVA: 0x0001FB4C File Offset: 0x0001EB4C
        protected override WorkflowElement CreateBody()
        {
            StateGraph stateGraph        = new StateGraph(string.Format("EntrantTeamEscape: {0}", base.Entrant.Opponent.OpponentName));
            State      state             = new State("initial");
            State      state2            = new State("countdown");
            State      state3            = new State("running");
            State      state4            = new State("crossedfinish");
            State      state5            = new State("raceover");
            State      state6            = new State("post");
            State      state7            = new State("aborted");
            State      state8            = new State("done");
            AssignPursuitEscalation item = new AssignPursuitEscalation(base.InstancedEvent.EventDef.PursuitEscalation().GetKey());

            state.EnterActivity.Activities.Add(item);
            state.Transitions.Add(new Transition("countdown"));
            LockEntrant          item2    = new LockEntrant(base.InstancedEvent, base.Entrant, true);
            PrepareScoringMethod item3    = new PrepareScoringMethod(base.InstancedEvent, base.Entrant);
            EntrantLoaded        item4    = new EntrantLoaded(base.InstancedEvent, base.Entrant, "Entrants.Loading");
            EnableKeyboard       item5    = new EnableKeyboard(true);
            EnableLoadingScreen  item6    = new EnableLoadingScreen(false);
            FlushTraffic         item7    = new FlushTraffic();
            LoadBlackBoards      item8    = new LoadBlackBoards(base.Event, BlackBoardFlag.kBlackBoardFlag_Running);
            Countdown            activity = new Countdown(base.InstancedEvent, base.Entrant);
            TryPerfectLaunch     item9    = new TryPerfectLaunch(base.InstancedEvent, base.Entrant);

            GameCore.Workflow.Activities.WaitAll item10 = new GameCore.Workflow.Activities.WaitAll("Entrants.Countdown");
            SetSignal   item11 = new SetSignal("Entrants.Countdown");
            UnSetSignal item12 = new UnSetSignal("Entrants.Countdown");
            Launch      item13 = new Launch(base.InstancedEvent, base.Entrant);
            LockEntrant item14 = new LockEntrant(base.InstancedEvent, base.Entrant, false);

            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                state2.EnterActivity.Activities.Add(item2);
                state2.EnterActivity.Activities.Add(item3);
                state2.EnterActivity.Activities.Add(item4);
                state2.EnterActivity.Activities.Add(item5);
                state2.EnterActivity.Activities.Add(item7);
                state2.EnterActivity.Activities.Add(item6);
                state2.EnterActivity.Activities.Add(item8);
                state2.Transitions.Add(new Transition("running", activity));
                state2.ExitActivity.Activities.Add(item9);
                state2.ExitActivity.Activities.Add(item11);
                state2.ExitActivity.Activities.Add(item10);
                state2.ExitActivity.Activities.Add(item12);
                state2.ExitActivity.Activities.Add(item13);
                state2.ExitActivity.Activities.Add(item14);
            }
            else
            {
                state2.EnterActivity.Activities.Add(item2);
                state2.EnterActivity.Activities.Add(item3);
                state2.EnterActivity.Activities.Add(item4);
                state2.EnterActivity.Activities.Add(item5);
                state2.EnterActivity.Activities.Add(item6);
                state2.Transitions.Add(new Transition("running", activity));
                state2.ExitActivity.Activities.Add(item11);
                state2.ExitActivity.Activities.Add(item10);
                state2.ExitActivity.Activities.Add(item12);
                state2.ExitActivity.Activities.Add(item13);
                state2.ExitActivity.Activities.Add(item14);
            }
            RoutingTriggered activity2 = new RoutingTriggered(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            Sequence         sequence  = new Sequence();

            GameCore.Workflow.Activities.WaitAll item15 = new GameCore.Workflow.Activities.WaitAll("TeamEscape.AllBusted");
            SetSignal     item16 = new SetSignal("TeamEscape.AllBusted");
            FinishEntrant item17 = new FinishEntrant(base.InstancedEvent, base.Entrant, FinishReason.Busted);

            sequence.Activities.Add(item15);
            sequence.Activities.Add(item17);
            OnUpdateTick           activity3 = new OnUpdateTick(base.InstancedEvent, base.Entrant);
            EntrantInterupt        activity4 = new EntrantInterupt(base.InstancedEvent, base.Entrant, Ports.Gameplay, FinishReason.TimedOut);
            EntrantExtrapolate     activity5 = new EntrantExtrapolate(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            EntrantDisconnected    activity6 = new EntrantDisconnected(base.InstancedEvent, base.Entrant);
            EntrantFinishedFlasher activity7 = new EntrantFinishedFlasher(base.InstancedEvent, base.Entrant);
            WrongWayNotification   activity8 = new WrongWayNotification(base.InstancedEvent, base.Entrant);
            NavigateToGPSUpdater   activity9 = new NavigateToGPSUpdater(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            Sequence      sequence2          = new Sequence();
            Timer         item18             = new Timer(new InArgument <float>(new InArgumentHandler <float>(base.Event.EventDef.TimeLimit)));
            FinishEntrant item19             = new FinishEntrant(base.InstancedEvent, base.Entrant, FinishReason.TimeLimitExpired);

            sequence2.Activities.Add(item18);
            sequence2.Activities.Add(item19);
            EntrantPursuitSubgraph activity10 = new EntrantPursuitSubgraph(base.InstancedEvent, base.Entrant);
            Conclude              item20      = new Conclude(base.InstancedEvent, base.Entrant);
            SortEntrants          item21      = new SortEntrants(base.InstancedEvent);
            ReportEntrantFinished item22      = new ReportEntrantFinished(base.InstancedEvent, base.Entrant);
            KillPursuit           item23      = new KillPursuit();
            Sequence              sequence3   = new Sequence();

            GameCore.Activities.Components.CloseOnReceive <OnTimingOut> item24 = new GameCore.Activities.Components.CloseOnReceive <OnTimingOut>(Ports.Gameplay);
            ChangeBlackBoard item25 = new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Audio, 1482065563u);
            DisplayFlasher   item26 = new DisplayFlasher(base.InstancedEvent, base.Entrant, new FormattedFlasher(758313117u, (int)base.Event.EventDef.TimeLimitWarning()));

            sequence3.Activities.Add(item24);
            sequence3.Activities.Add(item25);
            sequence3.Activities.Add(item26);
            GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnPursuitEngaged>  activity11 = new GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnPursuitEngaged>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnPursuitCooldown> activity12 = new GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnPursuitCooldown>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnPursuitEvaded>   activity13 = new GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnPursuitEvaded>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnPursuitBusted>   activity14 = new GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnPursuitBusted>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnTriggerEnter>    activity15 = new GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnTriggerEnter>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnTriggerExit>     activity16 = new GameCore.Activities.Entrant.Components.SynchronizeOnReceive <OnTriggerExit>(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            SetOpponentStatus   item27 = new SetOpponentStatus(base.InstancedEvent, base.Entrant, OpponentStatus.kOpponent_NotSpectatable, true);
            ActivateSuddenDeath item28 = new ActivateSuddenDeath(base.InstancedEvent);

            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                state3.Transitions.Add(new Transition(activity11));
                state3.Transitions.Add(new Transition(activity12));
                state3.Transitions.Add(new Transition(activity13));
                state3.Transitions.Add(new Transition(activity14));
                state3.Transitions.Add(new Transition(activity15));
                state3.Transitions.Add(new Transition(activity16));
                state3.Transitions.Add(new Transition(activity2));
                state3.Transitions.Add(new Transition(activity3));
                state3.Transitions.Add(new Transition(activity4));
                state3.Transitions.Add(new Transition(activity5));
                state3.Transitions.Add(new Transition(activity6));
                state3.Transitions.Add(new Transition(sequence));
                state3.Transitions.Add(new Transition(sequence2));
                state3.Transitions.Add(new Transition(sequence3));
                state3.Transitions.Add(new Transition(activity8));
                state3.Transitions.Add(new Transition(activity9));
                state3.Transitions.Add(new Transition("raceover", activity10));
                state3.ExitActivity.Activities.Add(item27);
                state3.ExitActivity.Activities.Add(item16);
                state3.ExitActivity.Activities.Add(item20);
                state3.ExitActivity.Activities.Add(item21);
                state3.ExitActivity.Activities.Add(item22);
                state3.ExitActivity.Activities.Add(item23);
            }
            else
            {
                state3.EnterActivity.Activities.Add(item14);
                state3.Transitions.Add(new Transition(activity2));
                state3.Transitions.Add(new Transition(activity3));
                state3.Transitions.Add(new Transition(activity4));
                state3.Transitions.Add(new Transition(activity5));
                state3.Transitions.Add(new Transition(activity6));
                state3.Transitions.Add(new Transition(activity7));
                state3.Transitions.Add(new Transition(sequence));
                state3.Transitions.Add(new Transition(sequence2));
                state3.Transitions.Add(new Transition("raceover", activity10));
                state3.ExitActivity.Activities.Add(item27);
                state3.ExitActivity.Activities.Add(item16);
                state3.ExitActivity.Activities.Add(item20);
                state3.ExitActivity.Activities.Add(item21);
                state3.ExitActivity.Activities.Add(item22);
            }
            EntrantFinished        activity17 = new EntrantFinished(base.InstancedEvent, base.Entrant, -8209);
            EntrantFinished        activity18 = new EntrantFinished(base.InstancedEvent, base.Entrant, 8202);
            EntrantFinished        activity19 = new EntrantFinished(base.InstancedEvent, base.Entrant, 22);
            OverrideVehicleControl item29     = new OverrideVehicleControl(base.Entrant.Opponent.Vehicle, OverrideVehicleControl.Control.Coast);
            EnableReplication      item30     = new EnableReplication(base.Entrant.Opponent.Vehicle, false);

            state5.EnterActivity.Activities.Add(item29);
            state5.EnterActivity.Activities.Add(item30);
            state5.Transitions.Add(new Transition("crossedfinish", activity19));
            state5.Transitions.Add(new Transition("post", activity17));
            state5.Transitions.Add(new Transition("aborted", activity18));
            state4.EnterActivity.Activities.Add(item28);
            state4.Transitions.Add(new Transition("post"));
            if (base.Entrant.Opponent is RemoteHumanOpponent)
            {
                Abort item31 = new Abort(base.InstancedEvent, base.Entrant);
                state7.EnterActivity.Activities.Add(item31);
            }
            state7.Transitions.Add(new Transition("done"));
            PostEventScreen    activity20 = new PostEventScreen(base.InstancedEvent, base.Entrant, Ports.Gameplay);
            ChangeBlackBoard   item32     = new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_Audio, 4088298651u);
            EntrantBustedAudio item33     = new EntrantBustedAudio(base.InstancedEvent, base.Entrant);
            AbortEvent         item34     = new AbortEvent(base.InstancedEvent);
            FlushCops          item35     = new FlushCops();
            ChangeBlackBoard   item36     = new ChangeBlackBoard(BlackBoardChannel.kBlackBoard_AI, 331198907u);
            LobbyTick          activity21 = new LobbyTick(0.25f);

            if (base.Entrant.Opponent is LocalHumanOpponent)
            {
                state6.EnterActivity.Activities.Add(item32);
                state6.EnterActivity.Activities.Add(item36);
                state6.EnterActivity.Activities.Add(item35);
                state6.EnterActivity.Activities.Add(item7);
                state6.Transitions.Add(new Transition(activity21));
                state6.Transitions.Add(new Transition(activity6));
                state6.Transitions.Add(new Transition("done", activity20));
                state6.EnterActivity.Activities.Add(item33);
                state6.ExitActivity.Activities.Add(item34);
            }
            else
            {
                state6.Transitions.Add(new Transition("done"));
            }
            CleanupScoringMethod   item37 = new CleanupScoringMethod(base.InstancedEvent, base.Entrant);
            OverrideVehicleControl item38 = new OverrideVehicleControl(base.Entrant.Opponent.Vehicle, OverrideVehicleControl.Control.Release);
            RefreshPersona         item39 = new RefreshPersona(base.Event, base.Entrant);

            state8.EnterActivity.Activities.Add(item38);
            state8.EnterActivity.Activities.Add(item37);
            state8.EnterActivity.Activities.Add(item39);
            stateGraph.InitialState = "initial";
            stateGraph.DoneState    = "done";
            stateGraph.States.Add(state);
            stateGraph.States.Add(state2);
            stateGraph.States.Add(state3);
            stateGraph.States.Add(state5);
            stateGraph.States.Add(state4);
            stateGraph.States.Add(state6);
            stateGraph.States.Add(state7);
            stateGraph.States.Add(state8);
            return(stateGraph);
        }