Example #1
0
        public override void update(GameTime time)
        {
            AnimatedArrowSprite.update(time);
            totalTimer += time.ElapsedGameTime.Milliseconds;
            float yPos = AnimatedArrowSprite.initialPosition.Y + AnimatedArrowSprite.yPeriodicRange * (float)Math.Sin(2.0 * Math.PI / (double)AnimatedArrowSprite.yPeriodicLoopTime * (double)(totalTimer + AnimatedArrowSprite.yPeriodicLoopTime / 2f));

            ModEntry.ModMonitor.Log($"Y pos: {yPos}");
        }
Example #2
0
 public override void draw(SpriteBatch b)
 {
     AnimatedArrowSprite.draw(b);
     if (AnimateWave)
     {
         AnimatedWaveSprite.draw(b);
     }
 }
Example #3
0
        public override void update(GameTime time)
        {
            AnimatedArrowSprite.update(time);


            double sinValue = Math.Sin(2.0 * Math.PI / AnimatedArrowSprite.yPeriodicLoopTime * (totalTimerField.GetValue() + AnimatedArrowSprite.yPeriodicLoopTime / 2f));
            double sVal     = Math.Sin(AnimatedArrowSprite.yPeriodicLoopTime / 2f);
            float  yPos     = AnimatedArrowSprite.initialPosition.Y + AnimatedArrowSprite.yPeriodicRange * (float)Math.Sin(2.0 * Math.PI / AnimatedArrowSprite.yPeriodicLoopTime * (totalTimerField.GetValue() + AnimatedArrowSprite.yPeriodicLoopTime / 2f));

            // TODO: When sin is in quadrant 3 play once wave animation. Note: Check in wich quadrand is.
            if (sinValue > -1 && yPos > lastYPos)
            {
                //ModEntry.ModMonitor.Log($"Y pos: {yPos}");

                ModEntry.ModMonitor.Log($"Sin: {sinValue}");
            }
            else if (sinValue < 1)
            {
                lastYPos = yPos;
            }
        }