Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
        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;
        }