public override void Update(Microsoft.Xna.Framework.GameTime gameTime) { base.Update(gameTime); if (m_Delay > 0) { m_Delay -= gameTime.ElapsedGameTime.Milliseconds; } for (int i = 0; i < m_Items.Count; i++) { m_Items[i].Update(gameTime); if (i == m_Index) { m_Items[i].ColorTarget = COLOR_SELECTED; if (!TPMath.IsWithinRange(m_Items[i].Scale, SCALE_SELECTED, 0.05f)) { m_Items[i].Scale += TPMath.GetDirectionVector(m_Items[i].Scale, SCALE_SELECTED) / 10; } } else { m_Items[i].ColorTarget = COLOR_UNSELECTED; if (!TPMath.IsWithinRange(m_Items[i].Scale, SCALE_UNSELECTED, 0.05f)) { m_Items[i].Scale += TPMath.GetDirectionVector(m_Items[i].Scale, SCALE_UNSELECTED) / 10; } } m_Items[i].Position.Y = this.Position.Y + OffsetY * i; m_Items[i].Position.X = this.Position.X; TPMath.ShiftTowardsColor(ref m_Items[i].RenderColor, ref m_Items[i].ColorTarget, 5); } }
public void Clamp() { int val = 10; val = TPMath.Clamp(val, 12, 20); Assert.AreEqual(12, val); }
public void StepTowards() { float val = 0; float target = 1; val = TPMath.StepTowards(val, target, 1); Assert.AreEqual(1, val); }
public void DigitCount() { Assert.AreEqual(1, TPMath.DigitCount(1)); Assert.AreEqual(2, TPMath.DigitCount(12)); Assert.AreEqual(10, TPMath.DigitCount(1234567890)); Assert.AreEqual(2, TPMath.DigitCount(12.125f)); Assert.AreEqual(1, TPMath.DigitCount(5.9999f)); }
public void Fade(float time, FadeInfo fadeInfo, FadeLayout state) { state.CanvasGrouup.alpha = TPMath.PingPong(time * 2, 1f); if (time >= 0.5f && !string.IsNullOrEmpty(fadeInfo.FadeToScene)) { SceneManager.LoadScene(fadeInfo.FadeToScene); } }
public void GetSequence() { int length = 10; float[] floats = TPMath.GetSequence(length); for (int i = 0; i < length; i++) { Assert.AreEqual(i, floats[i]); } }
public void GetReversedSequence() { int length = 10; float[] floats = TPMath.GetReversedSequence(length); float value = 0; for (int i = 0; i < length; i++) { Assert.AreEqual(value - i, floats[i]); } }
public void PingPong() { CompareFloats(0, TPMath.PingPong(0, 1)); CompareFloats(0.1f, TPMath.PingPong(0.1f, 1)); CompareFloats(0.5f, TPMath.PingPong(0.5f, 1)); CompareFloats(0.9f, TPMath.PingPong(0.9f, 1)); CompareFloats(1, TPMath.PingPong(1, 1)); CompareFloats(0.9f, TPMath.PingPong(1.1f, 1)); CompareFloats(0.8f, TPMath.PingPong(1.2f, 1)); CompareFloats(0.7f, TPMath.PingPong(1.3f, 1)); CompareFloats(0.6f, TPMath.PingPong(1.4f, 1)); CompareFloats(0.2f, TPMath.PingPong(1.8f, 1)); }
public void ReverseValue() { Assert.AreEqual(1, TPMath.Flip(0)); Assert.AreEqual(10, TPMath.Flip(0, 10)); Assert.AreEqual(0.5f, TPMath.Flip(0.5f)); Assert.AreEqual(5, TPMath.Flip(5, 10)); Assert.AreEqual(0.8f, TPMath.Flip(0.2f)); Assert.AreEqual(8, TPMath.Flip(2, 10)); Assert.AreEqual(4.8f, TPMath.Flip(0.2f, 5)); Assert.AreEqual(3, TPMath.Flip(2, 5)); }
public void Repeat() { CompareFloats(0, TPMath.Repeat(0, 0.6f)); CompareFloats(0.5f, TPMath.Repeat(0.5f, 0.6f)); CompareFloats(0, TPMath.Repeat(0.6f, 0.6f)); CompareFloats(0.1f, TPMath.Repeat(0.7f, 0.6f)); CompareFloats(0.2f, TPMath.Repeat(0.8f, 0.6f)); CompareFloats(0.3f, TPMath.Repeat(0.9f, 0.6f)); CompareFloats(0.4f, TPMath.Repeat(1, 0.6f)); CompareFloats(0.5f, TPMath.Repeat(1.1f, 0.6f)); CompareFloats(0, TPMath.Repeat(1.2f, 0.6f)); CompareFloats(0.1f, TPMath.Repeat(1.3f, 0.6f)); CompareFloats(0.2f, TPMath.Repeat(1.4f, 0.6f)); CompareFloats(0.3f, TPMath.Repeat(1.5f, 0.6f)); CompareFloats(0.4f, TPMath.Repeat(1.6f, 0.6f)); }
private void CompareFloats(float a, float b) { try { Assert.AreEqual(a, b); } catch (Exception) { try { Assert.IsTrue(TPMath.Approximately(a, b)); } catch (Exception) { throw new AssertFailedException($"Expected: {a} Actual: {b} are not equal/similiar"); } } }
public void Normalize() { Assert.AreEqual(0, TPMath.Normalize(0, 100)); Assert.AreEqual(0.5f, TPMath.Normalize(50, 100)); Assert.AreEqual(1, TPMath.Normalize(100, 100)); Assert.AreEqual(0, TPMath.Normalize(100, 100, 200)); Assert.AreEqual(0.5f, TPMath.Normalize(150, 100, 200)); Assert.AreEqual(1, TPMath.Normalize(200, 100, 200)); Assert.AreEqual(0.5f, TPMath.Normalize(100, 100, 200, 0.5f, 1)); Assert.AreEqual(0.75f, TPMath.Normalize(150, 100, 200, 0.5f, 1)); Assert.AreEqual(1, TPMath.Normalize(200, 100, 200, 0.5f, 1)); Assert.AreEqual(0.75f, TPMath.Normalize(100, 200, 0.5f, 1)); Assert.AreEqual(0.875f, TPMath.Normalize(150, 200, 0.5f, 1)); Assert.AreEqual(1, TPMath.Normalize(200, 200, 0.5f, 1)); }
public override void Update(Microsoft.Xna.Framework.GameTime gameTime) { base.Update(gameTime); if (m_Delay > 0) { m_Delay -= gameTime.ElapsedGameTime.Milliseconds; } foreach (TPRollingTextMenuItem item in m_MenuItemSet) { item.Update(gameTime); if (!TPMath.IsWithinRange(item.Position, item.PositionTarget, 5.0f)) { item.Velocity = TPMath.GetDirectionVector(item.Position, item.PositionTarget) * 5; } else { item.Velocity = Vector2.Zero; } if (item.Alpha < item.AlphaTarget) { item.Alpha += 0.01f; } if (item.Alpha > item.AlphaTarget) { item.Alpha -= 0.01f; } item.RenderColor = new Color((item.ColorTarget.R / 255) * item.Alpha, (item.ColorTarget.G / 255) * item.Alpha, (item.ColorTarget.B / 255) * item.Alpha, item.Alpha); if (!TPMath.IsWithinRange(item.Scale, item.ScaleTarget, 0.1f)) { item.Scale += TPMath.GetDirectionVector(item.Scale, item.ScaleTarget) / 20; } } }