Beispiel #1
0
 /**
  * \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;
     }
 }
Beispiel #2
0
        protected void StopRayRollback(float timeDelay)
        {
#if FIRSTGEARGAMES_COLLIDERROLLBACKS
            if (timeDelay > 0f)
            {
                RollbackManager.ReturnForward();
            }
#else
            if (timeDelay > 0f)
            {
                LagCompensationManager.StopSimulation();
            }
#endif
        }
Beispiel #3
0
        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
        }
Beispiel #4
0
    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;
    }
Beispiel #5
0
        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();
             * }*/
        }