public void SeekReplayHighlightsNormalized(float normalizedOffset) { if (isReplayingHighlights == true) { float totalDuration = 0; for (int i = 0; i < highlightsStorage.Count; i++) { totalDuration += highlightsStorage[i].Duration; } float targetTime = Mathf.Lerp(0, totalDuration, Mathf.Clamp01(normalizedOffset)); for (int i = 0; i < highlightsStorage.Count; i++) { if (targetTime < highlightsStorage[i].Duration) { ReplayManager.StopPlayback(ref replayHighlightHandle); replayHighlightHandle = ReplayManager.BeginPlayback(highlightsStorage[i]); ReplayManager.SetPlaybackTime(replayHighlightHandle, targetTime); break; } targetTime -= highlightsStorage[i].Duration; } } }
// Methods public IEnumerator Start() { // Usually you should register replay prefabs in editor via the global settings but it can also be done via code if required UltimateReplay.Settings.prefabs.RegisterReplayablePrefab(instanitatePrefab); // Start recording - Note that we need to enable 'allowEmptyScene' if there are no replay objects in the scene initially ReplayHandle recordHandle = ReplayManager.BeginRecording(null, null, true, true); // Wait for some time to pass yield return(new WaitForSeconds(1f)); // Spawn a dynamic replay object ReplayObject obj = Instantiate(instanitatePrefab); // Add the object to all recording scenes - This is a required step otherwise the object will not be recorded ReplayManager.AddReplayObjectToRecordScenes(obj); // Wait for some time to pass now that the object has been spawned yield return(new WaitForSeconds(1)); // End recording // The resulting replay will have 1 second of nothing and then the dynamic object will be re-instantiated by the replay system ReplayManager.StopRecording(ref recordHandle); }
public static void Main() { //init instances: LogControl logControl = new LogControl(); SystemControl sysControl = new SystemControl(logControl); ReplayManager replayManager = new ReplayManager(); SessionIdHandler sidHandler = new SessionIdHandler(); GameCenter gameCenter = new GameCenter(sysControl, logControl, replayManager, sidHandler); var commHandler = CommunicationHandler.GetInstance(); MessageEventHandler eventHandler = new MessageEventHandler(gameCenter, sysControl, logControl, replayManager, sidHandler); gameCenter.SetMessageHandler(eventHandler); var webEventHandler = new WebEventHandler(new ServerEventHandler(sidHandler, null, gameCenter, sysControl, logControl, replayManager, null)); WebCommHandler webCommHandler = new WebCommHandler(webEventHandler); Task commTask = Task.Factory.StartNew(commHandler.Start); Task webCommTask = Task.Factory.StartNew(webCommHandler.Start); Console.WriteLine("starting comm"); Task eventTask = Task.Factory.StartNew(eventHandler.HandleIncomingMsgs); commTask.Wait(); webCommTask.Wait(); }
private void OnPressKeyZ() { if (_mode == eReplayViewMode.Save) { _viewState = eViewState.EditReplayName; _itemList[_selectIndex].EditReplayName(OnEditEndCallback); } else if (_mode == eReplayViewMode.Load) { ReplayInfo info = _infoList[_selectIndex]; if (info.replayIndex != -1) { bool isSuccess = ReplayManager.GetInstance().LoadReplay(info.replayIndex); if (isSuccess) { Logger.Log("Load replay" + info.replayIndex + " success!"); SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false); } else { Logger.Log("Load replay" + info.replayIndex + " fail!"); } } } }
private void StartReplay(string execName = "default") { LeagueExecutable exec = null; // Get default exec or specified exec if (execName.Equals("default")) { // Start update form with default var result = new UpdateSplashForm().ShowDialog(); if (result == DialogResult.OK) { exec = ExecsManager.GetExec(ExecsManager.GetDefaultExecName()); } else { // Failed to get exec, stop this.GeneralPlayReplaySplitButton.Enabled = true; return; } } else { // Start update form with target var result = new UpdateSplashForm(execName).ShowDialog(); if (result == DialogResult.OK) { exec = ExecsManager.GetExec(execName); } else { // Failed to get exec, stop this.GeneralPlayReplaySplitButton.Enabled = true; return; } } // This really shouldn't happen, but just to be safe if (exec == null) { MessageBox.Show($"Could not find executable data {execName}\nPlease run ROFL Player and check the executables", "Failed to start replay", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var playtask = Task.Run(() => { ReplayManager.StartReplay(replaypath, exec.TargetPath); }).ContinueWith((t) => { this.BeginInvoke((Action)(() => { if (t.IsFaulted) { MessageBox.Show("Failed to play replay: " + t.Exception.GetType().ToString() + "\n" + t.Exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } GeneralPlayReplaySplitButton.Enabled = true; })); }); }
public UserBridge(GameCenter gc, SystemControl sys, LogControl log, ReplayManager replay) { var ses = new SessionIdHandler(); _gameService = new GameServiceHandler(gc, sys, log, replay, ses); _userService = new UserServiceHandler(gc, sys); }
static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // StartupMode, 0 = show detailed information, 1 = launch replay immediately try { if (args.Length == 0) { Application.Run(new SettingsForm()); } else { if (RoflSettings.Default.StartupMode == 0) { ReplayManager.StartReplay(args[0]); } else { Application.Run(new DetailForm(args[0])); } } } catch (Exception ex) { MessageBox.Show(@"ROFLPlayer encountered an unhandled exception, please record this message and report it here https://github.com/andrew1421lee/ROFL-Player/issues" + "\n\n" + ex.ToString() + "\n" + ex.Source, "Critical Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } }
private void MainForm_Load(object sender, EventArgs e) { ConfigManager.Initialize(); ReplayManager.Initialize(); this.LoadReplays(); }
// Methods public IEnumerator Start() { // Create a record scene for the record object ReplayScene recordScene = new ReplayScene(recordObject); // Start recording the single object ReplayHandle recordHandle = ReplayManager.BeginRecording(null, recordScene); // Allow some data to be recorded for 1 second yield return(new WaitForSeconds(1f)); // Stop recording ReplayManager.StopRecording(ref recordHandle); // Clone the identity which allows the replayObject to be replayed as the recordObject ReplayObject.CloneReplayObjectIdentity(recordObject, replayObject); // Create a playback scene for the replay object ReplayScene playbackScene = new ReplayScene(replayObject); // Start playback ReplayManager.BeginPlayback(null, playbackScene); }
private void Awake() { var enemyPlacer = GetComponent <RandomEnemyPlacer>(); enemyPlacer.PlaceRandomEnemies(); _tileLayer = LayerMask.GetMask("Tiles"); ReplayManager replayManager = new ReplayManager(); _stateMachine = new StateMachine <GameStateBase>(); var moveManager = new MoveManager <Piece>(Board); var playGameState = new PlayGameState(Board, moveManager); _stateMachine.RegisterState(GameStates.EnemyPhase1, new EnemyPhase1GameState(Board)); _stateMachine.RegisterState(GameStates.EnemyPhase2, new EnemyPhase2GameState(Board)); _stateMachine.RegisterState(GameStates.Play, playGameState); moveManager.Register(PlayerMoveCommandProvider.Name, new PlayerMoveCommandProvider(playGameState, replayManager)); ConnectMoveCommandProviderView(moveManager); ConnectPieceViews(moveManager); ConnectTileViews(Board); ConnectBoardView(Board); _stateMachine.MoveTo(GameStates.EnemyPhase1); }
/// <summary> /// Constructeur <see cref="ReplayModel" /> class. /// </summary> /// <param name="mI">Accès à la fenetre principale</param> /// <param name="replayM">Modele du replay</param> public ReplayModel(MainInterface mI, Diaballik.Replay.ReplayManager replayM) { this.mI = mI; this.replayM = replayM; AccessStop = Visibility.Collapsed; AccessStart = Visibility.Visible; }
private int CalculateMemoryBufferSize() { int requiredBytes = 0; // Create a temp storage container ReplayState state = new ReplayState(); // Get all active components foreach (ReplayBehaviour replay in Component.FindObjectsOfType <ReplayBehaviour>()) { // Calculate the required size replay.OnReplaySerialize(state); } // Multiply by record fps ReplayManager manager = Component.FindObjectOfType <ReplayManager>(); // Default to 24 fps requiredBytes = (manager != null) ? state.Size * manager.recordFPS : state.Size * 24; // Take into account the number of seconds in the memory buffer requiredBytes = (int)(requiredBytes * Replay.recordSeconds); return(requiredBytes); }
public ActionResult AJ(int webId = 33) { ReplayManager dal4 = new ReplayManager(); var list5 = dal4.Where(x => x.webId == webId).Select(x => new { x.webId, x.ReplayTime, x.User.UserName, x.ReplayResult, x.ReplayId, x.User.Userimg }).ToList(); return(Json(list5, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 更新STG主线程 /// </summary> private void OnSTGMainUpdate() { // 录像状态中,检测是否进行到了录像的最后一帧 if (Global.IsInReplayMode) { if (_isReplayFinish) { return; } int curFrame = STGStageManager.GetInstance().GetFrameSinceStageStart(); if (curFrame >= ReplayManager.GetInstance().GetReplayLastFrame()) { _isReplayFinish = true; PauseGame(ePauseViewState.PauseAfterReplayFinished); return; } // 检测是否在游戏进行中按下Esc进行暂停 if (!Global.IsPause && Input.GetKeyDown(KeyCode.Escape)) { PauseGame(ePauseViewState.PauseInReplay); } else if (!Global.IsPause && !Global.IsApplicationFocus) { PauseGame(ePauseViewState.PauseInReplay); } } else { if (_isGameOver) { if (!Global.IsPause) { _gameOverTimeCounter++; if (_gameOverTimeCounter >= 30) { PauseGame(ePauseViewState.PauseAfterGameOver); return; } } } // 检测是否在游戏进行中按下Esc进行暂停 if (!Global.IsPause && Input.GetKeyDown(KeyCode.Escape)) { PauseGame(ePauseViewState.PauseInGame); } else if (!Global.IsPause && !Global.IsApplicationFocus) { PauseGame(ePauseViewState.PauseInGame); } } if (_resumeSTGSE) { _resumeSTGSE = false; SoundManager.GetInstance().ResumeAllSTGSound(); } if (!Global.IsPause) { _stgMain.Update(); } }
private void InitReplayItemInfo() { // 初始化 _infoList = new List <ReplayInfo>(); ReplayInfo info; for (int i = 0; i < MaxInfoCount; i++) { info = new ReplayInfo { replayIndex = -1, }; _infoList.Add(info); } // 读取replay的信息 List <ReplayInfo> infos = ReplayManager.GetInstance().GetReplayInfoList(); _infoCount = infos.Count; for (int i = 0; i < _infoCount; i++) { info = infos[i]; _infoList[info.replayIndex] = info; } // 更新ReplayItem的显示 for (int i = 0; i < MaxInfoCount; i++) { ReplayItem item = _itemList[i]; item.SetInfo(_infoList[i]); } }
public int WinAreaNumber = 1; // 中獎區編號 private void Start() { // 初始給值 BallFirstPos = Ball.transform.position; PinFirstPos = Pin.transform.position; BallList.Add(Ball); ReplayM = this.GetComponent <ReplayManager>(); // 上方設定 TopCapsule.SetActive(false); int horizontalOffset = int.Parse(HorizontalField.text); int verticalOffset = int.Parse(VerticalField.text); TopCapsuleInfo tempInfo = new TopCapsuleInfo(); tempInfo.capsule = GameObject.Instantiate <GameObject>(TopCapsule); tempInfo.HorizontalOffset = horizontalOffset; tempInfo.VerticalOffset = verticalOffset; tempInfo.capsule.SetActive(true); tempInfo.capsule.transform.SetParent(TopCapsule.GetComponentInParent <Transform>()); tempInfo.NameID = 0; TopCapsuleList.Add(tempInfo); MoveTopCapsule(); ResetPhysicMaterial(); }
private void ManageReplaysDeleteButton_Click(object sender, EventArgs e) { ReplayData replayData = (ReplayData)ManageReplaysList.SelectedItems[0].Tag; ReplayManager.DeleteReplay(replayData.Filename); this.LoadReplays(); }
public static ReplayManager GetInstance() { if (_instance == null) { _instance = new ReplayManager(); } return(_instance); }
private int CalculateFrameSize() { // Get the replay manager ReplayManager manager = (target as ReplayManager); // Take record fps into account return(CalculateSampleSize() * manager.recordFPS); }
// Methods public void Start() { // Load an existing replay file from the specified file path ReplayFileTarget replayFile = ReplayFileTarget.ReadReplayFile("C:/ReplayFiles/Example.replay"); // Start replaying ReplayManager.BeginPlayback(replayFile); }
private void Awake() { courtManager = GetComponent <CourtManager>(); pointManager = GetComponent <PointManager>(); soundManager = GetComponent <SoundManager>(); replayManager = GetComponent <ReplayManager>(); tennisVariables = GetComponent <TennisVariables>(); }
public GameBridge(GameCenter gc, SystemControl sys, LogControl log, ReplayManager replay) { _gameCenter = gc; var ses = new SessionIdHandler(); _gameService = new GameServiceHandler(gc, sys, log, replay, ses); _userService = new UserServiceHandler(gc, sys); _logDbHandler = new LogsOnlyForTest(); }
private IEnumerator RestartKillcamRecording() { // Wait a frame yield return(null); // Start recording again killcamStorage.Clear(); killcamHandle = ReplayManager.BeginRecording(killcamStorage); }
// Methods public void Start() { // Create a memory storage target to store the replay ReplayStorageTarget storage = new ReplayMemoryTarget(); // Begin recording to the specified storage target. // We should store the returned replay handle as all other replay operations will expect this value as a parameter to identify the recording // By default, all replay objects in the active scene will be recorded. recordHandle = ReplayManager.BeginRecording(storage); }
/// <summary> /// 疮痍之后继续游戏 /// </summary> private void OnContinueAfterGameOver() { ReplayManager.GetInstance().SetReplayEnable(false); Global.IsPause = false; _isGameOver = false; _resumeSTGSE = true; // 设置初始残机数和符卡数目 PlayerInterface.GetInstance().SetLifeCounter(Consts.STGInitLifeCount, 0); PlayerInterface.GetInstance().SetSpellCardCounter(Consts.STGInitSpellCardCount, 0); }
// Methods public override void Awake() { base.Awake(); // Create a rolling memory buffer of 10 seconds killcamStorage = ReplayMemoryTarget.CreateTimeLimitedRolling(recordKillcamSeconds); // Start recording killcamHandle = ReplayManager.BeginRecording(killcamStorage); }
public GameServiceHandler(GameCenter gc, SystemControl sys, LogControl log, ReplayManager replay, SessionIdHandler sidHandler) { _gameCenter = gc; _systemControl = sys; _logControl = log; _replayManager = replay; //new MessageEventHandler(gc, sys, log, replay, sidHandler); _proxyDb = new GameDataProxy(_gameCenter); }
private void Awake() { _replayBuffers = new List <ReplayBuffer>(); if (_instance != null && _instance != this) { Destroy(this.gameObject); } _instance = this; }
private void LoadReplays() { List <ReplayData> replayDataList = ReplayManager.LoadReplays(); this.ClearManageReplaysList(); foreach (ReplayData replayData in replayDataList) { this.AddReplayToReplaysList(replayData); } }
public void Init(ReplayManager rm, float m_framesToRecord) { m_State = State.Recording; m_maxFrames = m_framesToRecord; m_replayManager = rm; m_replayManager.OnStopRecordingAction += StopRecording; m_replayManager.OnReplayAction += StartReplayFromBeginning; m_replayManager.OnStopReplayAction += StopReplay; m_replayManager.OnRewindAction += RewindToPoint; }
//EMode Mode //{ // get { return m_eMode; } // set // { // m_eMode = value; // if (value == EMode.Replay) // m_ReplayManager.StartReplay(); // } // //} void Start() { m_tPlayers = GameObject.FindGameObjectsWithTag("Player"); m_tBall = GameObject.FindGameObjectWithTag("Ball"); m_tTerrain = GameObject.Find("Stade"); m_tGoals = GameObject.FindGameObjectsWithTag("Goal"); pUiTransition = GameObject.FindGameObjectsWithTag("Transition"); m_ReplayManager = transform.GetComponentInChildren<ReplayManager>(); m_eMode = EMode.Gameplay; TimerBeforeStart = MaxTimer; }