@bettergi/types 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/index.d.ts +43 -12
  2. package/{modules → objects}/dispatcher.d.ts +6 -6
  3. package/{modules → objects}/globalMethod.d.ts +8 -2
  4. package/package.json +1 -1
  5. package/{csharp → types}/BetterGenshinImpact/Core/Recognition/RecognitionObject.d.ts +53 -13
  6. package/types/BetterGenshinImpact/Core/Script/Dependence/ServerTime.d.ts +11 -0
  7. package/types/BetterGenshinImpact/Core/Script/Dependence/Simulator/PostMessage.d.ts +18 -0
  8. package/types/BetterGenshinImpact/GameTask/AutoFight/Config/CombatAvatar.d.ts +33 -0
  9. package/types/BetterGenshinImpact/GameTask/AutoFight/Model/Avatar.d.ts +171 -0
  10. package/types/BetterGenshinImpact/GameTask/AutoFight/Model/AvatarActiveCheckContext.d.ts +11 -0
  11. package/types/BetterGenshinImpact/GameTask/AutoFight/Model/CombatScenes.d.ts +72 -0
  12. package/types/BetterGenshinImpact/GameTask/AutoFight/Model/MultiGameStatus.d.ts +19 -0
  13. package/types/BetterGenshinImpact/GameTask/Model/Area/DesktopRegion.d.ts +31 -0
  14. package/types/BetterGenshinImpact/GameTask/Model/Area/GameCaptureRegion.d.ts +85 -0
  15. package/types/Fischless/WindowsInput/IKeyboardSimulator.d.ts +67 -0
  16. package/types/Fischless/WindowsInput/IMouseSimulator.d.ts +61 -0
  17. package/types/System/DateTime.d.ts +8 -0
  18. package/types/System/Exception.d.ts +8 -0
  19. /package/{modules → objects}/file.d.ts +0 -0
  20. /package/{modules → objects}/genshin.d.ts +0 -0
  21. /package/{modules → objects}/http.d.ts +0 -0
  22. /package/{modules → objects}/keyMouseScript.d.ts +0 -0
  23. /package/{modules → objects}/log.d.ts +0 -0
  24. /package/{modules → objects}/notification.d.ts +0 -0
  25. /package/{modules → objects}/pathingScript.d.ts +0 -0
  26. /package/{modules → objects}/settings.d.ts +0 -0
  27. /package/{csharp → types}/BetterGenshinImpact/Core/Recognition/OcrEngineTypes.d.ts +0 -0
  28. /package/{csharp → types}/BetterGenshinImpact/Core/Recognition/RecognitionTypes.d.ts +0 -0
  29. /package/{csharp → types}/BetterGenshinImpact/Core/Script/Dependence/Model/RealtimeTimer.d.ts +0 -0
  30. /package/{csharp → types}/BetterGenshinImpact/Core/Script/Dependence/Model/SoloTask.d.ts +0 -0
  31. /package/{csharp → types}/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainParam.d.ts +0 -0
  32. /package/{csharp → types}/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.d.ts +0 -0
  33. /package/{csharp → types}/BetterGenshinImpact/GameTask/AutoFight/AutoFightParam.d.ts +0 -0
  34. /package/{csharp → types}/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.d.ts +0 -0
  35. /package/{csharp → types}/BetterGenshinImpact/GameTask/ISoloTask.d.ts +0 -0
  36. /package/{csharp → types}/BetterGenshinImpact/GameTask/Model/Area/Converter/INodeConverter.d.ts +0 -0
  37. /package/{csharp → types}/BetterGenshinImpact/GameTask/Model/Area/ImageRegion.d.ts +0 -0
  38. /package/{csharp → types}/BetterGenshinImpact/GameTask/Model/Area/Region.d.ts +0 -0
  39. /package/{csharp → types}/BetterGenshinImpact/GameTask/Model/BaseTaskParam.d.ts +0 -0
  40. /package/{csharp → types}/BetterGenshinImpact/Helpers/User32Helper.d.ts +0 -0
  41. /package/{csharp → types}/BetterGenshinImpact/View/Drawable/DrawContent.d.ts +0 -0
  42. /package/{csharp → types}/BetterGenshinImpact/View/Drawable/LineDrawable.d.ts +0 -0
  43. /package/{csharp → types}/BetterGenshinImpact/View/Drawable/RectDrawable.d.ts +0 -0
  44. /package/{csharp → types}/Microsoft/Extensions/Localization/IStringLocalizer.d.ts +0 -0
  45. /package/{csharp → types}/Microsoft/Extensions/Localization/LocalizedString.d.ts +0 -0
  46. /package/{csharp → types}/SixLabors/ImageSharp/Image.d.ts +0 -0
  47. /package/{csharp → types}/System/Collections/DictionaryEntry.d.ts +0 -0
  48. /package/{csharp → types}/System/Collections/Generic/Dictionary.d.ts +0 -0
  49. /package/{csharp → types}/System/Collections/Generic/ICollection.d.ts +0 -0
  50. /package/{csharp → types}/System/Collections/Generic/IDictionary.d.ts +0 -0
  51. /package/{csharp → types}/System/Collections/Generic/IEnumerable.d.ts +0 -0
  52. /package/{csharp → types}/System/Collections/Generic/IEnumerator.d.ts +0 -0
  53. /package/{csharp → types}/System/Collections/Generic/IEqualityComparer.d.ts +0 -0
  54. /package/{csharp → types}/System/Collections/Generic/IList.d.ts +0 -0
  55. /package/{csharp → types}/System/Collections/Generic/IReadOnlyCollection.d.ts +0 -0
  56. /package/{csharp → types}/System/Collections/Generic/IReadOnlyDictionary.d.ts +0 -0
  57. /package/{csharp → types}/System/Collections/Generic/IReadOnlyList.d.ts +0 -0
  58. /package/{csharp → types}/System/Collections/Generic/KeyValuePair.d.ts +0 -0
  59. /package/{csharp → types}/System/Collections/Generic/List.d.ts +0 -0
  60. /package/{csharp → types}/System/Collections/ICollection.d.ts +0 -0
  61. /package/{csharp → types}/System/Collections/IDictionary.d.ts +0 -0
  62. /package/{csharp → types}/System/Collections/IDictionaryEnumerator.d.ts +0 -0
  63. /package/{csharp → types}/System/Collections/IEnumerable.d.ts +0 -0
  64. /package/{csharp → types}/System/Collections/IEnumerator.d.ts +0 -0
  65. /package/{csharp → types}/System/Collections/IList.d.ts +0 -0
  66. /package/{csharp → types}/System/DateTimeOffset.d.ts +0 -0
  67. /package/{csharp → types}/System/Drawing/Bitmap.d.ts +0 -0
  68. /package/{csharp → types}/System/Drawing/Color.d.ts +0 -0
  69. /package/{csharp → types}/System/Drawing/Image.d.ts +0 -0
  70. /package/{csharp → types}/System/Drawing/KnownColor.d.ts +0 -0
  71. /package/{csharp → types}/System/Drawing/Pen.d.ts +0 -0
  72. /package/{csharp → types}/System/Globalization/CultureInfo.d.ts +0 -0
  73. /package/{csharp → types}/System/IAsyncDisposable.d.ts +0 -0
  74. /package/{csharp → types}/System/IDisposable.d.ts +0 -0
  75. /package/{csharp → types}/System/IEquatable.d.ts +0 -0
  76. /package/{csharp → types}/System/Runtime/Serialization/IDeserializationCallback.d.ts +0 -0
  77. /package/{csharp → types}/System/Runtime/Serialization/ISerializable.d.ts +0 -0
  78. /package/{csharp → types}/System/Threading/CancellationToken.d.ts +0 -0
  79. /package/{csharp → types}/System/Threading/CancellationTokenRegistration.d.ts +0 -0
  80. /package/{csharp → types}/System/Threading/CancellationTokenSource.d.ts +0 -0
  81. /package/{csharp → types}/System/Threading/ITimer.d.ts +0 -0
  82. /package/{csharp → types}/System/Threading/Tasks/ValueTask.d.ts +0 -0
  83. /package/{csharp → types}/System/Threading/WaitHandle.d.ts +0 -0
  84. /package/{csharp → types}/System/TimeProvider.d.ts +0 -0
  85. /package/{csharp → types}/System/TimeSpan.d.ts +0 -0
  86. /package/{csharp → types}/System/Windows/Media/Matrix.d.ts +0 -0
  87. /package/{csharp → types}/System/Windows/Point.d.ts +0 -0
  88. /package/{csharp → types}/System/Windows/Vector.d.ts +0 -0
package/index.d.ts CHANGED
@@ -1,29 +1,60 @@
1
- // 全局方法
2
- /// <reference path="./modules/globalMethod.d.ts" />
3
-
4
1
  // 录像回放
5
- /// <reference path="./modules/keyMouseScript.d.ts" />
2
+ /// <reference path="./objects/keyMouseScript.d.ts" />
6
3
 
7
4
  // 地图追踪
8
- /// <reference path="./modules/pathingScript.d.ts" />
5
+ /// <reference path="./objects/pathingScript.d.ts" />
9
6
 
10
7
  // 游戏内操作
11
- /// <reference path="./modules/genshin.d.ts" />
8
+ /// <reference path="./objects/genshin.d.ts" />
12
9
 
13
10
  // 日志输出
14
- /// <reference path="./modules/log.d.ts" />
11
+ /// <reference path="./objects/log.d.ts" />
15
12
 
16
13
  // 文件访问(受限)
17
- /// <reference path="./modules/file.d.ts" />
14
+ /// <reference path="./objects/file.d.ts" />
18
15
 
19
16
  // 网络请求(受限)
20
- /// <reference path="./modules/http.d.ts" />
17
+ /// <reference path="./objects/http.d.ts" />
21
18
 
22
19
  // 消息通知
23
- /// <reference path="./modules/notification.d.ts" />
20
+ /// <reference path="./objects/notification.d.ts" />
24
21
 
25
22
  // 任务调用
26
- /// <reference path="./modules/dispatcher.d.ts" />
23
+ /// <reference path="./objects/dispatcher.d.ts" />
24
+
25
+ // 实时任务
26
+ /// <reference path="./types/BetterGenshinImpact/Core/Script/Dependence/Model/RealtimeTimer.d.ts" />
27
+
28
+ // 独立任务
29
+ /// <reference path="./types/BetterGenshinImpact/Core/Script/Dependence/Model/SoloTask.d.ts" />
30
+
31
+ // 取消令牌
32
+ /// <reference path="./types/System/Threading/CancellationTokenSource.d.ts" />
33
+ /// <reference path="./types/System/Threading/CancellationToken.d.ts" />
34
+
35
+ // 指令发送
36
+ /// <reference path="./types/BetterGenshinImpact/Core/Script/Dependence/Simulator/PostMessage.d.ts" />
37
+
38
+ // 全局方法
39
+ /// <reference path="./objects/globalMethod.d.ts" />
40
+
41
+ // 识图模块
42
+ /// <reference path="./types/BetterGenshinImpact/Core/Recognition/RecognitionObject.d.ts" />
43
+ /// <reference path="./types/BetterGenshinImpact/GameTask/Model/Area/DesktopRegion.d.ts" />
44
+ /// <reference path="./types/BetterGenshinImpact/GameTask/Model/Area/GameCaptureRegion.d.ts" />
45
+ /// <reference path="./types/BetterGenshinImpact/GameTask/Model/Area/ImageRegion.d.ts" />
46
+ /// <reference path="./types/BetterGenshinImpact/GameTask/Model/Area/Region.d.ts" />
47
+
48
+ // 战斗队伍
49
+ /// <reference path="./types/BetterGenshinImpact/GameTask/AutoFight/Model/CombatScenes.d.ts" />
50
+ /// <reference path="./types/BetterGenshinImpact/GameTask/AutoFight/Model/Avatar.d.ts" />
51
+
52
+ // 服务器时间
53
+ /// <reference path="./types/BetterGenshinImpact/Core/Script/Dependence/ServerTime.d.ts" />
54
+
55
+ // 任务参数
56
+ /// <reference path="./types/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainParam" />
57
+ /// <reference path="./types/BetterGenshinImpact/GameTask/AutoFight/AutoFightParam" />
27
58
 
28
59
  /// 设置
29
- /// <reference path="./modules/settings.d.ts" />
60
+ /// <reference path="./objects/settings.d.ts" />
@@ -1,9 +1,9 @@
1
- import "../csharp/BetterGenshinImpact/Core/Script/Dependence/Model/RealtimeTimer";
2
- import "../csharp/BetterGenshinImpact/Core/Script/Dependence/Model/SoloTask";
3
- import "../csharp/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainParam";
4
- import "../csharp/BetterGenshinImpact/GameTask/AutoFight/AutoFightParam";
5
- import "../csharp/System/Threading/CancellationToken";
6
- import "../csharp/System/Threading/CancellationTokenSource";
1
+ import "../types/BetterGenshinImpact/Core/Script/Dependence/Model/RealtimeTimer";
2
+ import "../types/BetterGenshinImpact/Core/Script/Dependence/Model/SoloTask";
3
+ import "../types/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainParam";
4
+ import "../types/BetterGenshinImpact/GameTask/AutoFight/AutoFightParam";
5
+ import "../types/System/Threading/CancellationToken";
6
+ import "../types/System/Threading/CancellationTokenSource";
7
7
 
8
8
  declare global {
9
9
  /** @since 0.32.5 */
@@ -1,5 +1,5 @@
1
- import "../csharp/BetterGenshinImpact/GameTask/Model/Area/ImageRegion";
2
- import { KeyCode } from "../csharp/BetterGenshinImpact/Helpers/User32Helper";
1
+ import "../types/BetterGenshinImpact/GameTask/Model/Area/ImageRegion";
2
+ import { KeyCode } from "../types/BetterGenshinImpact/Helpers/User32Helper";
3
3
 
4
4
  declare global {
5
5
  /**
@@ -41,6 +41,12 @@ declare global {
41
41
  // overload
42
42
  function setGameMetrics(w: number, h: number, dpi: number | null): void;
43
43
 
44
+ /**
45
+ * 获取游戏窗口尺寸和显示缩放
46
+ * @since 0.53.0
47
+ */
48
+ function getGameMetrics(): number[];
49
+
44
50
  /**
45
51
  * 相对当前鼠标位置移动光标
46
52
  * @param x - 水平方向偏移量(像素)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bettergi/types",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "TypeScript Definitions for BetterGI JavaScript",
5
5
  "type": "module",
6
6
  "author": "Bread Grocery<https://github.com/breadgrocery>",
@@ -16,7 +16,7 @@ declare global {
16
16
  namespace BetterGenshinImpact.Core.Recognition {
17
17
  class RecognitionObject {
18
18
  /** 匹配类型 */
19
- recognitionType: RecognitionTypes;
19
+ recognitionType: BetterGenshinImpact.Core.Recognition.RecognitionTypes;
20
20
 
21
21
  /** 感兴趣的区域 */
22
22
  regionOfInterest: Rect;
@@ -82,6 +82,18 @@ declare global {
82
82
  */
83
83
  maxMatchCount: number;
84
84
 
85
+ /**
86
+ * 是否启用二值化后模板匹配
87
+ * @default false
88
+ */
89
+ useBinaryMatch: boolean;
90
+
91
+ /**
92
+ * 二值化阈值
93
+ * @default 128
94
+ */
95
+ binaryThreshold: number;
96
+
85
97
  /** 颜色匹配方式 */
86
98
  colorConversionCode: ColorConversionCodes;
87
99
 
@@ -98,7 +110,7 @@ declare global {
98
110
  matchCount: number;
99
111
 
100
112
  /** OCR 引擎 */
101
- ocrEngine: OcrEngineTypes;
113
+ ocrEngine: BetterGenshinImpact.Core.Recognition.OcrEngineTypes;
102
114
 
103
115
  /** 文字识别替换字典(部分文字识别结果不准确) */
104
116
  replaceDictionary: System.Collections.Generic.Dictionary<string, string[]>;
@@ -112,20 +124,29 @@ declare global {
112
124
  /** 正则匹配 多个值全匹配的情况下才算成功 */
113
125
  regexMatchText: System.Collections.Generic.List<string>;
114
126
 
127
+ /** 用于多个OCR结果的匹配 */
128
+ text: string;
129
+
115
130
  /** 初始化模板 */
116
- initTemplate(): RecognitionObject;
131
+ initTemplate(): BetterGenshinImpact.Core.Recognition.RecognitionObject;
117
132
 
118
- /**
119
- * 识别图片模板
120
- * @param mat 模板图片
121
- */
122
- static templateMatch(mat: Mat): RecognitionObject;
133
+ clone(): BetterGenshinImpact.Core.Recognition.RecognitionObject;
123
134
 
124
135
  /**
125
136
  * 识别图片模板
126
137
  * @param mat 模板图片
127
138
  */
128
- static templateMatch(mat: Mat): RecognitionObject;
139
+ static templateMatch(mat: Mat): BetterGenshinImpact.Core.Recognition.RecognitionObject;
140
+ // overload
141
+ static templateMatch(
142
+ mat: Mat,
143
+ useMask: boolean
144
+ ): BetterGenshinImpact.Core.Recognition.RecognitionObject;
145
+ static templateMatch(
146
+ mat: Mat,
147
+ useMask: boolean,
148
+ maskColor: System.Drawing.Color
149
+ ): BetterGenshinImpact.Core.Recognition.RecognitionObject;
129
150
 
130
151
  /**
131
152
  * 在指定区域识别图片模板
@@ -135,7 +156,13 @@ declare global {
135
156
  * @param w 宽度
136
157
  * @param h 高度
137
158
  */
138
- static templateMatch(mat: Mat, x: number, y: number, w: number, h: number): RecognitionObject;
159
+ static templateMatch(
160
+ mat: Mat,
161
+ x: number,
162
+ y: number,
163
+ w: number,
164
+ h: number
165
+ ): BetterGenshinImpact.Core.Recognition.RecognitionObject;
139
166
 
140
167
  /**
141
168
  * 识别指定区域
@@ -144,16 +171,29 @@ declare global {
144
171
  * @param w 宽度
145
172
  * @param h 高度
146
173
  */
147
- static ocr(x: number, y: number, w: number, h: number): RecognitionObject;
174
+ static ocr(
175
+ x: number,
176
+ y: number,
177
+ w: number,
178
+ h: number
179
+ ): BetterGenshinImpact.Core.Recognition.RecognitionObject;
148
180
 
149
181
  /**
150
182
  * 识别矩形区域
151
183
  * @param rect 矩形
152
184
  */
153
- static ocr(rect: Rect): RecognitionObject;
185
+ static ocr(rect: Rect): BetterGenshinImpact.Core.Recognition.RecognitionObject;
186
+
187
+ static ocrMatch(
188
+ x: number,
189
+ y: number,
190
+ w: number,
191
+ h: number,
192
+ ...matchTexts: string[]
193
+ ): BetterGenshinImpact.Core.Recognition.RecognitionObject;
154
194
 
155
195
  /** 识别文字 */
156
- static readonly ocrThis: RecognitionObject;
196
+ static readonly ocrThis: BetterGenshinImpact.Core.Recognition.RecognitionObject;
157
197
  }
158
198
  }
159
199
  export import RecognitionObject = BetterGenshinImpact.Core.Recognition.RecognitionObject;
@@ -0,0 +1,11 @@
1
+ declare global {
2
+ namespace BetterGenshinImpact.Core.Script.Dependence {
3
+ class ServerTime {
4
+ /** 获取服务器时区偏移量(单位:毫秒) */
5
+ static getServerTimeZoneOffset(): number;
6
+ }
7
+ }
8
+ export import ServerTime = BetterGenshinImpact.Core.Script.Dependence.ServerTime;
9
+ }
10
+
11
+ export {};
@@ -0,0 +1,18 @@
1
+ declare global {
2
+ namespace BetterGenshinImpact.Core.Script.Dependence.Simulator {
3
+ class PostMessage {
4
+ keyDown(key: string): void;
5
+
6
+ keyUp(key: string): void;
7
+
8
+ keyPress(key: string): void;
9
+
10
+ click(): void;
11
+
12
+ constructor();
13
+ }
14
+ }
15
+ export import PostMessage = BetterGenshinImpact.Core.Script.Dependence.Simulator.PostMessage;
16
+ }
17
+
18
+ export {};
@@ -0,0 +1,33 @@
1
+ import "../../../../System/Collections/Generic/List";
2
+
3
+ declare global {
4
+ namespace BetterGenshinImpact.GameTask.AutoFight.Config {
5
+ class CombatAvatar {
6
+ /** 唯一标识 */
7
+ id: string;
8
+
9
+ /** 角色中文名 */
10
+ name: string;
11
+
12
+ /** 角色英文名 */
13
+ nameEn: string;
14
+
15
+ /** 武器类型 */
16
+ weapon: string;
17
+
18
+ /** 元素战技CD */
19
+ skillCd: number;
20
+
21
+ /** 长按元素战技CD */
22
+ skillHoldCd: number;
23
+
24
+ /** 元素爆发CD */
25
+ burstCd: number;
26
+
27
+ /** 别名 */
28
+ alias: System.Collections.Generic.List<string>;
29
+ }
30
+ }
31
+ }
32
+
33
+ export {};
@@ -0,0 +1,171 @@
1
+ import { Rect } from "mirada/dist/src/types/opencv";
2
+ import "../../../../System/DateTime";
3
+ import "../../../../System/Exception";
4
+ import "../../../../System/Threading/CancellationToken";
5
+ import "../../../GameTask/Model/Area/ImageRegion";
6
+ import "../../AutoFight/Model/CombatScenes";
7
+ import "../Config/CombatAvatar";
8
+
9
+ declare global {
10
+ namespace BetterGenshinImpact.GameTask.AutoFight.Model {
11
+ /** 队伍内的角色 */
12
+ class Avatar {
13
+ /** 配置文件中的角色信息 */
14
+ combatAvatar: BetterGenshinImpact.GameTask.AutoFight.Config.CombatAvatar;
15
+
16
+ /** 角色名称 中文 */
17
+ name: string;
18
+
19
+ /** 队伍内序号 */
20
+ index: number;
21
+
22
+ /** 最近一次OCR识别出的CD到期时间 */
23
+ ocrSkillCd: System.DateTime;
24
+
25
+ /** 手动配置的技能CD,有它就不使用OCR,小于0为自动 */
26
+ manualSkillCd: number;
27
+
28
+ /** 最近一次使用元素战技的时间 */
29
+ lastSkillTime: System.DateTime;
30
+
31
+ /** 元素爆发是否就绪 */
32
+ isBurstReady: boolean;
33
+
34
+ /** 名字所在矩形位置 */
35
+ nameRect: Rect;
36
+
37
+ /** 名字右边的编号位置 */
38
+ indexRect: Rect;
39
+
40
+ /** 任务取消令牌 */
41
+ ct: System.Threading.CancellationToken;
42
+
43
+ /** 战斗场景 */
44
+ combatScenes: BetterGenshinImpact.GameTask.AutoFight.Model.CombatScenes;
45
+
46
+ /** 切换到本角色 切换cd是1秒,如果切换失败,会尝试再次切换,最多尝试5次 */
47
+ switch(): void;
48
+
49
+ /** 尝试切换到本角色 */
50
+ trySwitch(): boolean;
51
+ // overload
52
+ trySwitch(tryTimes: number): boolean;
53
+ trySwitch(tryTimes: number, needLog: boolean): boolean;
54
+
55
+ /** 切换到本角色 切换cd是1秒,如果切换失败,会尝试再次切换,最多尝试5次 */
56
+ switchWithoutCts(): void;
57
+
58
+ /** 是否出战状态 */
59
+ isActive(region: BetterGenshinImpact.GameTask.Model.Area.ImageRegion): boolean;
60
+
61
+ /** 普通攻击 */
62
+ attack(): void;
63
+ // overload
64
+ attack(ms: number): void;
65
+
66
+ /** 使用元素战技 E */
67
+ useSkill(): void;
68
+ // overload
69
+ useSkill(hold: boolean): void;
70
+
71
+ /** 使用完元素战技的回调,注意,不会在这里检测是不是需要跑七天神像 */
72
+ afterUseSkill(): void;
73
+ // overload
74
+ afterUseSkill(givenRegion: BetterGenshinImpact.GameTask.Model.Area.ImageRegion | null): void;
75
+
76
+ /** 使用元素爆发 Q Q释放等待 2s 超时认为没有Q技能 */
77
+ useBurst(): void;
78
+
79
+ /** 冲刺 */
80
+ dash(): void;
81
+ // overload
82
+ dash(ms: number): void;
83
+
84
+ /** 移动 */
85
+ walk(key: string, ms: number): void;
86
+
87
+ /** 移动摄像机 */
88
+ moveCamera(pixelDeltaX: number, pixelDeltaY: number): void;
89
+
90
+ /** 等待 */
91
+ wait(ms: number): void;
92
+
93
+ /** 根据cd推算E技能是否好了 */
94
+ isSkillReady(): boolean;
95
+ // overload
96
+ isSkillReady(printLog: boolean): boolean;
97
+
98
+ /** 计算上一次使用技能到现在还剩下多长时间的cd */
99
+ getSkillCdSeconds(): number;
100
+
101
+ /** 等待技能CD */
102
+ waitSkillCd(): Promise<void>;
103
+ // overload
104
+ waitSkillCd(ct: System.Threading.CancellationToken): Promise<void>;
105
+
106
+ /** 跳跃 */
107
+ jump(): void;
108
+
109
+ /** 重击 */
110
+ charge(): void;
111
+ // overload
112
+ charge(ms: number): void;
113
+
114
+ /** 鼠标按下 */
115
+ mouseDown(): void;
116
+ // overload
117
+ mouseDown(key: string): void;
118
+
119
+ /** 鼠标抬起 */
120
+ mouseUp(): void;
121
+ // overload
122
+ mouseUp(key: string): void;
123
+
124
+ /** 鼠标点击 */
125
+ click(): void;
126
+ // overload
127
+ click(key: string): void;
128
+
129
+ /** 鼠标相对移动 */
130
+ moveBy(x: number, y: number): void;
131
+
132
+ /** 按下按键 */
133
+ keyDown(key: string): void;
134
+
135
+ /** 抬起按键 */
136
+ keyUp(key: string): void;
137
+
138
+ /** 按下并抬起按键 */
139
+ keyPress(key: string): void;
140
+
141
+ /** 从配置字符串中查找角色cd 仅有角色名时返回 -1 ,没找到角色返回null */
142
+ parseActionSchedulerByCd(avatarName: string, input: string): number | null;
143
+
144
+ constructor(
145
+ combatScenes: BetterGenshinImpact.GameTask.AutoFight.Model.CombatScenes,
146
+ name: string,
147
+ index: number,
148
+ nameRect: Rect
149
+ );
150
+ constructor(
151
+ combatScenes: BetterGenshinImpact.GameTask.AutoFight.Model.CombatScenes,
152
+ name: string,
153
+ index: number,
154
+ nameRect: Rect,
155
+ manualSkillCd: number
156
+ );
157
+
158
+ /** 是否存在角色被击败 通过判断确认按钮 */
159
+ static throwWhenDefeated(
160
+ region: BetterGenshinImpact.GameTask.Model.Area.ImageRegion,
161
+ ct: System.Threading.CancellationToken
162
+ ): void;
163
+
164
+ /** tp 到七天神像恢复 */
165
+ static tpForRecover(ct: System.Threading.CancellationToken, ex: System.Exception): void;
166
+ }
167
+ }
168
+ export import Avatar = BetterGenshinImpact.GameTask.AutoFight.Model.Avatar;
169
+ }
170
+
171
+ export {};
@@ -0,0 +1,11 @@
1
+ declare global {
2
+ namespace BetterGenshinImpact.GameTask.AutoFight.Model {
3
+ class AvatarActiveCheckContext {
4
+ activeIndexByArrowCount: number[];
5
+
6
+ totalCheckFailedCount: number;
7
+ }
8
+ }
9
+ }
10
+
11
+ export {};
@@ -0,0 +1,72 @@
1
+ import "../../../../SixLabors/ImageSharp/Image";
2
+ import "../../../../System/Collections/Generic/List";
3
+ import "../../../../System/IDisposable";
4
+ import "../../../../System/Threading/CancellationToken";
5
+ import "../../../GameTask/Model/Area/ImageRegion";
6
+ import "./Avatar";
7
+ import "./AvatarActiveCheckContext";
8
+ import "./MultiGameStatus";
9
+
10
+ declare global {
11
+ namespace BetterGenshinImpact.GameTask.AutoFight.Model {
12
+ class CombatScenes implements System.IDisposable {
13
+ avatarCount: number;
14
+
15
+ /** 最近一次识别出的出战角色编号,从1开始,-1表示未识别 */
16
+ lastActiveAvatarIndex: number;
17
+
18
+ currentMultiGameStatus: BetterGenshinImpact.GameTask.AutoFight.Model.MultiGameStatus;
19
+
20
+ expectedTeamAvatarNumber: number;
21
+
22
+ getAvatars(): System.Collections.Generic.List<BetterGenshinImpact.GameTask.AutoFight.Model.Avatar>;
23
+
24
+ initializeTeam(
25
+ imageRegion: BetterGenshinImpact.GameTask.Model.Area.ImageRegion
26
+ ): BetterGenshinImpact.GameTask.AutoFight.Model.CombatScenes;
27
+
28
+ refreshTeamAvatarIndexRectList(
29
+ imageRegion: BetterGenshinImpact.GameTask.Model.Area.ImageRegion
30
+ ): boolean;
31
+
32
+ classifyAvatarCnName(img: SixLabors.ImageSharp.Image, index: number): object;
33
+
34
+ classifyAvatarName(img: SixLabors.ImageSharp.Image, index: number): string;
35
+
36
+ checkTeamInitialized(): boolean;
37
+
38
+ updateActionSchedulerByCd(cdConfig: string): System.Collections.Generic.List<string>;
39
+
40
+ beforeTask(ct: System.Threading.CancellationToken): void;
41
+
42
+ afterTask(): void;
43
+
44
+ selectAvatar(name: string): BetterGenshinImpact.GameTask.AutoFight.Model.Avatar;
45
+
46
+ selectAvatar(avatarIndex: number): BetterGenshinImpact.GameTask.AutoFight.Model.Avatar;
47
+
48
+ currentAvatar(): string | null;
49
+ // overload
50
+ currentAvatar(force: boolean | null): string | null;
51
+ currentAvatar(
52
+ force: boolean | null,
53
+ region: BetterGenshinImpact.GameTask.Model.Area.ImageRegion | null
54
+ ): string | null;
55
+ currentAvatar(
56
+ force: boolean | null,
57
+ region: BetterGenshinImpact.GameTask.Model.Area.ImageRegion | null,
58
+ ct: System.Threading.CancellationToken | null
59
+ ): string | null;
60
+
61
+ getActiveAvatarIndex(
62
+ imageRegion: BetterGenshinImpact.GameTask.Model.Area.ImageRegion,
63
+ context: BetterGenshinImpact.GameTask.AutoFight.Model.AvatarActiveCheckContext
64
+ ): number;
65
+
66
+ dispose(): void;
67
+ }
68
+ }
69
+ export import CombatScenes = BetterGenshinImpact.GameTask.AutoFight.Model.CombatScenes;
70
+ }
71
+
72
+ export {};
@@ -0,0 +1,19 @@
1
+ declare global {
2
+ namespace BetterGenshinImpact.GameTask.AutoFight.Model {
3
+ class MultiGameStatus {
4
+ /** 是否在联机状态 */
5
+ isInMultiGame: boolean;
6
+
7
+ /** 是不是房主 */
8
+ isHost: boolean;
9
+
10
+ /** 玩家数量 */
11
+ playerCount: number;
12
+
13
+ /** 我能控制的最大角色数量 */
14
+ maxControlAvatarCount: number;
15
+ }
16
+ }
17
+ }
18
+
19
+ export {};
@@ -0,0 +1,31 @@
1
+ import { Mat } from "mirada/dist/src/types/opencv";
2
+ import "../../../../Fischless/WindowsInput/IMouseSimulator";
3
+
4
+ declare global {
5
+ namespace BetterGenshinImpact.GameTask.Model.Area {
6
+ class DesktopRegion extends BetterGenshinImpact.GameTask.Model.Area.Region {
7
+ desktopRegionClick(x: number, y: number, w: number, h: number): void;
8
+
9
+ desktopRegionMove(captureMat: Mat, x: number, y: number): void;
10
+
11
+ derive(x: number, y: number, w: number, h: number): void;
12
+
13
+ constructor(w: number, h: number);
14
+
15
+ constructor(w: number, h: number, iMouse: Fischless.WindowsInput.IMouseSimulator | null);
16
+
17
+ constructor();
18
+
19
+ constructor(iMouse: Fischless.WindowsInput.IMouseSimulator);
20
+
21
+ static desktopRegionClick(cx: number, cy: number): void;
22
+
23
+ static desktopRegionMove(cx: number, cy: number): void;
24
+
25
+ static desktopRegionMoveBy(dx: number, dy: number): void;
26
+ }
27
+ }
28
+ export import DesktopRegion = BetterGenshinImpact.GameTask.Model.Area.DesktopRegion;
29
+ }
30
+
31
+ export {};
@@ -0,0 +1,85 @@
1
+ import { Mat, Size } from "mirada/dist/src/types/opencv";
2
+ import "../../../../Fischless/WindowsInput/IMouseSimulator";
3
+ import "../../../../System/Drawing/Pen";
4
+ import "../../../View/Drawable/DrawContent";
5
+ import "../../../View/Drawable/LineDrawable";
6
+ import "../../../View/Drawable/RectDrawable";
7
+ import "./Converter/INodeConverter";
8
+ import "./ImageRegion";
9
+ import "./Region";
10
+
11
+ declare global {
12
+ namespace BetterGenshinImpact.GameTask.Model.Area {
13
+ class GameCaptureRegion extends BetterGenshinImpact.GameTask.Model.Area.ImageRegion {
14
+ convertToRectDrawable(
15
+ x: number,
16
+ y: number,
17
+ w: number,
18
+ h: number
19
+ ): BetterGenshinImpact.View.Drawable.RectDrawable;
20
+ // overload
21
+ convertToRectDrawable(
22
+ x: number,
23
+ y: number,
24
+ w: number,
25
+ h: number,
26
+ pen: System.Drawing.Pen | null
27
+ ): BetterGenshinImpact.View.Drawable.RectDrawable;
28
+ convertToRectDrawable(
29
+ x: number,
30
+ y: number,
31
+ w: number,
32
+ h: number,
33
+ pen: System.Drawing.Pen | null,
34
+ name: string | null
35
+ ): BetterGenshinImpact.View.Drawable.RectDrawable;
36
+
37
+ convertToLineDrawable(
38
+ x: number,
39
+ y: number,
40
+ w: number,
41
+ h: number
42
+ ): BetterGenshinImpact.View.Drawable.LineDrawable;
43
+ // overload
44
+ convertToLineDrawable(
45
+ x: number,
46
+ y: number,
47
+ w: number,
48
+ h: number,
49
+ pen: System.Drawing.Pen | null
50
+ ): BetterGenshinImpact.View.Drawable.LineDrawable;
51
+ convertToLineDrawable(
52
+ x: number,
53
+ y: number,
54
+ w: number,
55
+ h: number,
56
+ pen: System.Drawing.Pen | null,
57
+ name: string | null
58
+ ): BetterGenshinImpact.View.Drawable.LineDrawable;
59
+
60
+ deriveTo1080P(): BetterGenshinImpact.GameTask.Model.Area.ImageRegion;
61
+
62
+ constructor(
63
+ mat: Mat,
64
+ initX: number,
65
+ initY: number,
66
+ owner: BetterGenshinImpact.GameTask.Model.Area.Region | null,
67
+ converter: BetterGenshinImpact.GameTask.Model.Area.Converter.INodeConverter | null,
68
+ drawContent: BetterGenshinImpact.View.Drawable.DrawContent | null
69
+ );
70
+
71
+ static gameRegionClick(posFunc: (size: Size, scaleTo1080PRatio: number) => number[]): void;
72
+
73
+ static gameRegionMove(posFunc: (size: Size, scaleTo1080PRatio: number) => number[]): void;
74
+
75
+ static gameRegionMoveBy(deltaFunc: (size: Size, scaleTo1080PRatio: number) => number[]): void;
76
+
77
+ static gameRegion1080PPosClick(cx: number, cy: number): void;
78
+
79
+ static gameRegion1080PPosMove(cx: number, cy: number): void;
80
+ }
81
+ }
82
+ export import GameCaptureRegion = BetterGenshinImpact.GameTask.Model.Area.GameCaptureRegion;
83
+ }
84
+
85
+ export {};
@@ -0,0 +1,67 @@
1
+ import "../../System/Collections/Generic/IEnumerable";
2
+ import "../../System/TimeSpan";
3
+ import "./IMouseSimulator";
4
+
5
+ declare global {
6
+ namespace Fischless.WindowsInput {
7
+ interface IKeyboardSimulator {
8
+ mouse: Fischless.WindowsInput.IMouseSimulator;
9
+
10
+ keyDown(keyCode: string): Fischless.WindowsInput.IKeyboardSimulator;
11
+
12
+ keyDown(
13
+ isExtendedKey: boolean | null,
14
+ keyCode: string
15
+ ): Fischless.WindowsInput.IKeyboardSimulator;
16
+
17
+ keyPress(keyCode: string): Fischless.WindowsInput.IKeyboardSimulator;
18
+
19
+ keyPress(
20
+ isExtendedKey: boolean | null,
21
+ keyCode: string
22
+ ): Fischless.WindowsInput.IKeyboardSimulator;
23
+
24
+ keyPress(keyCodes: string[]): Fischless.WindowsInput.IKeyboardSimulator;
25
+
26
+ keyPress(
27
+ isExtendedKey: boolean | null,
28
+ keyCodes: string[]
29
+ ): Fischless.WindowsInput.IKeyboardSimulator;
30
+
31
+ keyUp(keyCode: string): Fischless.WindowsInput.IKeyboardSimulator;
32
+
33
+ keyUp(
34
+ isExtendedKey: boolean | null,
35
+ keyCode: string
36
+ ): Fischless.WindowsInput.IKeyboardSimulator;
37
+
38
+ modifiedKeyStroke(
39
+ modifierKeyCodes: System.Collections.Generic.IEnumerable<string>,
40
+ keyCodes: System.Collections.Generic.IEnumerable<string>
41
+ ): Fischless.WindowsInput.IKeyboardSimulator;
42
+
43
+ modifiedKeyStroke(
44
+ modifierKeyCodes: System.Collections.Generic.IEnumerable<string>,
45
+ keyCode: string
46
+ ): Fischless.WindowsInput.IKeyboardSimulator;
47
+
48
+ modifiedKeyStroke(
49
+ modifierKeyCode: string,
50
+ keyCodes: System.Collections.Generic.IEnumerable<string>
51
+ ): Fischless.WindowsInput.IKeyboardSimulator;
52
+
53
+ modifiedKeyStroke(
54
+ modifierKeyCode: string,
55
+ keyCode: string
56
+ ): Fischless.WindowsInput.IKeyboardSimulator;
57
+
58
+ textEntry(text: string): Fischless.WindowsInput.IKeyboardSimulator;
59
+
60
+ sleep(millsecondsTimeout: number): Fischless.WindowsInput.IKeyboardSimulator;
61
+
62
+ sleep(timeout: System.TimeSpan): Fischless.WindowsInput.IKeyboardSimulator;
63
+ }
64
+ }
65
+ }
66
+
67
+ export {};
@@ -0,0 +1,61 @@
1
+ import "../../System/TimeSpan";
2
+ import "./IKeyboardSimulator";
3
+
4
+ declare global {
5
+ namespace Fischless.WindowsInput {
6
+ interface IMouseSimulator {
7
+ keyboard: Fischless.WindowsInput.IKeyboardSimulator;
8
+
9
+ moveMouseBy(pixelDeltaX: number, pixelDeltaY: number): Fischless.WindowsInput.IMouseSimulator;
10
+
11
+ moveMouseTo(absoluteX: number, absoluteY: number): Fischless.WindowsInput.IMouseSimulator;
12
+
13
+ moveMouseToPositionOnVirtualDesktop(
14
+ absoluteX: number,
15
+ absoluteY: number
16
+ ): Fischless.WindowsInput.IMouseSimulator;
17
+
18
+ leftButtonDown(): Fischless.WindowsInput.IMouseSimulator;
19
+
20
+ leftButtonUp(): Fischless.WindowsInput.IMouseSimulator;
21
+
22
+ leftButtonClick(): Fischless.WindowsInput.IMouseSimulator;
23
+
24
+ leftButtonDoubleClick(): Fischless.WindowsInput.IMouseSimulator;
25
+
26
+ middleButtonDown(): Fischless.WindowsInput.IMouseSimulator;
27
+
28
+ middleButtonUp(): Fischless.WindowsInput.IMouseSimulator;
29
+
30
+ middleButtonClick(): Fischless.WindowsInput.IMouseSimulator;
31
+
32
+ middleButtonDoubleClick(): Fischless.WindowsInput.IMouseSimulator;
33
+
34
+ rightButtonDown(): Fischless.WindowsInput.IMouseSimulator;
35
+
36
+ rightButtonUp(): Fischless.WindowsInput.IMouseSimulator;
37
+
38
+ rightButtonClick(): Fischless.WindowsInput.IMouseSimulator;
39
+
40
+ rightButtonDoubleClick(): Fischless.WindowsInput.IMouseSimulator;
41
+
42
+ xButtonDown(buttonId: number): Fischless.WindowsInput.IMouseSimulator;
43
+
44
+ xButtonUp(buttonId: number): Fischless.WindowsInput.IMouseSimulator;
45
+
46
+ xButtonClick(buttonId: number): Fischless.WindowsInput.IMouseSimulator;
47
+
48
+ xButtonDoubleClick(buttonId: number): Fischless.WindowsInput.IMouseSimulator;
49
+
50
+ verticalScroll(scrollAmountInClicks: number): Fischless.WindowsInput.IMouseSimulator;
51
+
52
+ horizontalScroll(scrollAmountInClicks: number): Fischless.WindowsInput.IMouseSimulator;
53
+
54
+ sleep(millsecondsTimeout: number): Fischless.WindowsInput.IMouseSimulator;
55
+
56
+ sleep(timeout: System.TimeSpan): Fischless.WindowsInput.IMouseSimulator;
57
+ }
58
+ }
59
+ }
60
+
61
+ export {};
@@ -0,0 +1,8 @@
1
+ declare global {
2
+ namespace System {
3
+ class DateTime {
4
+ // TODO: 待补充(如果有必要)
5
+ }
6
+ }
7
+ }
8
+ export {};
@@ -0,0 +1,8 @@
1
+ declare global {
2
+ namespace System {
3
+ class Exception {
4
+ // TODO: 待补充(如果有必要)
5
+ }
6
+ }
7
+ }
8
+ export {};
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes