Exemplo n.º 1
0
        public void Update(ChronoEventArgs chronoArgs)
        {
            if (IsExpired)
            {
                return;
            }

            MaskPosition.Y += (float)(_movementRate * chronoArgs.Delta);
            _glyphs.ForEach(g => g.Update(chronoArgs, MaskArea()));

            CheckIfExpired();
        }
Exemplo n.º 2
0
        public bool IsTriggered(ChronoEventArgs chrono)
        {
            _secondsCounter += chrono.Delta;

            if (_secondsCounter > _twitchFrequency)
            {
                if (GetRandom.Bool(_chanceOfTrigger))
                {
                    _secondsCounter -= _twitchFrequency;
                    UpdateTriggerFrequency();
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 3
0
        private void AddNewStreams(ChronoEventArgs chronoArgs)
        {
            _runningDelta += chronoArgs.Delta;

            if (_runningDelta >= NEW_STREAM_CHECK_FREQUENCY)
            {
                var outcome = GetRandom.Double(0, _runningDelta);
                var chance  = _chanceOfNewStream;
                while (streams.Count <= _maximumStreams && outcome < chance)
                {
                    chance -= NEW_STREAM_CHECK_FREQUENCY;
                    AddNewGlyphStream();
                }

                _runningDelta -= NEW_STREAM_CHECK_FREQUENCY;
            }
        }
Exemplo n.º 4
0
        public void Update(ChronoEventArgs chronoArgs, IntRect visibleRegion)
        {
            var modifier = GetVisibility(visibleRegion);

            _isDraw = modifier > 0;
            if (!_isDraw)
            {
                return;
            }

            if (GetRandom.Float(1f) < _config.ChanceOfHeavyFlicker)
            {
                _isFlickering = !_isFlickering;
            }

            _spriteOutline.Color = new Color(0, 0, 0, (byte)(CalculateOpacity() * 0.6f));
            _sprite.Color        = new Color(0, 255, 0, CalculateOpacity());

            if (_twitch.IsTriggered(chronoArgs))
            {
                Index = GetRandom.Int(MAX_INDEX);
            }
        }
Exemplo n.º 5
0
 public void Update(ChronoEventArgs chronoArgs)
 {
     _chrono.Update(chronoArgs);
     _glyphsStreams.ForEach(x => x.Update(chronoArgs));
 }
Exemplo n.º 6
0
 public void Update(ChronoEventArgs chronoArgs)
 {
 }
Exemplo n.º 7
0
 public void Update(ChronoEventArgs args)
 {
     chronoEvent = args;
 }
Exemplo n.º 8
0
 private void UpdateStreams(ChronoEventArgs chronoArgs)
 {
     streams.ForEach(x => x.Update(chronoArgs));
 }