/** * \brief Called when changing Unity play mode state. */ private void LogPlayModeState(PlayModeStateChange playModeStateChange) { switch (playModeStateChange) { case PlayModeStateChange.EnteredPlayMode: _rollbackManager = RollbackManager.Instance; _rbBaseInput = new RollbackInputBaseActions(1 + _numOfInputs / 8); break; } }
protected void StopRayRollback(float timeDelay) { #if FIRSTGEARGAMES_COLLIDERROLLBACKS if (timeDelay > 0f) { RollbackManager.ReturnForward(); } #else if (timeDelay > 0f) { LagCompensationManager.StopSimulation(); } #endif }
protected void StartRayRollback(float timeDelay) { #if FIRSTGEARGAMES_COLLIDERROLLBACKS Debug.Log("RollbackCalled " + timeDelay); if (timeDelay > 0f) { RollbackManager.RollbackSteps(timeDelay, RollbackManager.PhysicsTypes.ThreeDimensional); } #else if (timeDelay > 0f) { LagCompensationManager.StartSimulation(timeDelay); } #endif }
public IEnumerator CheckAccessAfterBufferDeletion() { //Setup RollbackManager with the input manager if (RollbackManager.Instance.GetComponent <SampleRollbackInputManager>() == null) { RollbackManager.Instance.gameObject.AddComponent <SampleRollbackInputManager>(); RollbackManager.Instance.ResetRbInputManagerEvents(); } RollbackManager.Instance.bufferSize = 5; RollbackManager.Instance.bufferRestriction = true; RollbackManager.Instance.ClearRollbackManager(); RollbackManager.rbInputManager.AddPlayer(); GameObject randomObject = new GameObject(); RollbackManager.RegisterRollbackBehaviour(randomObject.AddComponent <SpeedmoveRollback>()); RollbackManager.RegisterRollbackBehaviour(randomObject.AddComponent <PositionRollback>()); randomObject.GetComponent <SpeedmoveRollback>().direction = Vector3.down; yield return(new WaitForSeconds(0.02f)); for (int i = 1; i <= 10; i++) { RollbackManager.Instance.Simulate(1); Vector3 valueToTest = Vector3.down * Time.fixedDeltaTime * i; Debug.Log("1"); Assert.True(randomObject.transform.position == valueToTest); Debug.Log("2"); Assert.True(randomObject.GetComponent <PositionRollback>().GetPositionRB().value == valueToTest); Debug.Log("3"); Assert.True(randomObject.GetComponent <PositionRollback>().GetPositionRB().GetValue(5) == valueToTest); yield return(new WaitForSeconds(0.02f)); } Assert.True(RollbackManager.Instance.GetDisplayedFrameNum() == 5); Assert.Pass(); yield break; }
public static void Main(string[] args) { /*try * {*/ var argsManager = new ArgsManager(args); argsManager.CheckArgsValidity(); var data = argsManager.ExtactArgs(); Mp3File mp3; IEnumerable <IMp3File> mp3Files; switch (data.Action) { case ProgramAction.Analyse: mp3Files = Directory.GetFiles(data.Path, "*.mp3").Select(file => new Mp3File(file, new FileSaver(file))).ToArray(); var pathAnalyser = new Mp3FileAnalyser(mp3Files, data.Mask); var differences = pathAnalyser.GetDifferences(); new CommunicationWithUser().ShowDifferences(differences, new ConsoleCommunication()); foreach (var mp3File in mp3Files) { mp3File?.Dispose(); } break; case ProgramAction.Mp3Edit: using (mp3 = new Mp3File(data.Path, new FileSaver(data.Path))) { var tagsChanger = new Mp3TagChanger(mp3, data.Mask, new FileSaver(RollbackData)); tagsChanger.ChangeTags(); } break; case ProgramAction.FileRename: using (mp3 = new Mp3File(data.Path, new FileSaver(data.Path))) { var renamer = new Mp3FileNameChanger(mp3, data.Mask, new FileSaver(RollbackData)); var newFileName = renamer.GetNewFileName(); mp3.ChangeFileName(newFileName); } break; case ProgramAction.Sync: mp3Files = Directory.GetFiles(data.Path, "*.mp3").Select(file => new Mp3File(file, new FileSaver(file))).ToArray(); var syncer = new Mp3Syncing(mp3Files, data.Mask, new ConsoleCommunication(), new FileSaver(RollbackData)); syncer.SyncFiles(); foreach (var mp3File in mp3Files) { mp3File?.Dispose(); } break; case ProgramAction.Rollback: using (var rollbackSystem = new RollbackManager(new FileSaver(RollbackData))) { var state = rollbackSystem.Rollback(); Console.WriteLine( state.State == RollbackState.Fail ? $"Error occured while trying doing rollback. Details : \n\tError:{state.FailReason}" : $"Rollback success."); } break; default: throw new ArgumentOutOfRangeException(); } Console.WriteLine("Done!"); /*} * catch (Exception e) * { #if DEBUG * Console.WriteLine("Exeption: \r\n{0} \r\n\nAt:\n{1}", e.Message, e.StackTrace); #else * Console.WriteLine("Error occured: {0}", e.Message); #endif * } * finally * { * Console.ReadKey(); * }*/ }