Exemple #1
0
        string GetLogCsv(string category, DateTime startDate, SpeedrunTime time,
                         SpeedrunTime oldTimingTime, bool isMirrored, bool cheatsEnabled)
        {
            if (startDate.Kind == DateTimeKind.Utc)
            {
                startDate = startDate.ToLocalTime();
            }
            var startDateStr = startDate.ToString("o", CultureInfo.InvariantCulture);

            var decimals    = 3;
            var realTimeStr = Utils.FormatTime(time.RealTime, decimals);
            var gameTimeStr = Utils.FormatTime(time.GameTime, decimals);

            var realTimeOldStr = Utils.FormatTime(oldTimingTime.RealTime, decimals);
            var gameTimeOldStr = Utils.FormatTime(oldTimingTime.GameTime, decimals);

            var version     = Log.Version;
            var gameVersion = Log.IsLegacy ? "2013" : "2017";
            var cheats      = BoolToYesNo(cheatsEnabled);
            var mirrored    = BoolToYesNo(isMirrored);

            return(category + ",START DATE,REAL TIME,GAME TIME,GAME TIME (RAW)"
                   + ",REAL TIME (OLD TIMING),GAME TIME (OLD TIMING)"
                   + ",MIRRORED,CHEATS,MOD VERSION,GAME VERSION"
                   + Environment.NewLine
                   + $",{startDateStr},{realTimeStr},{gameTimeStr},{time.GameBeatTime}"
                   + $",{realTimeOldStr},{gameTimeOldStr}"
                   + $",{mirrored},{cheats},{Log.Version},{gameVersion}"
                   + Environment.NewLine);
        }
Exemple #2
0
        public void LevelStart(int level, SpeedrunTime timestamp)
        {
            ThrowIfLevelOutOfRange(level);

            Levels[level - 1] = new LevelLog()
            {
                StartDate  = DateTime.UtcNow,
                StartTime  = timestamp,
                IsMirrored = MirrorModeManager.mirrorModeActive
            };
        }
Exemple #3
0
        public void CompleteLevel(int level, SpeedrunTime timestamp)
        {
            ThrowIfLevelOutOfRange(level);

            var index = level - 1;

            if (Levels[index] == null)
            {
                Levels[index] = new LevelLog();
            }
            Levels[index].SplitTime     = timestamp;
            Levels[index].CheatsEnabled = Cheats.Enabled;
        }
    void Update()
    {
        TorchScript  saveDataTorch = saveTorch.GetComponent <TorchScript>();
        SpeedrunTime timer         = time.GetComponent <SpeedrunTime>();
        keyPickup    keyCounter    = key.GetComponent <keyPickup>();

        textCounterCoins.text = coins.ToString();
        if (chest.isChanged == 0)
        {
            textCounterPotion.text = potions.ToString();
        }
        else if (chest.isChanged == 1 && which.whichOne == 0)
        {
            textCounterPotion.text = potion_mvspeed.ToString();
        }
        else if (chest.isChanged == 1 && which.whichOne == 1)
        {
            textCounterPotion.text = potion_invisible.ToString();
        }
        textCounterTrap.text  = trap.ToString();
        textCounterTorch.text = torches.ToString();
        textCounterKeys.text  = keyCounter.key.ToString();

        movement.x = Input.GetAxisRaw("Horizontal");
        movement.y = Input.GetAxisRaw("Vertical");
        movement   = movement.normalized;
        hf         = movement.x > 0.01f ? movement.x : movement.x < -0.01f ? 1 : 0;
        speed      = movement.y > 0.01f ? movement.y : movement.y < -0.01f ? 1 : 0;
        if (movement.x < -0.01f)
        {
            this.gameObject.transform.localScale = new Vector3(-1, 1, 1);
        }
        else
        {
            this.gameObject.transform.localScale = new Vector3(1, 1, 1);
        }


        anim.SetFloat("Horizontal", hf);
        anim.SetFloat("Vertical", movement.y);
        anim.SetFloat("Speed", speed);
    }
        public void AllLevels()
        {
            var log           = new RunLog();
            var timeIncrement = new SpeedrunTime(TimeSpan.FromMinutes(3.1374), TimeSpan.FromMinutes(2.7684));
            var timer         = new SpeedrunTime();

            for (var lvl = 1; lvl <= log.Levels.Length; lvl++)
            {
                timer += timeIncrement;
                log.LevelStart(lvl, timer);

                var expectedLevelTime = new SpeedrunTime();
                for (var i = 0; i < lvl; i++)
                {
                    timer             += timeIncrement;
                    expectedLevelTime += timeIncrement;
                }

                log.CompleteLevel(lvl, timer);

                Assert.AreEqual(expectedLevelTime, log.Levels[lvl - 1].Time);
                Assert.AreEqual(timer, log.Levels[lvl - 1].SplitTime);
            }
        }
    private void Update()
    {
        SpeedrunTime speedrunTime = new SpeedrunTime(speedrunSeconds.Value);

        text.text = speedrunTime.minutes + ":" + speedrunTime.seconds + ":" + speedrunTime.milliSeconds;
    }