Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.64 KB | None | 0 0
  1. class bb_numinterpolator : object
  2.     {
  3.     int mCurrentValue;
  4.     int mMaxChange;
  5.  
  6.     private bool negative;
  7.     private String numString;
  8.     private String buildingString;
  9.     private int curPlace;
  10.    
  11.     static bb_numinterpolator Create(int startval, int maxchange)
  12.         {
  13.         let v = new("bb_numinterpolator");
  14.         v.mCurrentValue = startval;
  15.         v.mMaxChange = maxchange;
  16.         return v;
  17.         }
  18.    
  19.     void Reset(int value)
  20.         {
  21.         mCurrentValue = value;
  22.         }
  23.    
  24.     void Update(int destvalue)
  25.         {
  26.         numString = String.format("%d", abs(destvalue));
  27.         if (mCurrentValue > destvalue)
  28.             {
  29.             //
  30.             // don't interpolate decrementing values.
  31.             mCurrentValue = destvalue;
  32.             }
  33.         else
  34.             {
  35.             String operatingChar = numString.charAt(curPlace);
  36.             int operatingInt = operatingChar.toInt();
  37.            
  38.             if (operatingInt <= buildingString.charAt(curPlace).toInt()) curPlace++;
  39.            
  40.             int buildingInt = buildingString.toInt();
  41.             int intLength = numString.length();
  42.             if (numString.toInt() < 0) intLength--;
  43.             buildingInt += 10 ** (intLength - curPlace - 1);
  44.            
  45.             mCurrentValue += buildingInt;
  46.             }
  47.         }
  48.    
  49.     int GetValue()
  50.         {
  51.         return mCurrentValue;
  52.         }      
  53.     }
  54.  
  55.         // defined in the namespace of bb_hud
  56.         bb_numinterpolator bb_echointerpolator;
  57.  
  58.         // called in Init();
  59.         bb_echointerpolator = bb_numinterpolator.Create(0,1);
  60.  
  61.         // called in NewGame();
  62.         bb_echointerpolator.Reset(0);
  63.  
  64.         //called in Tick();
  65.         bb_echointerpolator.Update(CPlayer.mo.CountInv("bb_BloodEchoes"));
  66.  
  67.         //called in Draw();
  68.         DrawString(bb_numfont, FormatNumber(bb_echointerpolator.GetValue(),9), (-38,26), DI_TEXT_ALIGN_RIGHT|DI_SCREEN_RIGHT_TOP,font.CR_WHITE);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement