예제 #1
0
        public async Task Should_fill_up_the_buckets_with_smart_values_over_time_and_remove_old_entries()
        {
            var settings = new TestCacheSettings(100, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(300));

            var cache = new GreenCache <SmartValue>(settings);

            var index = cache.AddIndex("id", x => x.Id);

            var observer = new SmartAddedCountObserver(200);

            cache.Connect(observer);

            var removed = new NodeRemovedCountObserver <SmartValue>(100);

            cache.Connect(removed);


            for (int i = 0; i < 200; i++)
            {
                SmartValue simpleValue = await index.Get($"key{i}", SmartValueFactory.Healthy);

                settings.CurrentTime += TimeSpan.FromSeconds(1);
            }

            await observer.Completed;
            await removed.Completed;

            Assert.That(cache.Statistics.Count, Is.EqualTo(100));
        }
예제 #2
0
    private void Awake()
    {
        _min = new SmartValue(1000);
        _max = new SmartValue(1000);

        //DontDestroyOnLoad(gameObject);
        foreach (var scene in Scenes)
        {
            SceneManager.LoadSceneAsync(scene.name, LoadSceneMode.Additive);
        }
    }
예제 #3
0
    public void Listen(SmartValue value)
    {
        var strength = 0f;

        _timer += Time.deltaTime;

        var frac = Mathf.Clamp01(Mathfx.Frac((_timer / 60) * BPM));

        strength = PulseShape.Evaluate(frac);

        value.AddValue(strength);
    }
예제 #4
0
 void Awake()
 {
     _rms  = new SmartValue(1000);
     _peak = new SmartValue(1000);
     LineRenderer.drivenExternally = true;
 }
예제 #5
0
 public void Listen(SmartValue value)
 {
     value.AddValue(MusicManager.MusicState.Peak);
 }
예제 #6
0
 public void Listen(SmartValue value)
 {
     value.AddValue(Value);
 }
예제 #7
0
 public void Listen(SmartValue value)
 {
     value.AddValue(Levels.GetSumUnderWavelength(MusicManager.MusicState.Wavelength));
 }