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}"); }
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; } }