public void Update(int poX, int poY, ref int nowNumber, ref bool pressed, Vector2?basePosition) { if (!Enable) { return; } leftTexture.MouseOver = leftTexture.IsInTexture(poX, poY, basePosition); rightTexture.MouseOver = rightTexture.IsInTexture(poX, poY, basePosition); if (InputManager.IsPressed) { if (leftTexture.MouseOver) { clickTimes++; if (NowNumber > MinNumber && clickTimes >= 1) { NowNumber -= Unit; clickTimes = 0; } } else if (rightTexture.MouseOver) { clickTimes++; if (NowNumber < AllowNumber && NowNumber < MaxNumber && clickTimes >= 1) { NowNumber += Unit; clickTimes = 0; } } if (IsInTexture(poX, poY, leftTexture.Position + new Vector2(leftTexture.Width + (IsModeS ? 2 : 10), 0f) + (basePosition == null ? Vector2.Zero : (Vector2)basePosition), groundTextureWidth, groundTextureHeight)) { int width = poX - Convert.ToInt32(leftTexture.Position.X) - leftTexture.Width - 1 - (basePosition == null ? 0 : (int)((Vector2)basePosition).X); int value = ((width * MaxNumber / groundTextureWidth) / Unit) * Unit; if (value < AllowNumber && value < MaxNumber) { NowNumber = value; } else { NowNumber = AllowNumber <= MaxNumber ? AllowNumber : MaxNumber; } } else { pressed = false; } } if (NowNumber < MinNumber) { NowNumber = MinNumber; } nowNumber = NowNumber == null ? 0 : (int)NowNumber; }
public void Update(int poX, int poY, ref float nowNumber, ref bool pressed, Vector2?basePosition) { if (!Enable) { return; } leftTexture.MouseOver = leftTexture.IsInTexture(poX, poY, basePosition); rightTexture.MouseOver = rightTexture.IsInTexture(poX, poY, new Vector2(basePosition.Value.X + Widthchange, basePosition.Value.Y + Heightchange)); if (InputManager.IsPressed) { if (leftTexture.MouseOver) { clickTimes++; if (NowNumber > MinNumber && clickTimes >= 1) { NowNumber -= Unit; clickTimes = 0; } } else if (rightTexture.MouseOver) { clickTimes++; if (NowNumber < AllowNumber && NowNumber < MaxNumber && clickTimes >= 1) { NowNumber += Unit; clickTimes = 0; } } if (IsInTexture(poX, poY, leftTexture.Position + new Vector2(leftTexture.Width + (IsModeS ? 2 : 10), 0f) + (basePosition == null ? Vector2.Zero : (Vector2)basePosition), groundTextureWidth + Widthchange, groundTextureHeight + Heightchange)) { int width = Convert.ToInt32(poX - Convert.ToInt32(leftTexture.Position.X) - leftTexture.Width - 1 - (basePosition == null ? 0 : (int)((Vector2)basePosition).X)); float value = ((width * MaxNumber / (groundTextureWidth + Widthchange)) / Unit) * Unit; if (value < AllowNumber && value < MaxNumber) { NowNumber = value; } else { NowNumber = AllowNumber <= MaxNumber ? AllowNumber : MaxNumber; } } else { pressed = false; } } if (NowNumber < MinNumber) { NowNumber = MinNumber; } if (IntMode) { nowNumber = NowNumber == null ? 0 : (int)NowNumber; } else { if (FloatNum == 0) { nowNumber = NowNumber == null ? 0 : (float)NowNumber; } else { nowNumber = NowNumber == null ? 0 : Convert.ToSingle(Decimal.Round((Decimal)NowNumber, FloatNum)); } } NowNumber = nowNumber; }