|
15 | 15 |
|
16 | 16 | TRSMake = record |
17 | 17 | Items: array of TRSMakeItem; |
| 18 | + QuantityButtons: TBoxArray; |
| 19 | + {%codetools on} |
| 20 | + _IsOpenHelper, _QuantityHelper, _ItemsHelper: TBox; |
| 21 | + {%codetools on} |
18 | 22 | const QUANTITY_ALL: Integer = 0; |
| 23 | + const TEXT_COLOR: TColor = $203040; |
19 | 24 | end; |
20 | 25 |
|
| 26 | +(* |
| 27 | +## Make.SetupInterface |
| 28 | +```pascal |
| 29 | +procedure TRSMake.SetupInterface(); |
| 30 | +``` |
| 31 | +Internal method used to setup the {ref}`TRSMake` coordinates. |
| 32 | + |
| 33 | +This is automatically called for you on the {ref}`Make variable`. |
| 34 | +*) |
| 35 | +procedure TRSMake.SetupInterface(); |
| 36 | +begin |
| 37 | + with Chat.Bounds do |
| 38 | + begin |
| 39 | + Self._IsOpenHelper.X1 := X1 + 40; |
| 40 | + Self._IsOpenHelper.Y1 := Y1 + 12; |
| 41 | + Self._IsOpenHelper.X2 := X1 + 300; |
| 42 | + Self._IsOpenHelper.Y2 := Y1 + 34; |
| 43 | + end; |
| 44 | + |
| 45 | + with Chat.Bounds do |
| 46 | + begin |
| 47 | + Self._QuantityHelper.X1 := X2 - 193; |
| 48 | + Self._QuantityHelper.Y1 := Y1 + 15; |
| 49 | + Self._QuantityHelper.X2 := X2 - 19; |
| 50 | + Self._QuantityHelper.Y2 := Y1 + 44; |
| 51 | + end; |
| 52 | + |
| 53 | + with Chat.Bounds do |
| 54 | + begin |
| 55 | + Self._ItemsHelper.X1 := X1 + 8; |
| 56 | + Self._ItemsHelper.Y1 := Y1 + 51; |
| 57 | + Self._ItemsHelper.X2 := X2 - 8; |
| 58 | + Self._ItemsHelper.Y2 := Y2 - 19; |
| 59 | + end; |
| 60 | +end; |
| 61 | + |
| 62 | +(* |
| 63 | +## Make.IsOpen |
| 64 | +```pascal |
| 65 | +function TRSMake.IsOpen(): Boolean; |
| 66 | +``` |
| 67 | +Returns True/False if the {ref}`Make` if open. |
21 | 68 |
|
| 69 | +Example: |
| 70 | +```pascal |
| 71 | +WriteLn Make.IsOpen(); |
| 72 | +``` |
| 73 | +*) |
| 74 | +function TRSMake.IsOpen(): Boolean; |
| 75 | +begin |
| 76 | + Result := Target.HasColor(Self.TEXT_COLOR, 0, 500, Self._IsOpenHelper); |
| 77 | +end; |
| 78 | + |
| 79 | +(* |
| 80 | +## Make.WaitOpen |
| 81 | +```pascal |
| 82 | +function TRSMake.WaitOpen(time: Integer = 600; interval: Integer = -1): Boolean; |
| 83 | +``` |
| 84 | +Returns True if the {ref}`Make` opens within `time` milliseconds. |
| 85 | + |
| 86 | +Example: |
| 87 | +```pascal |
| 88 | +WriteLn Make.WaitOpen(); |
| 89 | +``` |
| 90 | +*) |
| 91 | +function TRSMake.WaitOpen(time: Integer = 600; interval: Integer = -1): Boolean; |
| 92 | +begin |
| 93 | + if interval < 0 then interval := RandomMode(100, 50, 1500); |
| 94 | + Result := SleepUntil(Self.IsOpen(), interval, time); |
| 95 | +end; |
| 96 | + |
| 97 | + |
| 98 | +var |
| 99 | +(* |
| 100 | +(Make variable)= |
| 101 | +## var Make |
| 102 | +Global {ref}`TRSMake` variable. |
| 103 | +*) |
| 104 | + Make: TRSMake; |
0 commit comments