Esempio n. 1
0
        public static void GoToBattlePlaybackState(ReplayMapDataLoader mapDataLoader)
        {
            BattlePlaybackState battlePlaybackState = new BattlePlaybackState();

            battlePlaybackState.Setup(null, null, mapDataLoader);
            Service.Get <EventManager>().RegisterObserver(battlePlaybackState, EventId.BattleRecordRetrieved, EventPriority.Default);
        }
        private void ReplayLastBattleOrReplay()
        {
            CurrentBattle       currentBattle       = Service.Get <BattleController>().GetCurrentBattle();
            ReplayMapDataLoader replayMapDataLoader = Service.Get <ReplayMapDataLoader>();
            BattleRecord        battleRecord        = Service.Get <BattleRecordController>().BattleRecord;
            BattleEntry         battleEntry         = currentBattle.Clone();

            replayMapDataLoader.InitializeFromData(battleEntry, battleRecord);
            BattlePlaybackState.GoToBattlePlaybackState(battleRecord, battleEntry, replayMapDataLoader);
            this.LogReplayViewed(battleEntry.RecordID, battleEntry.Defender.PlayerId, battleEntry.SharerPlayerId);
        }
Esempio n. 3
0
        public void ReplayBattle(string battleId, BattleParticipant defender, string sharerPlayerId)
        {
            ProcessingScreen.Show();
            ReplayMapDataLoader replayMapDataLoader = Service.Get <ReplayMapDataLoader>();

            replayMapDataLoader.Initialize(defender, sharerPlayerId);
            GetReplayCommand getReplayCommand = new GetReplayCommand(Service.Get <CurrentPlayer>().PlayerId, battleId, defender.PlayerId);

            getReplayCommand.AddSuccessCallback(new AbstractCommand <GetReplayRequest, GetReplayResponse> .OnSuccessCallback(replayMapDataLoader.OnReplayLoaded));
            getReplayCommand.AddFailureCallback(new AbstractCommand <GetReplayRequest, GetReplayResponse> .OnFailureCallback(replayMapDataLoader.OnReplayLoadFailed));
            Service.Get <ServerAPI>().Sync(getReplayCommand);
            Service.Get <BattlePlaybackController>().LogReplayViewed(battleId, defender.PlayerId, sharerPlayerId);
        }