예제 #1
0
        protected void checkShake(float dt)
        {
            if (livingEntity.Health.Hit)
            {
                shakeTimer.Update(dt);

                if (shakeTimer.IsTimeUp())
                {
                    shakeTimer.SetAccumulatedDelay(shakeDelay);
                    doShake();
                }
            }
            else
            {
                shakePositionOffset = Vector2.Zero;
            }
        }
예제 #2
0
        public void Update(float dt)
        {
            if (Running)
            {
                emissionTimer.Update(dt);
                if (emissionTimer.IsTimeUp())
                {
                    emissionTimer.SetAccumulatedDelay(emissionDelay);
                    EmitParticleWithDisplayEntity(this.DisplayEntity);
                }
            }

            foreach (Particle particle in particles)
            {
                if (particle.Active)
                {
                    particle.Update(dt);
                }
            }
        }