@infernus/core 0.8.7 → 0.9.1
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/dist/bundle.d.ts +1553 -1551
- package/dist/bundle.js +1 -1
- package/dist/bundle.mjs +1 -0
- package/package.json +10 -3
- package/rollup.config.mjs +5 -2
- package/.eslintrc +0 -3
- package/src/controllers/command/index.ts +0 -57
- package/src/controllers/filterscript/index.ts +0 -69
- package/src/controllers/gamemode/index.ts +0 -277
- package/src/controllers/gamemode/settings.ts +0 -3
- package/src/controllers/gametext/index.ts +0 -61
- package/src/controllers/gangzone/baseGangZone.ts +0 -284
- package/src/controllers/gangzone/gangZoneBus.ts +0 -8
- package/src/controllers/gangzone/gangZoneEvent.ts +0 -91
- package/src/controllers/gangzone/index.ts +0 -2
- package/src/controllers/i18n/index.ts +0 -81
- package/src/controllers/index.ts +0 -12
- package/src/controllers/menu/baseMenu.ts +0 -203
- package/src/controllers/menu/index.ts +0 -2
- package/src/controllers/menu/menuBus.ts +0 -8
- package/src/controllers/menu/menuEvent.ts +0 -76
- package/src/controllers/netstats/index.ts +0 -43
- package/src/controllers/npc/index.ts +0 -2
- package/src/controllers/npc/npcEvent.ts +0 -26
- package/src/controllers/npc/npcFunc.ts +0 -64
- package/src/controllers/player/basePlayer.ts +0 -980
- package/src/controllers/player/index.ts +0 -3
- package/src/controllers/player/pauseChecker.ts +0 -39
- package/src/controllers/player/playerBus.ts +0 -9
- package/src/controllers/player/playerEvent.ts +0 -468
- package/src/controllers/promise/client/index.ts +0 -31
- package/src/controllers/promise/dialog/index.ts +0 -143
- package/src/controllers/textdraw/baseTextDraw.ts +0 -416
- package/src/controllers/textdraw/index.ts +0 -2
- package/src/controllers/textdraw/textdrawBus.ts +0 -8
- package/src/controllers/textdraw/textdrawEvent.ts +0 -61
- package/src/controllers/vehicle/baseVehicle.ts +0 -503
- package/src/controllers/vehicle/index.ts +0 -2
- package/src/controllers/vehicle/vehicleBus.ts +0 -8
- package/src/controllers/vehicle/vehicleEvent.ts +0 -201
- package/src/enums/artwork.ts +0 -5
- package/src/enums/clickSources.ts +0 -3
- package/src/enums/dialogStyles.ts +0 -8
- package/src/enums/editResponseTypes.ts +0 -5
- package/src/enums/index.ts +0 -18
- package/src/enums/invalid.ts +0 -13
- package/src/enums/keys.ts +0 -25
- package/src/enums/limits.ts +0 -18
- package/src/enums/marker.ts +0 -5
- package/src/enums/netstat.ts +0 -11
- package/src/enums/npc.ts +0 -11
- package/src/enums/object.ts +0 -25
- package/src/enums/player.ts +0 -92
- package/src/enums/record.ts +0 -5
- package/src/enums/specialActions.ts +0 -22
- package/src/enums/streamer.ts +0 -10
- package/src/enums/textdrawFonts.ts +0 -23
- package/src/enums/vehicle.ts +0 -32
- package/src/enums/weapon.ts +0 -82
- package/src/interfaces/index.ts +0 -233
- package/src/logger/index.ts +0 -24
- package/src/main.ts +0 -6
- package/src/types/index.ts +0 -48
- package/src/utils/EventBus.ts +0 -60
- package/src/utils/animateUtils.ts +0 -2504
- package/src/utils/colorUtils.ts +0 -43
- package/src/utils/helperUtils.ts +0 -403
- package/src/utils/vehicleUtils.ts +0 -321
- package/src/wrapper/native/callbacks/index.ts +0 -395
- package/src/wrapper/native/functions/index.ts +0 -3131
- package/src/wrapper/streamer/3dtext/3dTextBus.ts +0 -8
- package/src/wrapper/streamer/3dtext/3dTextEvent.ts +0 -70
- package/src/wrapper/streamer/3dtext/base3DText.ts +0 -184
- package/src/wrapper/streamer/3dtext/index.ts +0 -2
- package/src/wrapper/streamer/actor/actorBus.ts +0 -8
- package/src/wrapper/streamer/actor/actorEvent.ts +0 -95
- package/src/wrapper/streamer/actor/baseActor.ts +0 -278
- package/src/wrapper/streamer/actor/index.ts +0 -2
- package/src/wrapper/streamer/area/areaBus.ts +0 -8
- package/src/wrapper/streamer/area/areaEvent.ts +0 -99
- package/src/wrapper/streamer/area/baseArea.ts +0 -450
- package/src/wrapper/streamer/area/index.ts +0 -2
- package/src/wrapper/streamer/checkpoint/baseCheckpoint.ts +0 -136
- package/src/wrapper/streamer/checkpoint/checkPointBus.ts +0 -8
- package/src/wrapper/streamer/checkpoint/checkPointEvent.ts +0 -100
- package/src/wrapper/streamer/checkpoint/index.ts +0 -2
- package/src/wrapper/streamer/common/index.ts +0 -318
- package/src/wrapper/streamer/index.ts +0 -9
- package/src/wrapper/streamer/mapIcon/baseMapIcon.ts +0 -128
- package/src/wrapper/streamer/mapIcon/index.ts +0 -2
- package/src/wrapper/streamer/mapIcon/mapIconBus.ts +0 -8
- package/src/wrapper/streamer/mapIcon/mapIconEvent.ts +0 -67
- package/src/wrapper/streamer/object/baseObject.ts +0 -415
- package/src/wrapper/streamer/object/index.ts +0 -2
- package/src/wrapper/streamer/object/objectBus.ts +0 -8
- package/src/wrapper/streamer/object/objectEvent.ts +0 -177
- package/src/wrapper/streamer/pickup/basePickup.ts +0 -114
- package/src/wrapper/streamer/pickup/index.ts +0 -2
- package/src/wrapper/streamer/pickup/pickupBus.ts +0 -8
- package/src/wrapper/streamer/pickup/pickupEvent.ts +0 -84
- package/src/wrapper/streamer/raceCP/baseRaceCP.ts +0 -151
- package/src/wrapper/streamer/raceCP/index.ts +0 -2
- package/src/wrapper/streamer/raceCP/raceCPBus.ts +0 -8
- package/src/wrapper/streamer/raceCP/raceCPEvent.ts +0 -100
- package/tsconfig.json +0 -16
- /package/{LICENSE → LICENSE.md} +0 -0
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import type { Player } from "@/controllers/player";
|
|
2
|
-
import type { TCommonCallback } from "@/types";
|
|
3
|
-
import { promisifyCallback } from "@/utils/helperUtils";
|
|
4
|
-
import { OnGameModeExit } from "@/wrapper/native/callbacks";
|
|
5
|
-
import {
|
|
6
|
-
OnPlayerEnterDynamicCP,
|
|
7
|
-
OnPlayerLeaveDynamicCP,
|
|
8
|
-
StreamerItemTypes,
|
|
9
|
-
} from "@infernus/streamer";
|
|
10
|
-
import { Streamer } from "../common";
|
|
11
|
-
import type { DynamicCheckpoint } from "./baseCheckpoint";
|
|
12
|
-
import { checkPointBus, checkPointHooks } from "./checkPointBus";
|
|
13
|
-
|
|
14
|
-
export class DynamicCheckPointEvent<
|
|
15
|
-
P extends Player,
|
|
16
|
-
C extends DynamicCheckpoint
|
|
17
|
-
> {
|
|
18
|
-
private readonly checkpoints = new Map<number, C>();
|
|
19
|
-
private readonly players;
|
|
20
|
-
|
|
21
|
-
constructor(playersMap: Map<number, P>, destroyOnExit = true) {
|
|
22
|
-
this.players = playersMap;
|
|
23
|
-
checkPointBus.on(checkPointHooks.created, (checkpoint: C) => {
|
|
24
|
-
this.checkpoints.set(checkpoint.id, checkpoint);
|
|
25
|
-
});
|
|
26
|
-
checkPointBus.on(checkPointHooks.destroyed, (checkpoint: C) => {
|
|
27
|
-
this.checkpoints.delete(checkpoint.id);
|
|
28
|
-
});
|
|
29
|
-
if (destroyOnExit) {
|
|
30
|
-
OnGameModeExit(() => {
|
|
31
|
-
this.checkpoints.forEach((c) => c.destroy());
|
|
32
|
-
this.checkpoints.clear();
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
OnPlayerEnterDynamicCP((playerid: number, checkpointid: number): number => {
|
|
37
|
-
const cp = this.checkpoints.get(checkpointid);
|
|
38
|
-
if (!cp) return 0;
|
|
39
|
-
const p = this.players.get(playerid);
|
|
40
|
-
if (!p) return 0;
|
|
41
|
-
const pFn = promisifyCallback(
|
|
42
|
-
this,
|
|
43
|
-
"onPlayerEnter",
|
|
44
|
-
"OnPlayerEnterDynamicCP"
|
|
45
|
-
);
|
|
46
|
-
return pFn(p, cp);
|
|
47
|
-
});
|
|
48
|
-
OnPlayerLeaveDynamicCP((playerid: number, checkpointid: number): number => {
|
|
49
|
-
const cp = this.checkpoints.get(checkpointid);
|
|
50
|
-
if (!cp) return 0;
|
|
51
|
-
const p = this.players.get(playerid);
|
|
52
|
-
if (!p) return 0;
|
|
53
|
-
const pFn = promisifyCallback(
|
|
54
|
-
this,
|
|
55
|
-
"onPlayerLeave",
|
|
56
|
-
"OnPlayerLeaveDynamicCP"
|
|
57
|
-
);
|
|
58
|
-
return pFn(p, cp);
|
|
59
|
-
});
|
|
60
|
-
Streamer.onItemStreamIn((type, item, player) => {
|
|
61
|
-
if (type === StreamerItemTypes.CP) {
|
|
62
|
-
const cp = this.checkpoints.get(item);
|
|
63
|
-
const p = this.players.get(player);
|
|
64
|
-
if (cp && p)
|
|
65
|
-
return promisifyCallback(
|
|
66
|
-
this,
|
|
67
|
-
"onStreamIn",
|
|
68
|
-
"Streamer_OnItemStreamIn"
|
|
69
|
-
)(cp, p);
|
|
70
|
-
}
|
|
71
|
-
return 1;
|
|
72
|
-
});
|
|
73
|
-
Streamer.onItemStreamOut((type, item, player) => {
|
|
74
|
-
if (type === StreamerItemTypes.CP) {
|
|
75
|
-
const cp = this.checkpoints.get(item);
|
|
76
|
-
const p = this.players.get(player);
|
|
77
|
-
if (cp && p)
|
|
78
|
-
return promisifyCallback(
|
|
79
|
-
this,
|
|
80
|
-
"onStreamOut",
|
|
81
|
-
"Streamer_OnItemStreamOut"
|
|
82
|
-
)(cp, p);
|
|
83
|
-
}
|
|
84
|
-
return 1;
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
onPlayerEnter?(player: P, checkpoint: C): TCommonCallback;
|
|
89
|
-
onPlayerLeave?(player: P, checkpoint: C): TCommonCallback;
|
|
90
|
-
onStreamIn?(checkpoint: C, player: P): TCommonCallback;
|
|
91
|
-
onStreamOut?(checkpoint: C, player: P): TCommonCallback;
|
|
92
|
-
|
|
93
|
-
getCheckPointsArr(): Array<C> {
|
|
94
|
-
return [...this.checkpoints.values()];
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
getCheckPointsMap(): Map<number, C> {
|
|
98
|
-
return this.checkpoints;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
@@ -1,318 +0,0 @@
|
|
|
1
|
-
import { Player } from "@/controllers/player";
|
|
2
|
-
import type { StreamerItemTypes } from "@infernus/streamer";
|
|
3
|
-
import {
|
|
4
|
-
Streamer_AmxUnloadDestroyItems,
|
|
5
|
-
Streamer_AppendArrayData,
|
|
6
|
-
Streamer_CountItems,
|
|
7
|
-
Streamer_CountVisibleItems,
|
|
8
|
-
Streamer_DestroyAllItems,
|
|
9
|
-
Streamer_DestroyAllVisibleItems,
|
|
10
|
-
Streamer_GetAllVisibleItems,
|
|
11
|
-
Streamer_GetArrayData,
|
|
12
|
-
Streamer_GetArrayDataLength,
|
|
13
|
-
Streamer_GetCellDistance,
|
|
14
|
-
Streamer_GetCellSize,
|
|
15
|
-
Streamer_GetChunkSize,
|
|
16
|
-
Streamer_GetChunkTickRate,
|
|
17
|
-
Streamer_GetDistanceToItem,
|
|
18
|
-
Streamer_GetFloatData,
|
|
19
|
-
Streamer_GetIntData,
|
|
20
|
-
Streamer_GetItemInternalID,
|
|
21
|
-
Streamer_GetItemOffset,
|
|
22
|
-
Streamer_GetItemPos,
|
|
23
|
-
Streamer_GetItemStreamerID,
|
|
24
|
-
Streamer_GetLastUpdateTime,
|
|
25
|
-
Streamer_GetMaxItems,
|
|
26
|
-
Streamer_GetNearbyItems,
|
|
27
|
-
Streamer_GetPlayerTickRate,
|
|
28
|
-
Streamer_GetRadiusMultiplier,
|
|
29
|
-
Streamer_GetTickRate,
|
|
30
|
-
Streamer_GetTypePriority,
|
|
31
|
-
Streamer_GetUpperBound,
|
|
32
|
-
Streamer_GetVisibleItems,
|
|
33
|
-
Streamer_IsInArrayData,
|
|
34
|
-
Streamer_IsItemVisible,
|
|
35
|
-
Streamer_IsToggleCameraUpdate,
|
|
36
|
-
Streamer_IsToggleChunkStream,
|
|
37
|
-
Streamer_IsToggleErrorCallback,
|
|
38
|
-
Streamer_IsToggleIdleUpdate,
|
|
39
|
-
Streamer_IsToggleItem,
|
|
40
|
-
Streamer_IsToggleItemCallbacks,
|
|
41
|
-
Streamer_IsToggleItemInvAreas,
|
|
42
|
-
Streamer_IsToggleItemStatic,
|
|
43
|
-
Streamer_IsToggleItemUpdate,
|
|
44
|
-
Streamer_OnItemStreamIn,
|
|
45
|
-
Streamer_OnItemStreamOut,
|
|
46
|
-
Streamer_OnPluginError,
|
|
47
|
-
Streamer_ProcessActiveItems,
|
|
48
|
-
Streamer_RemoveArrayData,
|
|
49
|
-
Streamer_SetArrayData,
|
|
50
|
-
Streamer_SetCellDistance,
|
|
51
|
-
Streamer_SetCellSize,
|
|
52
|
-
Streamer_SetChunkSize,
|
|
53
|
-
Streamer_SetChunkTickRate,
|
|
54
|
-
Streamer_SetFloatData,
|
|
55
|
-
Streamer_SetIntData,
|
|
56
|
-
Streamer_SetItemOffset,
|
|
57
|
-
Streamer_SetItemPos,
|
|
58
|
-
Streamer_SetMaxItems,
|
|
59
|
-
Streamer_SetPlayerTickRate,
|
|
60
|
-
Streamer_SetRadiusMultiplier,
|
|
61
|
-
Streamer_SetTickRate,
|
|
62
|
-
Streamer_SetTypePriority,
|
|
63
|
-
Streamer_SetVisibleItems,
|
|
64
|
-
Streamer_ToggleAllItems,
|
|
65
|
-
Streamer_ToggleCameraUpdate,
|
|
66
|
-
Streamer_ToggleChunkStream,
|
|
67
|
-
Streamer_ToggleErrorCallback,
|
|
68
|
-
Streamer_ToggleIdleUpdate,
|
|
69
|
-
Streamer_ToggleItem,
|
|
70
|
-
Streamer_ToggleItemCallbacks,
|
|
71
|
-
Streamer_ToggleItemInvAreas,
|
|
72
|
-
Streamer_ToggleItemStatic,
|
|
73
|
-
Streamer_ToggleItemUpdate,
|
|
74
|
-
Streamer_Update,
|
|
75
|
-
Streamer_UpdateEx,
|
|
76
|
-
} from "@infernus/streamer";
|
|
77
|
-
|
|
78
|
-
export class Streamer {
|
|
79
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
80
|
-
private constructor() {}
|
|
81
|
-
static getTickRate = Streamer_GetTickRate;
|
|
82
|
-
static setTickRate = Streamer_SetTickRate;
|
|
83
|
-
static getPlayerTickRate<P extends Player>(player: P): number {
|
|
84
|
-
return Streamer_GetPlayerTickRate(player.id);
|
|
85
|
-
}
|
|
86
|
-
static setPlayerTickRate<P extends Player>(player: P, rate = 50): number {
|
|
87
|
-
return Streamer_SetPlayerTickRate(player.id, rate);
|
|
88
|
-
}
|
|
89
|
-
static toggleChunkStream = Streamer_ToggleChunkStream;
|
|
90
|
-
static isToggleChunkStream = Streamer_IsToggleChunkStream;
|
|
91
|
-
static getChunkTickRate<P extends Player>(
|
|
92
|
-
type: StreamerItemTypes,
|
|
93
|
-
player: number | P = -1
|
|
94
|
-
): number {
|
|
95
|
-
if (player instanceof Player) {
|
|
96
|
-
return Streamer_GetChunkTickRate(type, player.id);
|
|
97
|
-
}
|
|
98
|
-
return Streamer_GetChunkTickRate(type, player);
|
|
99
|
-
}
|
|
100
|
-
static setChunkTickRate<P extends Player>(
|
|
101
|
-
type: StreamerItemTypes,
|
|
102
|
-
rate: number,
|
|
103
|
-
player: number | P = -1
|
|
104
|
-
): number {
|
|
105
|
-
if (player instanceof Player) {
|
|
106
|
-
return Streamer_SetChunkTickRate(type, rate, player.id);
|
|
107
|
-
}
|
|
108
|
-
return Streamer_SetChunkTickRate(type, rate, player);
|
|
109
|
-
}
|
|
110
|
-
static getChunkSize = Streamer_GetChunkSize;
|
|
111
|
-
static setChunkSize = Streamer_SetChunkSize;
|
|
112
|
-
static getMaxItems = Streamer_GetMaxItems;
|
|
113
|
-
static setMaxItems = Streamer_SetMaxItems;
|
|
114
|
-
static getVisibleItems<P extends Player>(
|
|
115
|
-
type: StreamerItemTypes,
|
|
116
|
-
player: number | P = -1
|
|
117
|
-
): number {
|
|
118
|
-
if (player instanceof Player) {
|
|
119
|
-
return Streamer_GetVisibleItems(type, player.id);
|
|
120
|
-
}
|
|
121
|
-
return Streamer_GetVisibleItems(type, player);
|
|
122
|
-
}
|
|
123
|
-
static setVisibleItems<P extends Player>(
|
|
124
|
-
type: StreamerItemTypes,
|
|
125
|
-
items: number,
|
|
126
|
-
player: number | P = -1
|
|
127
|
-
): number {
|
|
128
|
-
if (player instanceof Player) {
|
|
129
|
-
return Streamer_SetVisibleItems(type, items, player.id);
|
|
130
|
-
}
|
|
131
|
-
return Streamer_SetVisibleItems(type, items, player);
|
|
132
|
-
}
|
|
133
|
-
static getRadiusMultiplier<P extends Player>(
|
|
134
|
-
type: StreamerItemTypes,
|
|
135
|
-
player: number | P = -1
|
|
136
|
-
): number {
|
|
137
|
-
if (player instanceof Player) {
|
|
138
|
-
return Streamer_GetRadiusMultiplier(type, player.id);
|
|
139
|
-
}
|
|
140
|
-
return Streamer_GetRadiusMultiplier(type, player);
|
|
141
|
-
}
|
|
142
|
-
static setRadiusMultiplier<P extends Player>(
|
|
143
|
-
type: StreamerItemTypes,
|
|
144
|
-
multiplier: number,
|
|
145
|
-
player: number | P = -1
|
|
146
|
-
): number {
|
|
147
|
-
if (player instanceof Player) {
|
|
148
|
-
return Streamer_SetRadiusMultiplier(type, player.id);
|
|
149
|
-
}
|
|
150
|
-
return Streamer_SetRadiusMultiplier(type, multiplier, player);
|
|
151
|
-
}
|
|
152
|
-
static getTypePriority = Streamer_GetTypePriority;
|
|
153
|
-
static setTypePriority = Streamer_SetTypePriority;
|
|
154
|
-
static getCellDistance = Streamer_GetCellDistance;
|
|
155
|
-
static setCellDistance = Streamer_SetCellDistance;
|
|
156
|
-
static getCellSize = Streamer_GetCellSize;
|
|
157
|
-
static setCellSize = Streamer_SetCellSize;
|
|
158
|
-
static toggleItemStatic = Streamer_ToggleItemStatic;
|
|
159
|
-
static isToggleItemStatic = Streamer_IsToggleItemStatic;
|
|
160
|
-
static toggleItemInvAreas = Streamer_ToggleItemInvAreas;
|
|
161
|
-
static isToggleItemInvAreas = Streamer_IsToggleItemInvAreas;
|
|
162
|
-
static toggleItemCallbacks = Streamer_ToggleItemCallbacks;
|
|
163
|
-
static isToggleItemCallbacks = Streamer_IsToggleItemCallbacks;
|
|
164
|
-
static toggleErrorCallback = Streamer_ToggleErrorCallback;
|
|
165
|
-
static isToggleErrorCallback = Streamer_IsToggleErrorCallback;
|
|
166
|
-
static amxUnloadDestroyItems = Streamer_AmxUnloadDestroyItems;
|
|
167
|
-
static processActiveItems = Streamer_ProcessActiveItems;
|
|
168
|
-
static toggleIdleUpdate<P extends Player>(
|
|
169
|
-
player: P,
|
|
170
|
-
toggle: boolean
|
|
171
|
-
): number {
|
|
172
|
-
return Streamer_ToggleIdleUpdate(player.id, toggle);
|
|
173
|
-
}
|
|
174
|
-
static isToggleIdleUpdate<P extends Player>(player: P): boolean {
|
|
175
|
-
return Streamer_IsToggleIdleUpdate(player.id);
|
|
176
|
-
}
|
|
177
|
-
static toggleCameraUpdate<P extends Player>(
|
|
178
|
-
player: P,
|
|
179
|
-
toggle: boolean
|
|
180
|
-
): number {
|
|
181
|
-
return Streamer_ToggleCameraUpdate(player.id, toggle);
|
|
182
|
-
}
|
|
183
|
-
static isToggleCameraUpdate<P extends Player>(player: P): boolean {
|
|
184
|
-
return Streamer_IsToggleCameraUpdate(player.id);
|
|
185
|
-
}
|
|
186
|
-
static toggleItemUpdate<P extends Player>(
|
|
187
|
-
player: P,
|
|
188
|
-
type: StreamerItemTypes,
|
|
189
|
-
toggle: boolean
|
|
190
|
-
): number {
|
|
191
|
-
return Streamer_ToggleItemUpdate(player.id, type, toggle);
|
|
192
|
-
}
|
|
193
|
-
static isToggleItemUpdate<P extends Player>(
|
|
194
|
-
player: P,
|
|
195
|
-
type: StreamerItemTypes
|
|
196
|
-
): boolean {
|
|
197
|
-
return Streamer_IsToggleItemUpdate(player.id, type);
|
|
198
|
-
}
|
|
199
|
-
static getLastUpdateTime(): number {
|
|
200
|
-
return Streamer_GetLastUpdateTime();
|
|
201
|
-
}
|
|
202
|
-
static update<P extends Player>(
|
|
203
|
-
player: P,
|
|
204
|
-
type: StreamerItemTypes | -1 = -1
|
|
205
|
-
): number {
|
|
206
|
-
return Streamer_Update(player.id, type);
|
|
207
|
-
}
|
|
208
|
-
static updateEx<P extends Player>(
|
|
209
|
-
player: P,
|
|
210
|
-
x: number,
|
|
211
|
-
y: number,
|
|
212
|
-
z: number,
|
|
213
|
-
worldid?: number,
|
|
214
|
-
interiorid?: number,
|
|
215
|
-
type?: StreamerItemTypes | -1,
|
|
216
|
-
compensatedtime?: number,
|
|
217
|
-
freezeplayer?: boolean
|
|
218
|
-
): number {
|
|
219
|
-
return Streamer_UpdateEx(
|
|
220
|
-
player.id,
|
|
221
|
-
x,
|
|
222
|
-
y,
|
|
223
|
-
z,
|
|
224
|
-
worldid,
|
|
225
|
-
interiorid,
|
|
226
|
-
type,
|
|
227
|
-
compensatedtime,
|
|
228
|
-
freezeplayer
|
|
229
|
-
);
|
|
230
|
-
}
|
|
231
|
-
static getDistanceToItem = Streamer_GetDistanceToItem;
|
|
232
|
-
static toggleItem<P extends Player>(
|
|
233
|
-
player: P,
|
|
234
|
-
type: StreamerItemTypes,
|
|
235
|
-
id: number,
|
|
236
|
-
toggle: boolean
|
|
237
|
-
): number {
|
|
238
|
-
return Streamer_ToggleItem(player.id, type, id, toggle);
|
|
239
|
-
}
|
|
240
|
-
static isToggleItem<P extends Player>(
|
|
241
|
-
player: P,
|
|
242
|
-
type: StreamerItemTypes,
|
|
243
|
-
id: number
|
|
244
|
-
): boolean {
|
|
245
|
-
return Streamer_IsToggleItem(player.id, type, id);
|
|
246
|
-
}
|
|
247
|
-
static toggleAllItems<P extends Player>(
|
|
248
|
-
player: P,
|
|
249
|
-
type: StreamerItemTypes,
|
|
250
|
-
toggle: boolean,
|
|
251
|
-
exceptions: number[] = [-1]
|
|
252
|
-
): number {
|
|
253
|
-
return Streamer_ToggleAllItems(player.id, type, toggle, exceptions);
|
|
254
|
-
}
|
|
255
|
-
static getItemInternalID<P extends Player>(
|
|
256
|
-
player: P,
|
|
257
|
-
type: StreamerItemTypes,
|
|
258
|
-
streamerid: number
|
|
259
|
-
): number {
|
|
260
|
-
return Streamer_GetItemInternalID(player.id, type, streamerid);
|
|
261
|
-
}
|
|
262
|
-
static getItemStreamerID<P extends Player>(
|
|
263
|
-
player: P,
|
|
264
|
-
type: StreamerItemTypes,
|
|
265
|
-
internalid: number
|
|
266
|
-
): number {
|
|
267
|
-
return Streamer_GetItemStreamerID(player.id, type, internalid);
|
|
268
|
-
}
|
|
269
|
-
static isItemVisible<P extends Player>(
|
|
270
|
-
player: P,
|
|
271
|
-
type: StreamerItemTypes,
|
|
272
|
-
id: number
|
|
273
|
-
): boolean {
|
|
274
|
-
return Streamer_IsItemVisible(player.id, type, id);
|
|
275
|
-
}
|
|
276
|
-
static destroyAllVisibleItems<P extends Player>(
|
|
277
|
-
player: P,
|
|
278
|
-
type: StreamerItemTypes,
|
|
279
|
-
serverwide = 1
|
|
280
|
-
): number {
|
|
281
|
-
return Streamer_DestroyAllVisibleItems(player.id, type, serverwide);
|
|
282
|
-
}
|
|
283
|
-
static countVisibleItems<P extends Player>(
|
|
284
|
-
player: P,
|
|
285
|
-
type: StreamerItemTypes,
|
|
286
|
-
serverwide = 1
|
|
287
|
-
): number {
|
|
288
|
-
return Streamer_CountVisibleItems(player.id, type, serverwide);
|
|
289
|
-
}
|
|
290
|
-
static destroyAllItems = Streamer_DestroyAllItems;
|
|
291
|
-
static countItems = Streamer_CountItems;
|
|
292
|
-
static getNearbyItems = Streamer_GetNearbyItems;
|
|
293
|
-
static getAllVisibleItems<P extends Player>(
|
|
294
|
-
player: P,
|
|
295
|
-
type: StreamerItemTypes,
|
|
296
|
-
items: number[]
|
|
297
|
-
): void {
|
|
298
|
-
Streamer_GetAllVisibleItems(player.id, type, items);
|
|
299
|
-
}
|
|
300
|
-
static getItemPos = Streamer_GetItemPos;
|
|
301
|
-
static setItemPos = Streamer_SetItemPos;
|
|
302
|
-
static getItemOffset = Streamer_GetItemOffset;
|
|
303
|
-
static setItemOffset = Streamer_SetItemOffset;
|
|
304
|
-
static getFloatData = Streamer_GetFloatData;
|
|
305
|
-
static setFloatData = Streamer_SetFloatData;
|
|
306
|
-
static getIntData = Streamer_GetIntData;
|
|
307
|
-
static setIntData = Streamer_SetIntData;
|
|
308
|
-
static getArrayData = Streamer_GetArrayData;
|
|
309
|
-
static setArrayData = Streamer_SetArrayData;
|
|
310
|
-
static isInArrayData = Streamer_IsInArrayData;
|
|
311
|
-
static appendArrayData = Streamer_AppendArrayData;
|
|
312
|
-
static removeArrayData = Streamer_RemoveArrayData;
|
|
313
|
-
static getArrayDataLength = Streamer_GetArrayDataLength;
|
|
314
|
-
static getUpperBound = Streamer_GetUpperBound;
|
|
315
|
-
static onItemStreamIn = Streamer_OnItemStreamIn;
|
|
316
|
-
static onItemStreamOut = Streamer_OnItemStreamOut;
|
|
317
|
-
static onPluginError = Streamer_OnPluginError;
|
|
318
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import type { IDynamicMapIcon } from "@/interfaces";
|
|
2
|
-
import { logger } from "@/logger";
|
|
3
|
-
import { rgba } from "@/utils/colorUtils";
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
IsValidDynamicMapIcon,
|
|
7
|
-
DestroyDynamicMapIcon,
|
|
8
|
-
StreamerDistances,
|
|
9
|
-
CreateDynamicMapIconEx,
|
|
10
|
-
CreateDynamicMapIcon,
|
|
11
|
-
MapIconStyles,
|
|
12
|
-
StreamerItemTypes,
|
|
13
|
-
} from "@infernus/streamer";
|
|
14
|
-
import { Streamer } from "../common";
|
|
15
|
-
import { mapIconBus, mapIconHooks } from "./mapIconBus";
|
|
16
|
-
|
|
17
|
-
export class DynamicMapIcon {
|
|
18
|
-
private sourceInfo: IDynamicMapIcon;
|
|
19
|
-
private _id = -1;
|
|
20
|
-
get id(): number {
|
|
21
|
-
return this._id;
|
|
22
|
-
}
|
|
23
|
-
constructor(mapIcon: IDynamicMapIcon) {
|
|
24
|
-
this.sourceInfo = mapIcon;
|
|
25
|
-
}
|
|
26
|
-
create(): void | this {
|
|
27
|
-
if (this.id !== -1)
|
|
28
|
-
return logger.warn("[StreamerMapIcon]: Unable to create map icon again");
|
|
29
|
-
let {
|
|
30
|
-
style,
|
|
31
|
-
streamdistance,
|
|
32
|
-
worldid,
|
|
33
|
-
interiorid,
|
|
34
|
-
playerid,
|
|
35
|
-
areaid,
|
|
36
|
-
priority,
|
|
37
|
-
} = this.sourceInfo;
|
|
38
|
-
const { x, y, z, type, colour, extended } = this.sourceInfo;
|
|
39
|
-
|
|
40
|
-
if (type < 0 || type > 63)
|
|
41
|
-
return logger.error("[StreamerMapIcon]: Invalid map icon type");
|
|
42
|
-
|
|
43
|
-
style ??= MapIconStyles.LOCAL;
|
|
44
|
-
streamdistance ??= StreamerDistances.MAP_ICON_SD;
|
|
45
|
-
priority ??= 0;
|
|
46
|
-
|
|
47
|
-
if (extended) {
|
|
48
|
-
if (typeof worldid === "number") worldid = [-1];
|
|
49
|
-
else worldid ??= [-1];
|
|
50
|
-
if (typeof interiorid === "number") interiorid = [-1];
|
|
51
|
-
else interiorid ??= [-1];
|
|
52
|
-
if (typeof playerid === "number") playerid = [-1];
|
|
53
|
-
else playerid ??= [-1];
|
|
54
|
-
if (typeof areaid === "number") areaid = [-1];
|
|
55
|
-
else areaid ??= [-1];
|
|
56
|
-
|
|
57
|
-
this._id = CreateDynamicMapIconEx(
|
|
58
|
-
x,
|
|
59
|
-
y,
|
|
60
|
-
z,
|
|
61
|
-
type,
|
|
62
|
-
rgba(colour),
|
|
63
|
-
style,
|
|
64
|
-
streamdistance,
|
|
65
|
-
worldid,
|
|
66
|
-
interiorid,
|
|
67
|
-
playerid,
|
|
68
|
-
areaid,
|
|
69
|
-
priority
|
|
70
|
-
);
|
|
71
|
-
mapIconBus.emit(mapIconHooks.created, this);
|
|
72
|
-
return this;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (Array.isArray(worldid)) worldid = -1;
|
|
76
|
-
else worldid ??= -1;
|
|
77
|
-
if (Array.isArray(interiorid)) interiorid = -1;
|
|
78
|
-
else interiorid ??= -1;
|
|
79
|
-
if (Array.isArray(playerid)) playerid = -1;
|
|
80
|
-
else playerid ??= -1;
|
|
81
|
-
if (Array.isArray(areaid)) areaid = -1;
|
|
82
|
-
else areaid ??= -1;
|
|
83
|
-
|
|
84
|
-
this._id = CreateDynamicMapIcon(
|
|
85
|
-
x,
|
|
86
|
-
y,
|
|
87
|
-
z,
|
|
88
|
-
type,
|
|
89
|
-
rgba(colour),
|
|
90
|
-
worldid,
|
|
91
|
-
interiorid,
|
|
92
|
-
playerid,
|
|
93
|
-
streamdistance,
|
|
94
|
-
style,
|
|
95
|
-
areaid,
|
|
96
|
-
priority
|
|
97
|
-
);
|
|
98
|
-
mapIconBus.emit(mapIconHooks.created, this);
|
|
99
|
-
return this;
|
|
100
|
-
}
|
|
101
|
-
destroy(): void | this {
|
|
102
|
-
if (this.id === -1)
|
|
103
|
-
return logger.warn(
|
|
104
|
-
"[StreamerMapIcon]: Unable to destroy the map icon before create"
|
|
105
|
-
);
|
|
106
|
-
DestroyDynamicMapIcon(this.id);
|
|
107
|
-
mapIconBus.emit(mapIconHooks.destroyed, this);
|
|
108
|
-
return this;
|
|
109
|
-
}
|
|
110
|
-
isValid(): boolean {
|
|
111
|
-
return IsValidDynamicMapIcon(this.id);
|
|
112
|
-
}
|
|
113
|
-
toggleCallbacks(toggle = true): void | number {
|
|
114
|
-
if (this.id === -1)
|
|
115
|
-
return logger.warn(
|
|
116
|
-
"[StreamerMapIcon]: Unable to toggle callbacks before create"
|
|
117
|
-
);
|
|
118
|
-
return Streamer.toggleItemCallbacks(
|
|
119
|
-
StreamerItemTypes.MAP_ICON,
|
|
120
|
-
this.id,
|
|
121
|
-
toggle
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
isToggleCallbacks(): boolean {
|
|
125
|
-
if (this.id === -1) false;
|
|
126
|
-
return Streamer.isToggleItemCallbacks(StreamerItemTypes.MAP_ICON, this.id);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import type { Player } from "@/controllers/player";
|
|
2
|
-
import type { TCommonCallback } from "@/types";
|
|
3
|
-
import { promisifyCallback } from "@/utils/helperUtils";
|
|
4
|
-
import { OnGameModeExit } from "@/wrapper/native/callbacks";
|
|
5
|
-
import { StreamerItemTypes } from "@infernus/streamer";
|
|
6
|
-
import { Streamer } from "../common";
|
|
7
|
-
import type { DynamicMapIcon } from "./baseMapIcon";
|
|
8
|
-
|
|
9
|
-
import { mapIconBus, mapIconHooks } from "./mapIconBus";
|
|
10
|
-
|
|
11
|
-
export class DynamicMapIconEvent<P extends Player, M extends DynamicMapIcon> {
|
|
12
|
-
private readonly mapIcons = new Map<number, M>();
|
|
13
|
-
private readonly players;
|
|
14
|
-
|
|
15
|
-
constructor(playersMap: Map<number, P>, destroyOnExit = true) {
|
|
16
|
-
this.players = playersMap;
|
|
17
|
-
mapIconBus.on(mapIconHooks.created, (mapIcon: M) => {
|
|
18
|
-
this.mapIcons.set(mapIcon.id, mapIcon);
|
|
19
|
-
});
|
|
20
|
-
mapIconBus.on(mapIconHooks.destroyed, (mapIcon: M) => {
|
|
21
|
-
this.mapIcons.delete(mapIcon.id);
|
|
22
|
-
});
|
|
23
|
-
if (destroyOnExit) {
|
|
24
|
-
OnGameModeExit(() => {
|
|
25
|
-
this.mapIcons.forEach((c) => c.destroy());
|
|
26
|
-
this.mapIcons.clear();
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
Streamer.onItemStreamIn((type, item, player) => {
|
|
30
|
-
if (type === StreamerItemTypes.MAP_ICON) {
|
|
31
|
-
const mi = this.mapIcons.get(item);
|
|
32
|
-
const p = this.players.get(player);
|
|
33
|
-
if (mi && p)
|
|
34
|
-
return promisifyCallback(
|
|
35
|
-
this,
|
|
36
|
-
"onStreamIn",
|
|
37
|
-
"Streamer_OnItemStreamIn"
|
|
38
|
-
)(mi, p);
|
|
39
|
-
}
|
|
40
|
-
return 1;
|
|
41
|
-
});
|
|
42
|
-
Streamer.onItemStreamOut((type, item, player) => {
|
|
43
|
-
if (type === StreamerItemTypes.MAP_ICON) {
|
|
44
|
-
const mi = this.mapIcons.get(item);
|
|
45
|
-
const p = this.players.get(player);
|
|
46
|
-
if (mi && p)
|
|
47
|
-
return promisifyCallback(
|
|
48
|
-
this,
|
|
49
|
-
"onStreamOut",
|
|
50
|
-
"Streamer_OnItemStreamOut"
|
|
51
|
-
)(mi, p);
|
|
52
|
-
}
|
|
53
|
-
return 1;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
onStreamIn?(mapIcon: M, player: P): TCommonCallback;
|
|
58
|
-
onStreamOut?(mapIcon: M, player: P): TCommonCallback;
|
|
59
|
-
|
|
60
|
-
getMapIconsArr(): Array<M> {
|
|
61
|
-
return [...this.mapIcons.values()];
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
getMapIconsMap(): Map<number, M> {
|
|
65
|
-
return this.mapIcons;
|
|
66
|
-
}
|
|
67
|
-
}
|