@bettergi/types 0.1.1 → 0.1.2
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.
- package/index.d.ts +43 -12
- package/{modules → objects}/dispatcher.d.ts +6 -6
- package/{modules → objects}/globalMethod.d.ts +8 -2
- package/package.json +1 -1
- package/types/BetterGenshinImpact/Core/Script/Dependence/ServerTime.d.ts +11 -0
- package/types/BetterGenshinImpact/Core/Script/Dependence/Simulator/PostMessage.d.ts +18 -0
- package/types/BetterGenshinImpact/GameTask/AutoFight/Config/CombatAvatar.d.ts +33 -0
- package/types/BetterGenshinImpact/GameTask/AutoFight/Model/Avatar.d.ts +171 -0
- package/types/BetterGenshinImpact/GameTask/AutoFight/Model/AvatarActiveCheckContext.d.ts +11 -0
- package/types/BetterGenshinImpact/GameTask/AutoFight/Model/CombatScenes.d.ts +72 -0
- package/types/BetterGenshinImpact/GameTask/AutoFight/Model/MultiGameStatus.d.ts +19 -0
- package/types/BetterGenshinImpact/GameTask/Model/Area/DesktopRegion.d.ts +31 -0
- package/types/BetterGenshinImpact/GameTask/Model/Area/GameCaptureRegion.d.ts +85 -0
- package/types/Fischless/WindowsInput/IKeyboardSimulator.d.ts +67 -0
- package/types/Fischless/WindowsInput/IMouseSimulator.d.ts +61 -0
- package/types/System/DateTime.d.ts +8 -0
- package/types/System/Exception.d.ts +8 -0
- /package/{modules → objects}/file.d.ts +0 -0
- /package/{modules → objects}/genshin.d.ts +0 -0
- /package/{modules → objects}/http.d.ts +0 -0
- /package/{modules → objects}/keyMouseScript.d.ts +0 -0
- /package/{modules → objects}/log.d.ts +0 -0
- /package/{modules → objects}/notification.d.ts +0 -0
- /package/{modules → objects}/pathingScript.d.ts +0 -0
- /package/{modules → objects}/settings.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/Core/Recognition/OcrEngineTypes.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/Core/Recognition/RecognitionObject.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/Core/Recognition/RecognitionTypes.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/Core/Script/Dependence/Model/RealtimeTimer.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/Core/Script/Dependence/Model/SoloTask.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainParam.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/GameTask/AutoFight/AutoFightParam.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/GameTask/ISoloTask.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/GameTask/Model/Area/Converter/INodeConverter.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/GameTask/Model/Area/ImageRegion.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/GameTask/Model/Area/Region.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/GameTask/Model/BaseTaskParam.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/Helpers/User32Helper.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/View/Drawable/DrawContent.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/View/Drawable/LineDrawable.d.ts +0 -0
- /package/{csharp → types}/BetterGenshinImpact/View/Drawable/RectDrawable.d.ts +0 -0
- /package/{csharp → types}/Microsoft/Extensions/Localization/IStringLocalizer.d.ts +0 -0
- /package/{csharp → types}/Microsoft/Extensions/Localization/LocalizedString.d.ts +0 -0
- /package/{csharp → types}/SixLabors/ImageSharp/Image.d.ts +0 -0
- /package/{csharp → types}/System/Collections/DictionaryEntry.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/Dictionary.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/ICollection.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/IDictionary.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/IEnumerable.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/IEnumerator.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/IEqualityComparer.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/IList.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/IReadOnlyCollection.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/IReadOnlyDictionary.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/IReadOnlyList.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/KeyValuePair.d.ts +0 -0
- /package/{csharp → types}/System/Collections/Generic/List.d.ts +0 -0
- /package/{csharp → types}/System/Collections/ICollection.d.ts +0 -0
- /package/{csharp → types}/System/Collections/IDictionary.d.ts +0 -0
- /package/{csharp → types}/System/Collections/IDictionaryEnumerator.d.ts +0 -0
- /package/{csharp → types}/System/Collections/IEnumerable.d.ts +0 -0
- /package/{csharp → types}/System/Collections/IEnumerator.d.ts +0 -0
- /package/{csharp → types}/System/Collections/IList.d.ts +0 -0
- /package/{csharp → types}/System/DateTimeOffset.d.ts +0 -0
- /package/{csharp → types}/System/Drawing/Bitmap.d.ts +0 -0
- /package/{csharp → types}/System/Drawing/Color.d.ts +0 -0
- /package/{csharp → types}/System/Drawing/Image.d.ts +0 -0
- /package/{csharp → types}/System/Drawing/KnownColor.d.ts +0 -0
- /package/{csharp → types}/System/Drawing/Pen.d.ts +0 -0
- /package/{csharp → types}/System/Globalization/CultureInfo.d.ts +0 -0
- /package/{csharp → types}/System/IAsyncDisposable.d.ts +0 -0
- /package/{csharp → types}/System/IDisposable.d.ts +0 -0
- /package/{csharp → types}/System/IEquatable.d.ts +0 -0
- /package/{csharp → types}/System/Runtime/Serialization/IDeserializationCallback.d.ts +0 -0
- /package/{csharp → types}/System/Runtime/Serialization/ISerializable.d.ts +0 -0
- /package/{csharp → types}/System/Threading/CancellationToken.d.ts +0 -0
- /package/{csharp → types}/System/Threading/CancellationTokenRegistration.d.ts +0 -0
- /package/{csharp → types}/System/Threading/CancellationTokenSource.d.ts +0 -0
- /package/{csharp → types}/System/Threading/ITimer.d.ts +0 -0
- /package/{csharp → types}/System/Threading/Tasks/ValueTask.d.ts +0 -0
- /package/{csharp → types}/System/Threading/WaitHandle.d.ts +0 -0
- /package/{csharp → types}/System/TimeProvider.d.ts +0 -0
- /package/{csharp → types}/System/TimeSpan.d.ts +0 -0
- /package/{csharp → types}/System/Windows/Media/Matrix.d.ts +0 -0
- /package/{csharp → types}/System/Windows/Point.d.ts +0 -0
- /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="./
|
|
2
|
+
/// <reference path="./objects/keyMouseScript.d.ts" />
|
|
6
3
|
|
|
7
4
|
// 地图追踪
|
|
8
|
-
/// <reference path="./
|
|
5
|
+
/// <reference path="./objects/pathingScript.d.ts" />
|
|
9
6
|
|
|
10
7
|
// 游戏内操作
|
|
11
|
-
/// <reference path="./
|
|
8
|
+
/// <reference path="./objects/genshin.d.ts" />
|
|
12
9
|
|
|
13
10
|
// 日志输出
|
|
14
|
-
/// <reference path="./
|
|
11
|
+
/// <reference path="./objects/log.d.ts" />
|
|
15
12
|
|
|
16
13
|
// 文件访问(受限)
|
|
17
|
-
/// <reference path="./
|
|
14
|
+
/// <reference path="./objects/file.d.ts" />
|
|
18
15
|
|
|
19
16
|
// 网络请求(受限)
|
|
20
|
-
/// <reference path="./
|
|
17
|
+
/// <reference path="./objects/http.d.ts" />
|
|
21
18
|
|
|
22
19
|
// 消息通知
|
|
23
|
-
/// <reference path="./
|
|
20
|
+
/// <reference path="./objects/notification.d.ts" />
|
|
24
21
|
|
|
25
22
|
// 任务调用
|
|
26
|
-
/// <reference path="./
|
|
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="./
|
|
60
|
+
/// <reference path="./objects/settings.d.ts" />
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
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 "../
|
|
2
|
-
import { KeyCode } from "../
|
|
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
|
@@ -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,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 {};
|
|
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
|
/package/{csharp → types}/BetterGenshinImpact/Core/Script/Dependence/Model/RealtimeTimer.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{csharp → types}/BetterGenshinImpact/GameTask/Model/Area/Converter/INodeConverter.d.ts
RENAMED
|
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
|
|
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
|
|
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
|