@@ -10,22 +10,12 @@ craft certain items in OldSchool RuneScape.
1010{$INCLUDE_ONCE WaspLib/osrs.simba}
1111
1212type
13-
14- (*
15- ## ERSMakeQuantity
16- ```pascal
17- ERSMakeQuantity = enum(ONE, FIVE, TEN, CUSTOM, X, ALL);
18- ```
19- Enum representing the make quantity buttons.
20- *)
21- ERSMakeQuantity = enum(ONE, FIVE, TEN, CUSTOM, X, ALL);
22-
2313(*
24- ## TRSMakeQuantityButton
14+ ## TRSMakeQuantityButton type
2515Helper record used to cache make menu buttons.
2616*)
2717 TRSMakeQuantityButton = record
28- ButtonType: ERSMakeQuantity ;
18+ Quantity: ERSItemQuantity ;
2919 Button: TRSButton;
3020 QuantityUpText: String;
3121 end;
@@ -192,24 +182,20 @@ end;
192182(*
193183## Make.CreateDynamicQuantityButtons
194184```pascal
195- function TRSMake.CreateDynamicQuantityButtons(): array [ERSMakeQuantity] of TRSButton ;
185+ function TRSMake.CreateDynamicQuantityButtons(): array of TRSMakeQuantityButton ;
196186```
197187Returns the visible quantity buttons as a array of TRSMakeQuantityButton.
198188
199189Example:
200190```pascal
201- Writeln (Make.CreateDynamicQuantityButtons());
202- ```
203-
191+ WriteLn Make.CreateDynamicQuantityButtons();
204192```
205193*)
206-
207- function TRSMake.CreateDynamicQuantityButtons(): array of TRSMakeQuantityButton;
194+ function TRSMake.GetQuantityButtons(): array of TRSMakeQuantityButton;
208195var
209196 boxes: TBoxArray;
210197 i: Integer;
211198 quantityStr: String;
212- btn: TRSMakeQuantityButton;
213199begin
214200 boxes := Self.GetQuantityBoxes();
215201 SetLength(Result, Length(boxes));
@@ -218,44 +204,17 @@ begin
218204 begin
219205 quantityStr := OCR.Recognize(boxes[i], RSFonts.PLAIN_11, [Self.TEXT_COLOR, RSFonts.WHITE], 0);
220206
221- btn.ButtonType := ERSMakeQuantity.String2Quantity( quantityStr);
222- btn .Button.Bounds := boxes[i];
223- btn .Button.EnabledColors := [[RSFonts.WHITE, 0]];
207+ Result[i].Quantity := ERSItemQuantity.Integer2Quantity(StrToInt( quantityStr) );
208+ Result[i] .Button.Bounds := boxes[i];
209+ Result[i] .Button.EnabledColors := [[RSFonts.WHITE, 0]];
224210
225211 if quantityStr.Equals('X', True) then
226- btn .QuantityUpText := 'Other'
212+ Result[i] .QuantityUpText := 'Other'
227213 else
228- btn.QuantityUpText := quantityStr;
229-
230- Result[i] := btn;
214+ Result[i].QuantityUpText := quantityStr;
231215 end;
232216end;
233217
234- (*
235- ### ERSMakeQuantity.String2Quantity
236- ```pascal
237- function ERSMakeQuantity.String2Quantity(quantity: String): ERSMakeQuantity; static;
238- ```
239- Internal helper function to convert a string quantity into a ERSMakeQuantity.
240-
241- Example:
242- ```pascal
243- WriteLn ERSMakeQuantity.String2Quantity('5');
244- WriteLn ERSMakeQuantity.String2Quantity('All');
245- ```
246- *)
247-
248- function ERSMakeQuantity.String2Quantity(quantity: String): ERSMakeQuantity; static;
249- begin
250- case quantity of
251- '1' : Result := ERSMakeQuantity.ONE;
252- '5' : Result := ERSMakeQuantity.FIVE;
253- '10' : Result := ERSMakeQuantity.TEN;
254- 'All': Result := ERSMakeQuantity.ALL;
255- 'X' : Result := ERSMakeQuantity.X;
256- else Result := ERSMakeQuantity.CUSTOM;
257- end;
258- end;
259218
260219(*
261220## Make.FindDynamicQuantityButtons
0 commit comments