public void SwitchTimeScale()
    {
        switch (timeScale)
        {
        case 0:
            beatSource.PlayScheduled(SimpleClock.AtNextMeasure());
            break;

        case 1:
            beatSource.PlayScheduled(SimpleClock.AtNextQuarter());
            break;

        case 2:
            beatSource.PlayScheduled(SimpleClock.AtNextEighth());
            break;

        case 3:
            beatSource.PlayScheduled(SimpleClock.AtNextSixteenth());
            break;

        case 4:
            beatSource.PlayScheduled(SimpleClock.AtNextThirtySecond());
            break;
        }
    }
    void Start()
    {
        //pp stuff
        colorGrader = myPost.colorGrading.settings;

        colorGrader.basic.hueShift = 0;

        myPost.colorGrading.settings = colorGrader;

        //set our movement points
        movementPoints = new Transform[movementPointHolder.childCount];
        for (int i = 0; i < movementPointHolder.childCount; i++)
        {
            movementPoints[i] = movementPointHolder.transform.GetChild(i);
        }
        finishDest = movementPoints.Length - 1;

        playerNavMove = GetComponent <NavMeshAgent>();
        planeSource   = airship.GetComponent <AudioSource>();
        planeSource.Play();
        SetDestination();
        smokeSpawnTimer = smokeSpawnTotal;
        clock           = GameObject.FindGameObjectWithTag("SimpleClock").GetComponent <SimpleClock>();
        myCam           = Camera.main;
    }
        public void MessageTemplates_WhenRateLimitingEnabled_IncludesTheNumberOfSkippedMessages()
        {
            const int secondsBetweenLogs = 60;
            var       rateLimiter        = new LogRateLimiter(secondsBetweenLogs);
            var       logger             = new DatadogSerilogLogger(_logger, rateLimiter);
            var       clock = new SimpleClock();

            _clockDisposable = Clock.SetForCurrentThread(clock);

            WriteRateLimitedLogMessage(logger, "Warning level message");

            // these aren't written, as rate limited
            WriteRateLimitedLogMessage(logger, "Warning level message");
            WriteRateLimitedLogMessage(logger, "Warning level message");
            WriteRateLimitedLogMessage(logger, "Warning level message");

            clock.UtcNow = clock.UtcNow.AddSeconds(secondsBetweenLogs);
            WriteRateLimitedLogMessage(logger, "Warning level message");

            Assert.True(
                _logEventSink.Events.Count == 2,
                $"Found {_logEventSink.Events.Count} messages: \r\n{string.Join("\r\n", _logEventSink.Events.Select(l => l.RenderMessage()))}");

            Assert.Collection(
                _logEventSink.Events,
                log => log.RenderMessage().EndsWith(", 0 additional messages skipped"),
                log => log.RenderMessage().EndsWith(", 3 additional messages skipped"));
        }
Beispiel #4
0
    void Update()
    {
        angularSpeed = (SimpleClock.BeatLength() * 2);

        if (rotating)
        {
            child.transform.localPosition = PointOnCircle(rotationTime * ((2 * Mathf.PI) / angularSpeed)) * radius;

            rotationTime += Time.deltaTime;
        }
    }
Beispiel #5
0
 // Update is called once per frame
 void Update()
 {
     if (!playNote.isPlaying)
     {
         playNote.PlayScheduled(SimpleClock.AtNextQuarter());
         playNote.SetScheduledEndTime(SimpleClock.AtNextHalf());
     }
     frontLeft.localEulerAngles  = new Vector3(0, 0, 90 + target);
     frontRight.localEulerAngles = new Vector3(0, 0, -90 - target);
     backLeft.localEulerAngles   = new Vector3(0, 90, 90 + target);
     backRight.localEulerAngles  = new Vector3(0, 90, -90 - target);
 }
Beispiel #6
0
 private void Awake()
 {
     if (_instance != null && _instance != this)
     {
         Destroy(this.gameObject);
     }
     else
     {
         _instance = this;
     }
     if (BPM.Equals(0.0))
     {
         Debug.LogWarning("BPM not set! Please set the BPM in the Beat Clock.");
     }
 }
        public void RateLimiting_ConsidersLogMessagesOnSameLineToBeSame()
        {
            const int secondsBetweenLogs = 60;
            var       rateLimiter        = new LogRateLimiter(secondsBetweenLogs);
            var       logger             = new DatadogSerilogLogger(_logger, rateLimiter);

            var clock = new SimpleClock();

            _clockDisposable = Clock.SetForCurrentThread(clock);

#pragma warning disable SA1107 // Code must not contain multiple statements on one line
            logger.Warning("Warning level message"); logger.Warning("Warning level message");
#pragma warning restore SA1107 // Code must not contain multiple statements on one line

            Assert.True(
                _logEventSink.Events.Count == 1,
                $"Found {_logEventSink.Events.Count} messages: \r\n{string.Join("\r\n", _logEventSink.Events.Select(l => l.RenderMessage()))}");
        }
Beispiel #8
0
    public IEnumerator WaitAndMove(float delayTime)
    {
        currTime = 0f;

        // SetMaterial(true);
        SetVisibility(true);

        while (currTime < (SimpleClock.MeasureLength() * 4 - (SimpleClock.BeatLength() / 2)))
        {                                                                                                                     // until one second passed
            currTime                 += Time.deltaTime;
            transform.position        = Vector3.Lerp(startPos, destinationPos, currTime / (SimpleClock.MeasureLength() * 4)); // lerp from A to B in currTime/(SimpleClock.MeasureLength() * 4
            glowScript.GlowBrightness = Mathf.Lerp(1f, 3.5f, currTime / (SimpleClock.MeasureLength() * 4));                   //notes get brighter as they approach the fret
            yield return(1);                                                                                                  // wait for next frame
        }

        //make a note invisible once it has reached its destination
        ResetNote(false, true);
    }
Beispiel #9
0
 private void Awake()
 {
     audioSources = gameObject.GetComponents <AudioSource>();
     // songSource = gameObject.GetComponent<AudioSource>();
     songSource = audioSources[0];                   //RhythmGameController can have multiple AudioSources, but the one that SimpleClock
                                                     //refers to (the one that plays the music) MUST always be the first
     if (_instance != null && _instance != this)
     {
         Debug.Log("Destroying");
         Destroy(this.gameObject);
     }
     else
     {
         _instance = this;
     }
     if (BPM.Equals(0.0))
     {
         Debug.LogWarning("BPM not set! Please set the BPM in the Beat Clock.");
     }
 }
        public void RateLimiting_WhenLoggingIsOnSeparateLines_DoesntRateLimit()
        {
            const int secondsBetweenLogs = 60;
            var       rateLimiter        = new LogRateLimiter(secondsBetweenLogs);
            var       logger             = new DatadogSerilogLogger(_logger, rateLimiter);

            var clock = new SimpleClock();

            _clockDisposable = Clock.SetForCurrentThread(clock);

            logger.Warning("Warning level message");
            logger.Warning("Warning level message");
            logger.Warning("Warning level message");

            clock.UtcNow = clock.UtcNow.AddSeconds(secondsBetweenLogs);
            logger.Warning("Warning level message");

            Assert.True(
                _logEventSink.Events.Count == 4,
                $"Found {_logEventSink.Events.Count} messages: \r\n{string.Join("\r\n", _logEventSink.Events.Select(l => l.RenderMessage()))}");
        }
Beispiel #11
0
        private static RateLimitResult RunTest(int?intervalLimit, RateLimitLoadTest test)
        {
            var parallelism = test.NumberPerBurst;

            if (parallelism > Environment.ProcessorCount)
            {
                parallelism = Environment.ProcessorCount;
            }

            var clock = new SimpleClock();

            var limiter         = new RateLimiter(maxTracesPerInterval: intervalLimit);
            var barrier         = new Barrier(parallelism + 1, _ => clock.UtcNow += test.TimeBetweenBursts);
            var numberPerThread = test.NumberPerBurst / parallelism;
            var workers         = new Task[parallelism];
            int totalAttempted  = 0;
            int totalAllowed    = 0;

            for (int i = 0; i < workers.Length; i++)
            {
                workers[i] = Task.Factory.StartNew(
                    () =>
                {
                    using var lease = Clock.SetForCurrentThread(clock);

                    for (var i = 0; i < test.NumberOfBursts; i++)
                    {
                        // Wait for every worker to be ready for next burst
                        barrier.SignalAndWait();

                        for (int j = 0; j < numberPerThread; j++)
                        {
                            // trace id and span id are not used in rate-limiting
                            var spanContext = new SpanContext(TraceId.CreateFromInt(1), spanId: 1, serviceName: "Weeeee");

                            // pass a specific start time since there is no TraceContext
                            var span = new Span(spanContext, DateTimeOffset.UtcNow);

                            Interlocked.Increment(ref totalAttempted);

                            if (limiter.Allowed(span))
                            {
                                Interlocked.Increment(ref totalAllowed);
                            }
                        }
                    }
                },
                    TaskCreationOptions.LongRunning);
            }

            // Wait for all workers to be ready
            barrier.SignalAndWait();

            // We do not need to synchronize with workers anymore
            barrier.RemoveParticipant();

            // Wait for workers to finish
            Task.WaitAll(workers);

            var result = new RateLimitResult
            {
                RateLimiter    = limiter,
                ReportedRate   = limiter.GetEffectiveRate(),
                TotalAttempted = totalAttempted,
                TotalAllowed   = totalAllowed
            };

            return(result);
        }
 public LogRateLimiterTests()
 {
     _rateLimiter     = new LogRateLimiter(SecondsBetweenLogs);
     _clock           = new SimpleClock();
     _clockDisposable = Clock.SetForCurrentThread(_clock);
 }
Beispiel #13
0
    // Update is called once per frame
    void Update()
    {
        if (audio.isPlaying)
        {
            timer -= Time.deltaTime;
            if (timer > 0)
            {
                sprVisisble = true;
            }
            else
            {
                sprVisisble = false;
            }
        }
        else
        {
            timer = timerStartVal;
        }
        if (GetComponent <growPlants> ().growthNumber == 1)
        {
            if (!clipsSwitched)
            {
                audio.clip    = clips [Random.Range(0, 7)];
                clipsSwitched = true;
            }
            if (!playedAudio)
            {
                //timeScale = Random.Range (0, 4);

                if (timeScale == 1)
                {
                    audio.PlayScheduled(SimpleClock.AtNextMeasure());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextSixteenthTriplet () + SimpleClock.AtNextHalf ());
                    playedAudio = true;
                }
                else if (timeScale == 2)
                {
                    audio.PlayScheduled(SimpleClock.AtNextMeasure());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextEighth() + SimpleClock.AtNextHalf ());
                    playedAudio = true;
                }
                else if (timeScale == 3)
                {
                    audio.PlayScheduled(SimpleClock.AtNextMeasure());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextHalf () + SimpleClock.AtNextSixteenth());
                    playedAudio = true;
                }
                else if (timeScale == 0)
                {
                    audio.PlayScheduled(SimpleClock.AtNextMeasure());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextQuarter() + SimpleClock.AtNextBeat());
                    playedAudio = true;
                }
            }
            else
            {
                if (!audio.isPlaying && audio.outputAudioMixerGroup == regularMix)
                {
                    audio.outputAudioMixerGroup = silentMix;
                    //lastClip = audio.clip;

                    //audio.clip = null;

                    if (timeScale == 1)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextMeasure());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextSixteenthTriplet () + SimpleClock.AtNextHalf ());
                        //playedAudio = true;
                    }
                    else if (timeScale == 2)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextEighthTriplet());
                        audio.SetScheduledEndTime(SimpleClock.AtNextEighthTriplet() + SimpleClock.AtNextHalf());
                        //playedAudio = true;
                    }
                    else if (timeScale == 3)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextSixteenth());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextHalf () + SimpleClock.AtNextSixteenth());
                        //playedAudio = true;
                    }
                    else if (timeScale == 0)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextQuarterTriplet());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextQuarter() + SimpleClock.AtNextBeat());
                        //playedAudio = true;
                    }

                    //playedAudio = false;
                }
                else if (!audio.isPlaying && audio.outputAudioMixerGroup == silentMix)
                {
                    audio.outputAudioMixerGroup = regularMix;
                    playedAudio = false;
                }
                else
                {
                }
            }
        }
        else if (GetComponent <growPlants> ().growthNumber == 2)
        {
            if (!clipsSwitched)
            {
                audio.clip    = switchedClips [Random.Range(0, 3)];
                clipsSwitched = true;
            }
            if (!playedAudio)
            {
                //timeScale = Random.Range (0, 4);

                if (timeScale == 1)
                {
                    audio.PlayScheduled(SimpleClock.AtNextEighth());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextSixteenthTriplet () + SimpleClock.AtNextHalf ());
                    playedAudio = true;
                }
                else if (timeScale == 2)
                {
                    audio.PlayScheduled(SimpleClock.AtNextEighthTriplet());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextEighth() + SimpleClock.AtNextHalf ());
                    playedAudio = true;
                }
                else if (timeScale == 3)
                {
                    audio.PlayScheduled(SimpleClock.AtNextSixteenth());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextHalf () + SimpleClock.AtNextSixteenth());
                    playedAudio = true;
                }
                else if (timeScale == 0)
                {
                    audio.PlayScheduled(SimpleClock.AtNextQuarterTriplet());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextQuarter() + SimpleClock.AtNextBeat());
                    playedAudio = true;
                }
            }
            else
            {
                if (!audio.isPlaying && audio.outputAudioMixerGroup == regularMix)
                {
                    audio.outputAudioMixerGroup = silentMix;
                    //lastClip = audio.clip;

                    //audio.clip = null;

                    if (timeScale == 1)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextEighth());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextSixteenthTriplet () + SimpleClock.AtNextHalf ());
                        //playedAudio = true;
                    }
                    else if (timeScale == 2)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextEighthTriplet());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextEighth() + SimpleClock.AtNextHalf ());
                        //playedAudio = true;
                    }
                    else if (timeScale == 3)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextSixteenth());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextHalf () + SimpleClock.AtNextSixteenth());
                        //playedAudio = true;
                    }
                    else if (timeScale == 0)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextQuarterTriplet());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextQuarter() + SimpleClock.AtNextBeat());
                        //playedAudio = true;
                    }

                    //playedAudio = false;
                }
                else if (!audio.isPlaying && audio.outputAudioMixerGroup == silentMix)
                {
                    audio.outputAudioMixerGroup = regularMix;
                    playedAudio = false;
                }
                else
                {
                }
            }
        }
        else if (GetComponent <growPlants> ().growthNumber == 3)
        {
            if (!clipsSwitched)
            {
                audio.clip    = secondClips [Random.Range(0, 4)];
                clipsSwitched = true;
            }
            if (!playedAudio)
            {
                //timeScale = Random.Range (0, 4);

                if (timeScale == 1)
                {
                    audio.PlayScheduled(SimpleClock.AtNextEighth());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextSixteenthTriplet () + SimpleClock.AtNextHalf ());
                    playedAudio = true;
                }
                else if (timeScale == 2)
                {
                    audio.PlayScheduled(SimpleClock.AtNextEighthTriplet());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextEighth() + SimpleClock.AtNextHalf ());
                    playedAudio = true;
                }
                else if (timeScale == 3)
                {
                    audio.PlayScheduled(SimpleClock.AtNextSixteenth());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextHalf () + SimpleClock.AtNextSixteenth());
                    playedAudio = true;
                }
                else if (timeScale == 0)
                {
                    audio.PlayScheduled(SimpleClock.AtNextQuarterTriplet());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextQuarter() + SimpleClock.AtNextBeat());
                    playedAudio = true;
                }
            }
            else
            {
                if (!audio.isPlaying && audio.outputAudioMixerGroup == regularMix)
                {
                    audio.outputAudioMixerGroup = silentMix;
                    //lastClip = audio.clip;

                    //audio.clip = null;

                    if (timeScale == 1)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextEighth());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextSixteenthTriplet () + SimpleClock.AtNextHalf ());
                        //playedAudio = true;
                    }
                    else if (timeScale == 2)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextEighthTriplet());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextEighth() + SimpleClock.AtNextHalf ());
                        //playedAudio = true;
                    }
                    else if (timeScale == 3)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextSixteenth());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextHalf () + SimpleClock.AtNextSixteenth());
                        //playedAudio = true;
                    }
                    else if (timeScale == 0)
                    {
                        audio.PlayScheduled(SimpleClock.AtNextQuarterTriplet());
                        //audio.SetScheduledEndTime (SimpleClock.AtNextQuarter() + SimpleClock.AtNextBeat());
                        //playedAudio = true;
                    }

                    //playedAudio = false;
                }
                else if (!audio.isPlaying && audio.outputAudioMixerGroup == silentMix)
                {
                    audio.outputAudioMixerGroup = regularMix;
                    playedAudio = false;
                }
                else
                {
                }
            }
        }
        else
        {
            audio.Stop();
        }
        //audio.PlayScheduled (SimpleClock.AtNextEighth());

        /*	if (GetComponent<growPlants> ().growthNumber == 1) {
         *      if (!playedAudio) {
         *              audio.clip = clips [Random.Range (0, 1)];
         *              playedAudio = true;
         *      }
         *      //print ("playing");
         *      }
         *      if (GetComponent<growPlants> ().growthNumber == 2) {
         *      if (!playedAudio) {
         *              audio.clip = clips [Random.Range (1, 2)];
         *              playedAudio = true;
         *      }
         *      }
         *      if (GetComponent<growPlants> ().growthNumber == 3) {
         *      if (!playedAudio) {
         *              audio.clip = clips [Random.Range (2, 3)];
         *              playedAudio = true;
         *      }
         *      } else {
         *      if (!playedAudio) {
         *              audio.clip = null;
         *              playedAudio = true;
         *      }
         *      }
         *
         * //}
         *
         * if (!audio.isPlaying) {
         *      audio.Play ();
         * }
         */
    }
Beispiel #14
0
    void AudioCycler()
    {
        if (!playedAudio)
        {
            timeScale = Random.Range(0, 4);

            if (timeScale == 1)
            {
                audio.PlayScheduled(SimpleClock.AtNextEighth());
                //audio.SetScheduledEndTime (SimpleClock.AtNextSixteenthTriplet () + SimpleClock.AtNextHalf ());
                playedAudio = true;
            }
            else if (timeScale == 2)
            {
                audio.PlayScheduled(SimpleClock.AtNextEighthTriplet());
                //audio.SetScheduledEndTime (SimpleClock.AtNextEighth() + SimpleClock.AtNextHalf ());
                playedAudio = true;
            }
            else if (timeScale == 3)
            {
                audio.PlayScheduled(SimpleClock.AtNextSixteenth());
                //audio.SetScheduledEndTime (SimpleClock.AtNextHalf () + SimpleClock.AtNextSixteenth());
                playedAudio = true;
            }
            else if (timeScale == 0)
            {
                audio.PlayScheduled(SimpleClock.AtNextQuarterTriplet());
                //audio.SetScheduledEndTime (SimpleClock.AtNextQuarter() + SimpleClock.AtNextBeat());
                playedAudio = true;
            }
        }
        else
        {
            if (!audio.isPlaying && audio.outputAudioMixerGroup == regularMix)
            {
                audio.outputAudioMixerGroup = silentMix;
                //lastClip = audio.clip;

                //audio.clip = null;

                if (timeScale == 1)
                {
                    audio.PlayScheduled(SimpleClock.AtNextEighth());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextSixteenthTriplet () + SimpleClock.AtNextHalf ());
                    //playedAudio = true;
                }
                else if (timeScale == 2)
                {
                    audio.PlayScheduled(SimpleClock.AtNextEighthTriplet());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextEighth() + SimpleClock.AtNextHalf ());
                    //playedAudio = true;
                }
                else if (timeScale == 3)
                {
                    audio.PlayScheduled(SimpleClock.AtNextSixteenth());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextHalf () + SimpleClock.AtNextSixteenth());
                    //playedAudio = true;
                }
                else if (timeScale == 0)
                {
                    audio.PlayScheduled(SimpleClock.AtNextQuarterTriplet());
                    //audio.SetScheduledEndTime (SimpleClock.AtNextQuarter() + SimpleClock.AtNextBeat());
                    //playedAudio = true;
                }

                //playedAudio = false;
            }
            else if (!audio.isPlaying && audio.outputAudioMixerGroup == silentMix)
            {
                audio.outputAudioMixerGroup = regularMix;
                playedAudio = false;
            }
        }
    }