@wayward/types 2.14.3-beta.dev.20241223.1 → 2.14.3-beta.dev.20241224.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/definitions/game/event/EventBuses.d.ts +12 -8
- package/definitions/game/event/EventManager.d.ts +5 -4
- package/definitions/game/game/entity/Entity.d.ts +8 -7
- package/definitions/game/game/entity/IEntity.d.ts +2 -1
- package/definitions/game/game/entity/npc/NPC.d.ts +0 -1
- package/definitions/game/game/inspection/InfoProvider.d.ts +2 -1
- package/definitions/game/game/inspection/InspectionsHandler.d.ts +2 -1
- package/definitions/game/mod/IMod.d.ts +2 -1
- package/definitions/game/renderer/world/WorldRenderer.d.ts +4 -0
- package/definitions/game/ui/component/ContextMenu.d.ts +1 -1
- package/definitions/game/ui/component/IComponent.d.ts +2 -1
- package/definitions/game/ui/screen/screens/game/component/ItemComponent.d.ts +2 -43
- package/definitions/game/ui/screen/screens/game/component/item/ItemComponentEventBus.d.ts +36 -0
- package/definitions/game/ui/screen/screens/game/component/item/ItemComponentHandler.d.ts +46 -0
- package/definitions/game/ui/screen/screens/game/component/item/ItemComponentTradeManager.d.ts +32 -0
- package/definitions/game/ui/screen/screens/game/dialog/EquipmentDialog.d.ts +2 -2
- package/definitions/game/ui/screen/screens/game/static/actions/ActionSlot.d.ts +3 -2
- package/definitions/game/ui/screen/screens/game/static/actions/ActionSlotConfigurationColumn.d.ts +2 -1
- package/definitions/utilities/collection/map/IterableWeakMap.d.ts +35 -0
- package/definitions/utilities/event/EventEmitter.d.ts +27 -3
- package/definitions/utilities/event/EventManager.d.ts +11 -1
- package/package.json +1 -1
@@ -44,6 +44,7 @@ import type SaveManager from "@wayward/game/save/SaveManager";
|
|
44
44
|
import type Steamworks from "@wayward/game/steamworks/Steamworks";
|
45
45
|
import type ScreenManager from "@wayward/game/ui/screen/ScreenManager";
|
46
46
|
import type GameScreen from "@wayward/game/ui/screen/screens/GameScreen";
|
47
|
+
import type ItemComponentEventBus from "@wayward/game/ui/screen/screens/game/component/item/ItemComponentEventBus";
|
47
48
|
import type ActionBar from "@wayward/game/ui/screen/screens/game/static/ActionBar";
|
48
49
|
import type HoveredTileTracker from "@wayward/game/ui/screen/screens/game/util/HoveredTileTracker";
|
49
50
|
import type ActionMenuHandler from "@wayward/game/ui/screen/screens/game/util/movement/ActionMenuHandler";
|
@@ -93,10 +94,11 @@ export declare enum EventBus {
|
|
93
94
|
UiGameScreen = 38,
|
94
95
|
UiHoveredTileTracker = 39,
|
95
96
|
UiInteractionManager = 40,
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
97
|
+
UiItemComponentStatic = 41,
|
98
|
+
UiMovementHandler = 42,
|
99
|
+
UiPathingHandler = 43,
|
100
|
+
UsableActions = 44,
|
101
|
+
WorldRenderer = 45
|
100
102
|
}
|
101
103
|
declare const eventBuses: {
|
102
104
|
[EventBus.Actions](): ActionExecutor<any, any, any, any, any>;
|
@@ -140,6 +142,7 @@ declare const eventBuses: {
|
|
140
142
|
[EventBus.UiGameScreen](): GameScreen;
|
141
143
|
[EventBus.UiHoveredTileTracker](): HoveredTileTracker;
|
142
144
|
[EventBus.UiInteractionManager](): InteractionManager;
|
145
|
+
[EventBus.UiItemComponentStatic](): ItemComponentEventBus;
|
143
146
|
[EventBus.UiMovementHandler](): MovementHandler;
|
144
147
|
[EventBus.UiPathingHandler](): PathingHandler;
|
145
148
|
[EventBus.UsableActions](): UsableAction;
|
@@ -188,10 +191,11 @@ export declare const eventBusManager: EventBusManager<EventBus, {
|
|
188
191
|
38(): GameScreen;
|
189
192
|
39(): HoveredTileTracker;
|
190
193
|
40(): InteractionManager;
|
191
|
-
41():
|
192
|
-
42():
|
193
|
-
43():
|
194
|
-
44():
|
194
|
+
41(): ItemComponentEventBus;
|
195
|
+
42(): MovementHandler;
|
196
|
+
43(): PathingHandler;
|
197
|
+
44(): UsableAction;
|
198
|
+
45(): WorldRenderer;
|
195
199
|
}>;
|
196
200
|
/**
|
197
201
|
* For backwards compat / ease of use
|
@@ -57,10 +57,11 @@ export declare const eventManager: EventManager<EventBus, {
|
|
57
57
|
38(): import("../ui/screen/screens/GameScreen").default;
|
58
58
|
39(): import("../ui/screen/screens/game/util/HoveredTileTracker").default;
|
59
59
|
40(): import("../ui/screen/screens/game/util/movement/InteractionManager").default;
|
60
|
-
41(): import("../ui/screen/screens/game/
|
61
|
-
42(): import("../ui/screen/screens/game/util/movement/
|
62
|
-
43(): import("../game/
|
63
|
-
44(): import("../
|
60
|
+
41(): import("../ui/screen/screens/game/component/item/ItemComponentEventBus").default;
|
61
|
+
42(): import("../ui/screen/screens/game/util/movement/MovementHandler").default;
|
62
|
+
43(): import("../ui/screen/screens/game/util/movement/PathingHandler").default;
|
63
|
+
44(): import("../game/entity/action/usable/UsableAction").default;
|
64
|
+
45(): import("../renderer/world/WorldRenderer").WorldRenderer;
|
64
65
|
}>;
|
65
66
|
/**
|
66
67
|
* EventHandler that is typed with the games event buses
|
@@ -34,6 +34,7 @@ import type TileEvent from "@wayward/game/game/tile/TileEvent";
|
|
34
34
|
import { type ISerializedTranslation } from "@wayward/game/language/ITranslation";
|
35
35
|
import type Translation from "@wayward/game/language/Translation";
|
36
36
|
import type { RenderSource, UpdateRenderFlag } from "@wayward/game/renderer/IRenderer";
|
37
|
+
import type { Renderer } from "@wayward/game/renderer/Renderer";
|
37
38
|
import type { INotificationLocation, ItemNotifierType, MarkerIconType, StatNotificationType } from "@wayward/game/renderer/notifier/INotifier";
|
38
39
|
import type { IVector3 } from "@wayward/game/utilities/math/IVector";
|
39
40
|
import type { IVector4 } from "@wayward/game/utilities/math/Vector4";
|
@@ -44,21 +45,18 @@ export default abstract class Entity<DescriptionType = unknown, TypeType extends
|
|
44
45
|
abstract readonly tileUpdateType: TileUpdateType;
|
45
46
|
id: number;
|
46
47
|
type: TypeType;
|
48
|
+
historicalActions?: PartialRecord<ActionType, number>;
|
47
49
|
referenceId?: number;
|
48
50
|
renamed?: string | ISerializedTranslation;
|
49
51
|
x: number;
|
50
52
|
y: number;
|
51
53
|
z: WorldZ;
|
52
54
|
private _data?;
|
55
|
+
private _persistentMarker?;
|
56
|
+
private _persistentMarkerHidden?;
|
53
57
|
private _tags?;
|
54
|
-
historicalActions?: PartialRecord<ActionType, number>;
|
55
58
|
islandId: IslandId;
|
56
59
|
preventRendering?: boolean;
|
57
|
-
/**
|
58
|
-
* Notifier marker assigned to this entity
|
59
|
-
*/
|
60
|
-
private persistentMarker;
|
61
|
-
private persistentMarkerHidden;
|
62
60
|
private _humansWithinBound?;
|
63
61
|
/**
|
64
62
|
* Cached tile the entity is on.
|
@@ -119,7 +117,10 @@ export default abstract class Entity<DescriptionType = unknown, TypeType extends
|
|
119
117
|
updateView(source: RenderSource, updateFov?: boolean | UpdateRenderFlag.FieldOfView | UpdateRenderFlag.FieldOfViewSkipTransition): void;
|
120
118
|
notifyItem(itemNotifierType: ItemNotifierType, item: Item): void;
|
121
119
|
notifyStat(type: StatNotificationType, value: number): void;
|
122
|
-
|
120
|
+
/**
|
121
|
+
* This is called clientside the first time the renderer seens the entity
|
122
|
+
*/
|
123
|
+
onFirstRender(renderer: Renderer): void;
|
123
124
|
getCurrentMarkerIconType(): MarkerIconType | undefined;
|
124
125
|
setMarkerIconHidden(hidden: boolean): void;
|
125
126
|
addMarkerIcon(type: MarkerIconType): void;
|
@@ -25,7 +25,8 @@ import type Item from "@wayward/game/game/item/Item";
|
|
25
25
|
import type Tile from "@wayward/game/game/tile/Tile";
|
26
26
|
import type TileEvent from "@wayward/game/game/tile/TileEvent";
|
27
27
|
import type { Direction } from "@wayward/game/utilities/math/Direction";
|
28
|
-
|
28
|
+
import type { IEventSubscriberEvents } from "@wayward/utilities/event/EventEmitter";
|
29
|
+
export interface IEntityEvents extends IEventSubscriberEvents {
|
29
30
|
/**
|
30
31
|
* Called when an entity is killed by another entity.
|
31
32
|
*/
|
@@ -76,7 +76,6 @@ export default abstract class NPC extends Human<INPCDescription, NPCType, Refere
|
|
76
76
|
addMilestone(): void;
|
77
77
|
protected getStatusApplicability(): StatusApplicability | undefined;
|
78
78
|
get isValid(): boolean;
|
79
|
-
load(): void;
|
80
79
|
/**
|
81
80
|
* Creates inventory, equips items, and scales stats
|
82
81
|
*/
|
@@ -21,8 +21,9 @@ import type { ISerializedImagePath } from "@wayward/game/ui/util/ImagePath";
|
|
21
21
|
import ImagePath from "@wayward/game/ui/util/ImagePath";
|
22
22
|
import BaseObserver from "@wayward/game/utilities/Observer";
|
23
23
|
import type { IStringSection } from "@wayward/game/utilities/string/Interpolator";
|
24
|
+
import type { IEventSubscriberEvents } from "@wayward/utilities/event/EventEmitter";
|
24
25
|
import EventEmitter from "@wayward/utilities/event/EventEmitter";
|
25
|
-
export interface IInfoProviderEvents {
|
26
|
+
export interface IInfoProviderEvents extends IEventSubscriberEvents {
|
26
27
|
/**
|
27
28
|
* Should be emitted when the info provider is starting to initialize its component.
|
28
29
|
*/
|
@@ -13,8 +13,9 @@ import type { InfoProviderContext } from "@wayward/game/game/inspection/InfoProv
|
|
13
13
|
import type Inspection from "@wayward/game/game/inspection/Inspection";
|
14
14
|
import type { ResolvedInspection } from "@wayward/game/game/inspection/InspectionTypeMap";
|
15
15
|
import HashSet from "@wayward/utilities/collection/set/HashSet";
|
16
|
+
import type { IEventSubscriberEvents } from "@wayward/utilities/event/EventEmitter";
|
16
17
|
import EventEmitter from "@wayward/utilities/event/EventEmitter";
|
17
|
-
export interface IInspectionsHandlerEvents {
|
18
|
+
export interface IInspectionsHandlerEvents extends IEventSubscriberEvents {
|
18
19
|
updatedInspections(type: InspectType, newInspections: HashSet<Inspection<any>>, oldInspections?: HashSet<Inspection<any>>): any;
|
19
20
|
}
|
20
21
|
export default abstract class InspectionsHandler extends EventEmitter.Host<IInspectionsHandlerEvents> {
|
@@ -9,6 +9,7 @@
|
|
9
9
|
* https://github.com/WaywardGame/types/wiki
|
10
10
|
*/
|
11
11
|
import type Version from "@wayward/game/utilities/Version";
|
12
|
+
import type { IEventSubscriberEvents } from "@wayward/utilities/event/EventEmitter";
|
12
13
|
export declare enum MultiplayerCompatibility {
|
13
14
|
Clientside = "clientside",
|
14
15
|
Serverside = "serverside",
|
@@ -35,7 +36,7 @@ export interface IModConfig {
|
|
35
36
|
readonly github?: string;
|
36
37
|
readonly saveGameData?: boolean;
|
37
38
|
}
|
38
|
-
export interface IModEvents {
|
39
|
+
export interface IModEvents extends IEventSubscriberEvents {
|
39
40
|
unload(): any;
|
40
41
|
initialize(): any;
|
41
42
|
uninitialize(): any;
|
@@ -144,6 +144,10 @@ export declare class WorldRenderer extends EventEmitter.Host<IWorldRendererEvent
|
|
144
144
|
private overlayBatch;
|
145
145
|
private vehicleBatch;
|
146
146
|
private readonly entitiesInViewport;
|
147
|
+
/**
|
148
|
+
* A set of entities seen before (rendered on screen at least once)
|
149
|
+
*/
|
150
|
+
private entititiesRenderedBefore;
|
147
151
|
private viewportSpritesDirty;
|
148
152
|
private cachedBounds;
|
149
153
|
private cachedBoundsTimestamp;
|
@@ -14,7 +14,7 @@ import Component from "@wayward/game/ui/component/Component";
|
|
14
14
|
import type { TranslationGenerator } from "@wayward/game/ui/component/IComponent";
|
15
15
|
import Text, { Heading } from "@wayward/game/ui/component/Text";
|
16
16
|
import Bindable from "@wayward/game/ui/input/Bindable";
|
17
|
-
import type { ItemComponentHandler } from "@wayward/game/ui/screen/screens/game/component/
|
17
|
+
import type { ItemComponentHandler } from "@wayward/game/ui/screen/screens/game/component/item/ItemComponentHandler";
|
18
18
|
import type Tooltip from "@wayward/game/ui/tooltip/Tooltip";
|
19
19
|
import type { IDraggableComponent, IDraggableEvents } from "@wayward/game/ui/util/Draggable";
|
20
20
|
import Draggable from "@wayward/game/ui/util/Draggable";
|
@@ -14,7 +14,8 @@ import type { ISerializedTranslation } from "@wayward/game/language/ITranslation
|
|
14
14
|
import type Translation from "@wayward/game/language/Translation";
|
15
15
|
import type Component from "@wayward/game/ui/component/Component";
|
16
16
|
import type { IStringSection } from "@wayward/game/utilities/string/Interpolator";
|
17
|
-
|
17
|
+
import type { IEventSubscriberEvents } from "@wayward/utilities/event/EventEmitter";
|
18
|
+
export interface IComponentEvents extends IEventSubscriberEvents {
|
18
19
|
show(): any;
|
19
20
|
hide(): any;
|
20
21
|
toggleVisible(visible: boolean): any;
|
@@ -8,29 +8,23 @@
|
|
8
8
|
* Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
|
9
9
|
* https://github.com/WaywardGame/types/wiki
|
10
10
|
*/
|
11
|
-
import { Quality } from "@wayward/game/game/IObject";
|
12
11
|
import { EquipType } from "@wayward/game/game/entity/IHuman";
|
13
12
|
import type { ActionId } from "@wayward/game/game/entity/action/usable/IUsableAction";
|
14
|
-
import type UsableAction from "@wayward/game/game/entity/action/usable/UsableAction";
|
15
|
-
import type MerchantNPC from "@wayward/game/game/entity/npc/npcs/Merchant";
|
16
|
-
import type { IContainer, ItemTypeExtra } from "@wayward/game/game/item/IItem";
|
17
13
|
import { ItemType } from "@wayward/game/game/item/IItem";
|
18
14
|
import type Item from "@wayward/game/game/item/Item";
|
19
15
|
import type MagicalPropertyManager from "@wayward/game/game/magic/MagicalPropertyManager";
|
20
16
|
import Component from "@wayward/game/ui/component/Component";
|
21
17
|
import type ContextMenu from "@wayward/game/ui/component/ContextMenu";
|
22
18
|
import Bindable from "@wayward/game/ui/input/Bindable";
|
19
|
+
import { ItemComponentHandler } from "@wayward/game/ui/screen/screens/game/component/item/ItemComponentHandler";
|
23
20
|
import type ActionBar from "@wayward/game/ui/screen/screens/game/static/ActionBar";
|
24
21
|
import type { ActionSlot } from "@wayward/game/ui/screen/screens/game/static/actions/ActionSlot";
|
25
22
|
import type { IDraggableEvents } from "@wayward/game/ui/util/Draggable";
|
26
23
|
import Draggable from "@wayward/game/ui/util/Draggable";
|
27
|
-
import type Sortable from "@wayward/game/ui/util/Sortable";
|
28
24
|
import type { ISortableDraggableEvents } from "@wayward/game/ui/util/Sortable";
|
29
25
|
import PerfCache from "@wayward/game/utilities/PerfCache";
|
30
26
|
import Vector2 from "@wayward/game/utilities/math/Vector2";
|
31
|
-
import WeakishSet from "@wayward/utilities/collection/set/WeakishSet";
|
32
27
|
import type { Events, IEventEmitter } from "@wayward/utilities/event/EventEmitter";
|
33
|
-
import EventEmitter from "@wayward/utilities/event/EventEmitter";
|
34
28
|
type ItemSlotExtend = Omit<Component, "event"> & {
|
35
29
|
event: IEventEmitter<Component, IItemSlotEvents>;
|
36
30
|
};
|
@@ -104,33 +98,6 @@ export declare enum ItemClasses {
|
|
104
98
|
export declare namespace ItemClasses {
|
105
99
|
const IconLocation: (enumValue: ItemDetailIconLocation) => "item-component-icon-location-topleft" | "item-component-icon-location-bottomright";
|
106
100
|
}
|
107
|
-
export interface IItemComponentHandlerDescription {
|
108
|
-
noDrag?: true;
|
109
|
-
equipSlot?: EquipType;
|
110
|
-
hasHighlight?: SupplierOr<boolean>;
|
111
|
-
getItem?(): Item | undefined;
|
112
|
-
getItemType?(): ItemType | ItemTypeExtra | undefined;
|
113
|
-
getItemQuality?(): ArrayOr<Quality> | undefined;
|
114
|
-
getAction?(): UsableAction | undefined;
|
115
|
-
getActionSlot?(): ActionSlot | undefined;
|
116
|
-
getBindables?(bindables: Bindable[]): Bindable[];
|
117
|
-
getSortable?(): Sortable;
|
118
|
-
getStackQuantity?(): number;
|
119
|
-
getContainer?(): IContainer | undefined;
|
120
|
-
getStackItems?(): readonly Item[];
|
121
|
-
getStackDisplayItem?(): Item | undefined;
|
122
|
-
getDisplayItem?(): Item | undefined;
|
123
|
-
getDurability?(): number;
|
124
|
-
getCooldown?(): number;
|
125
|
-
isDamaged?(): boolean;
|
126
|
-
isDecayed?(): boolean;
|
127
|
-
}
|
128
|
-
export interface ItemComponentHandler extends IItemComponentHandlerDescription {
|
129
|
-
}
|
130
|
-
export declare class ItemComponentHandler {
|
131
|
-
readonly isItemComponentHandler = true;
|
132
|
-
constructor(description?: IItemComponentHandlerDescription);
|
133
|
-
}
|
134
101
|
export declare enum ItemTradeType {
|
135
102
|
None = "",
|
136
103
|
ToMerchant = "To",
|
@@ -164,19 +131,10 @@ export interface IItemComponentStaticEvents {
|
|
164
131
|
}
|
165
132
|
export default class ItemComponent extends Component implements ItemSlot {
|
166
133
|
readonly handler: ItemComponentHandler;
|
167
|
-
static readonly eventGlobal: EventEmitter<null, IItemComponentStaticEvents>;
|
168
134
|
static create<C extends ItemComponent = ItemComponent>(handler: ItemComponentHandler, ...params: any[]): C | undefined;
|
169
135
|
static registerSlot(slot: ItemSlot): void;
|
170
136
|
static getHovered(): ItemComponent | undefined;
|
171
137
|
static QUALITY_CLASS_NAMES: PerfCache<string[]>;
|
172
|
-
private static readonly tradingByItem;
|
173
|
-
private static readonly tradingToMerchant;
|
174
|
-
private static readonly tradingFromMerchant;
|
175
|
-
static getTrading(merchant: MerchantNPC, type: ItemTradeType): WeakishSet<Item> | undefined;
|
176
|
-
static isTrading(item: Item, merchant: MerchantNPC): boolean;
|
177
|
-
static toggleTrading(items: Item[], merchant: MerchantNPC, trading: ItemTradeType): ItemTradeType;
|
178
|
-
private static sendMerchantChatMessage;
|
179
|
-
static clearTrading(merchant?: MerchantNPC): void;
|
180
138
|
event: IEventEmitter<this, IItemComponentEvents>;
|
181
139
|
readonly magicalIcon: Component<HTMLElement> | undefined;
|
182
140
|
readonly protectedIcon: Component<HTMLElement> | undefined;
|
@@ -228,6 +186,7 @@ export default class ItemComponent extends Component implements ItemSlot {
|
|
228
186
|
protected onUpdateDecay(): void;
|
229
187
|
protected onUpdateQuality(): void;
|
230
188
|
protected onTickEnd(): void;
|
189
|
+
protected onRooted(): void;
|
231
190
|
protected onRootedAndAppend(): void;
|
232
191
|
protected onLoadedOnIsland(): void;
|
233
192
|
protected onActionBarItemSlottedMapUpdate(): void;
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2011-2024 Unlok
|
3
|
+
* https://www.unlok.ca
|
4
|
+
*
|
5
|
+
* Credits & Thanks:
|
6
|
+
* https://www.unlok.ca/credits-thanks/
|
7
|
+
*
|
8
|
+
* Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
|
9
|
+
* https://github.com/WaywardGame/types/wiki
|
10
|
+
*/
|
11
|
+
import type { ItemRefreshType } from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
|
12
|
+
import type ItemComponent from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
|
13
|
+
import type ActionBar from "@wayward/game/ui/screen/screens/game/static/ActionBar";
|
14
|
+
import type { ActionSlot } from "@wayward/game/ui/screen/screens/game/static/actions/ActionSlot";
|
15
|
+
import EventEmitter from "@wayward/utilities/event/EventEmitter";
|
16
|
+
interface IItemComponentEventBusEvents {
|
17
|
+
update(type: ItemRefreshType): any;
|
18
|
+
changeHovered(): any;
|
19
|
+
}
|
20
|
+
declare namespace _ {
|
21
|
+
class ItemComponentEventBus extends EventEmitter.Host<IItemComponentEventBusEvents> {
|
22
|
+
private readonly items;
|
23
|
+
private readonly itemsForTickEndEvents;
|
24
|
+
registerItem(component: ItemComponent): void;
|
25
|
+
registerForTickEndEvents(component: ItemComponent): void;
|
26
|
+
deregisterForTickEndEvents(component: ItemComponent): void;
|
27
|
+
protected onUpdate(type: ItemRefreshType): void;
|
28
|
+
protected onSlotUpdate(actionBar: ActionBar, slot: ActionSlot): void;
|
29
|
+
protected onTickEnd(): void;
|
30
|
+
protected onLoadedOnIsland(): void;
|
31
|
+
protected onActionBarItemSlottedMapUpdate(): void;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
type ItemComponentEventBus = _.ItemComponentEventBus;
|
35
|
+
declare function ItemComponentEventBus(): ItemComponentEventBus;
|
36
|
+
export default ItemComponentEventBus;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2011-2024 Unlok
|
3
|
+
* https://www.unlok.ca
|
4
|
+
*
|
5
|
+
* Credits & Thanks:
|
6
|
+
* https://www.unlok.ca/credits-thanks/
|
7
|
+
*
|
8
|
+
* Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
|
9
|
+
* https://github.com/WaywardGame/types/wiki
|
10
|
+
*/
|
11
|
+
import type UsableAction from "@wayward/game/game/entity/action/usable/UsableAction";
|
12
|
+
import type { EquipType } from "@wayward/game/game/entity/IHuman";
|
13
|
+
import type { Quality } from "@wayward/game/game/IObject";
|
14
|
+
import type { ItemTypeExtra, IContainer } from "@wayward/game/game/item/IItem";
|
15
|
+
import { ItemType } from "@wayward/game/game/item/IItem";
|
16
|
+
import type Item from "@wayward/game/game/item/Item";
|
17
|
+
import type Bindable from "@wayward/game/ui/input/Bindable";
|
18
|
+
import type { ActionSlot } from "@wayward/game/ui/screen/screens/game/static/actions/ActionSlot";
|
19
|
+
import type Sortable from "@wayward/game/ui/util/Sortable";
|
20
|
+
export interface IItemComponentHandlerDescription {
|
21
|
+
noDrag?: true;
|
22
|
+
equipSlot?: EquipType;
|
23
|
+
hasHighlight?: SupplierOr<boolean>;
|
24
|
+
getItem?(): Item | undefined;
|
25
|
+
getItemType?(): ItemType | ItemTypeExtra | undefined;
|
26
|
+
getItemQuality?(): ArrayOr<Quality> | undefined;
|
27
|
+
getAction?(): UsableAction | undefined;
|
28
|
+
getActionSlot?(): ActionSlot | undefined;
|
29
|
+
getBindables?(bindables: Bindable[]): Bindable[];
|
30
|
+
getSortable?(): Sortable;
|
31
|
+
getStackQuantity?(): number;
|
32
|
+
getContainer?(): IContainer | undefined;
|
33
|
+
getStackItems?(): readonly Item[];
|
34
|
+
getStackDisplayItem?(): Item | undefined;
|
35
|
+
getDisplayItem?(): Item | undefined;
|
36
|
+
getDurability?(): number;
|
37
|
+
getCooldown?(): number;
|
38
|
+
isDamaged?(): boolean;
|
39
|
+
isDecayed?(): boolean;
|
40
|
+
}
|
41
|
+
export interface ItemComponentHandler extends IItemComponentHandlerDescription {
|
42
|
+
}
|
43
|
+
export declare class ItemComponentHandler {
|
44
|
+
readonly isItemComponentHandler = true;
|
45
|
+
constructor(description?: IItemComponentHandlerDescription);
|
46
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2011-2024 Unlok
|
3
|
+
* https://www.unlok.ca
|
4
|
+
*
|
5
|
+
* Credits & Thanks:
|
6
|
+
* https://www.unlok.ca/credits-thanks/
|
7
|
+
*
|
8
|
+
* Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
|
9
|
+
* https://github.com/WaywardGame/types/wiki
|
10
|
+
*/
|
11
|
+
import type Human from "@wayward/game/game/entity/Human";
|
12
|
+
import type MerchantNPC from "@wayward/game/game/entity/npc/npcs/Merchant";
|
13
|
+
import type Item from "@wayward/game/game/item/Item";
|
14
|
+
import { ItemTradeType } from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
|
15
|
+
import WeakishSet from "@wayward/utilities/collection/set/WeakishSet";
|
16
|
+
declare namespace _ {
|
17
|
+
class ItemComponentTradeManager {
|
18
|
+
private readonly tradingByItem;
|
19
|
+
private readonly tradingToMerchant;
|
20
|
+
private readonly tradingFromMerchant;
|
21
|
+
getTrading(merchant: MerchantNPC, type: ItemTradeType): WeakishSet<Item> | undefined;
|
22
|
+
getTradeType(item: Item): ItemTradeType | undefined;
|
23
|
+
isTrading(item: Item, merchant: MerchantNPC): boolean;
|
24
|
+
toggleTrading(items: Item[], merchant: MerchantNPC, trading: ItemTradeType): ItemTradeType;
|
25
|
+
private sendMerchantChatMessage;
|
26
|
+
clearTrading(merchant?: MerchantNPC): void;
|
27
|
+
onTrade(merchant: MerchantNPC, human: Human): void;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
type ItemComponentTradeManager = _.ItemComponentTradeManager;
|
31
|
+
declare function ItemComponentTradeManager(): ItemComponentTradeManager;
|
32
|
+
export default ItemComponentTradeManager;
|
@@ -14,8 +14,8 @@ import Component from "@wayward/game/ui/component/Component";
|
|
14
14
|
import type { IBindHandlerApi } from "@wayward/game/ui/input/Bind";
|
15
15
|
import Bindable from "@wayward/game/ui/input/Bindable";
|
16
16
|
import Dialog from "@wayward/game/ui/screen/screens/game/component/Dialog";
|
17
|
-
import type
|
18
|
-
import ItemComponent
|
17
|
+
import { ItemRefreshType, type IItemDropApi, type IItemPickUpApi, type ItemSlot } from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
|
18
|
+
import ItemComponent from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
|
19
19
|
import EquipmentSlotTooltipHandler from "@wayward/game/ui/screen/screens/game/dialog/equipment/EquipmentSlotTooltip";
|
20
20
|
import { MenuBarButtonType } from "@wayward/game/ui/screen/screens/game/static/menubar/IMenuBarButton";
|
21
21
|
export declare enum EquipmentClasses {
|
@@ -25,8 +25,9 @@ import Component from "@wayward/game/ui/component/Component";
|
|
25
25
|
import type { IRefreshable } from "@wayward/game/ui/component/Refreshable";
|
26
26
|
import Text from "@wayward/game/ui/component/Text";
|
27
27
|
import type { IBindHandlerApi } from "@wayward/game/ui/input/Bind";
|
28
|
-
import type
|
29
|
-
import ItemComponent
|
28
|
+
import { type IItemSlotEvents, type ItemSlot } from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
|
29
|
+
import ItemComponent from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
|
30
|
+
import { ItemComponentHandler } from "@wayward/game/ui/screen/screens/game/component/item/ItemComponentHandler";
|
30
31
|
import type ActionBar from "@wayward/game/ui/screen/screens/game/static/ActionBar";
|
31
32
|
import { ActionSlotUpdateReason, IActionBarSlotData } from "@wayward/game/ui/screen/screens/game/static/actions/IActionBar";
|
32
33
|
import type TooltipLocationHandler from "@wayward/game/ui/tooltip/TooltipLocationHandler";
|
package/definitions/game/ui/screen/screens/game/static/actions/ActionSlotConfigurationColumn.d.ts
CHANGED
@@ -22,8 +22,9 @@ import HorizontalLine from "@wayward/game/ui/component/HorizontalLine";
|
|
22
22
|
import RangeChoiceList from "@wayward/game/ui/component/RangeChoiceList";
|
23
23
|
import Text, { Heading, Paragraph } from "@wayward/game/ui/component/Text";
|
24
24
|
import ItemDropdown from "@wayward/game/ui/component/dropdown/ItemDropdown";
|
25
|
-
import type {
|
25
|
+
import type { IItemDropApi, ItemSlot, IItemSlotEvents } from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
|
26
26
|
import ItemComponent from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
|
27
|
+
import type { IItemComponentHandlerDescription } from "@wayward/game/ui/screen/screens/game/component/item/ItemComponentHandler";
|
27
28
|
import type { Events, IEventEmitter } from "@wayward/utilities/event/EventEmitter";
|
28
29
|
export declare enum ActionSlotConfigurationColumnClasses {
|
29
30
|
Main = "game-action-configuration-drawer-configuration-column",
|
@@ -0,0 +1,35 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2011-2024 Unlok
|
3
|
+
* https://www.unlok.ca
|
4
|
+
*
|
5
|
+
* Credits & Thanks:
|
6
|
+
* https://www.unlok.ca/credits-thanks/
|
7
|
+
*
|
8
|
+
* Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
|
9
|
+
* https://github.com/WaywardGame/types/wiki
|
10
|
+
*/
|
11
|
+
/**
|
12
|
+
* Strong keys are stored in a Map.
|
13
|
+
* Weak keys are stored in a WeakMap.
|
14
|
+
* Based on https://github.com/tc39/proposal-weakrefs?tab=readme-ov-file#iterable-weakmaps
|
15
|
+
*/
|
16
|
+
export declare class IterableWeakMap<K, V> implements Iterable<[K, V]> {
|
17
|
+
#private;
|
18
|
+
constructor(iterable?: Iterable<[K, V]>);
|
19
|
+
/**
|
20
|
+
* This is more of an estimate since we might be waiting for some garbage collection to happen
|
21
|
+
*/
|
22
|
+
get size(): number;
|
23
|
+
/**
|
24
|
+
* This will cause keys that are cleaned up via garbage collection to be logged
|
25
|
+
*/
|
26
|
+
enableLogging(): IterableWeakMap<K, V>;
|
27
|
+
get(key: K): V | undefined;
|
28
|
+
set(key: K, value: V): this;
|
29
|
+
delete(key: K): boolean;
|
30
|
+
[Symbol.iterator](): Generator<[K, V]>;
|
31
|
+
entries(): IterableIterator<[K, V]>;
|
32
|
+
keys(): IterableIterator<K>;
|
33
|
+
values(): IterableIterator<V>;
|
34
|
+
private isWeakKey;
|
35
|
+
}
|
@@ -8,6 +8,7 @@
|
|
8
8
|
* Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
|
9
9
|
* https://github.com/WaywardGame/types/wiki
|
10
10
|
*/
|
11
|
+
import { IterableWeakMap } from "@wayward/utilities/collection/map/IterableWeakMap";
|
11
12
|
import { PriorityMap } from "@wayward/utilities/collection/map/PriorityMap";
|
12
13
|
export declare enum Priority {
|
13
14
|
Lowest = -2000,
|
@@ -24,12 +25,16 @@ type Abstract<T> = Function & {
|
|
24
25
|
};
|
25
26
|
type Constructor<T> = new (...args: any[]) => T;
|
26
27
|
type ClassOrAbstractClass<T> = Abstract<T> | Constructor<T>;
|
28
|
+
export interface IEventSubscriberEvents {
|
29
|
+
releaseEventSubscriptions(): any;
|
30
|
+
}
|
27
31
|
export interface IEventEmitterHost<E> {
|
28
32
|
event: IEventEmitter<this | null, E>;
|
29
33
|
}
|
30
34
|
export type IEventEmitterHostClass<E> = ClassOrAbstractClass<IEventEmitterHost<E>>;
|
31
35
|
export type Events<T> = T extends IEventEmitterHost<infer E> ? E : T extends IEventEmitterHostClass<infer E> ? E : never;
|
32
|
-
export type
|
36
|
+
export type EventPriorityMapKV = string | Handler<any, any>;
|
37
|
+
export type EventPriorityMap = PriorityMap<Map<EventPriorityMapKV, EventPriorityMapKV> | IterableWeakMap<EventPriorityMapKV, EventPriorityMapKV>>;
|
33
38
|
export interface ITrueEventEmitterHostClass<E> extends Class<any> {
|
34
39
|
[SYMBOL_SUPERCLASSES]: Array<ITrueEventEmitterHostClass<E>>;
|
35
40
|
[SYMBOL_SUBSCRIPTIONS]: Map<any, Map<keyof E, EventPriorityMap>>;
|
@@ -59,8 +64,14 @@ export interface IEventEmitter<H = any, E = any> {
|
|
59
64
|
emitAsyncParallel<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): Promise<Array<(Extract<ReturnOf<E[K]>, Promise<any>> extends Promise<infer R> ? R : never) | Exclude<ReturnOf<E[K]>, Promise<any>>>> & {
|
60
65
|
isResolved?: true;
|
61
66
|
};
|
67
|
+
subscribe<K extends ArrayOr<keyof E>>(host: IEventEmitterHost<IEventSubscriberEvents>, event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number, once?: boolean): H;
|
68
|
+
/** @deprecated */
|
62
69
|
subscribe<K extends ArrayOr<keyof E>>(event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number, once?: boolean): H;
|
70
|
+
subscribeUnsafe<K extends ArrayOr<keyof E>>(event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number, once?: boolean): H;
|
71
|
+
subscribeNext<K extends ArrayOr<keyof E>>(host: IEventEmitterHost<IEventSubscriberEvents>, event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
72
|
+
/** @deprecated */
|
63
73
|
subscribeNext<K extends ArrayOr<keyof E>>(event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
74
|
+
subscribeNextUnsafe<K extends ArrayOr<keyof E>>(event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
64
75
|
unsubscribe<K extends ArrayOr<keyof E>>(event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): boolean;
|
65
76
|
waitFor<K extends ArrayOr<keyof E>>(events: K, priority?: number): Promise<ArgsOf<K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>>;
|
66
77
|
race<K extends ArrayOr<keyof E>>(raceWith: Promise<any>, events: K, priority?: number): Promise<ArgsOf<K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>>;
|
@@ -72,8 +83,14 @@ export interface IEventEmitter<H = any, E = any> {
|
|
72
83
|
export interface IUntilSubscriber<H, E> {
|
73
84
|
until(promise: Promise<any>): this;
|
74
85
|
until<E2>(emitter: IEventEmitterHost<E2>, ...events: Array<keyof E2>): this;
|
86
|
+
subscribe<K extends ArrayOr<keyof E>>(host: IEventEmitterHost<IEventSubscriberEvents>, event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
87
|
+
/** @deprecated */
|
75
88
|
subscribe<K extends ArrayOr<keyof E>>(event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
89
|
+
subscribeUnsafe<K extends ArrayOr<keyof E>>(event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
90
|
+
subscribeNext<K extends ArrayOr<keyof E>>(host: IEventEmitterHost<IEventSubscriberEvents>, event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
91
|
+
/** @deprecated */
|
76
92
|
subscribeNext<K extends ArrayOr<keyof E>>(event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
93
|
+
subscribeNextUnsafe<K extends ArrayOr<keyof E>>(event: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
77
94
|
}
|
78
95
|
declare class EventEmitter<H, E> {
|
79
96
|
private readonly host;
|
@@ -92,8 +109,15 @@ declare class EventEmitter<H, E> {
|
|
92
109
|
emitReduce<K extends keyof E, A extends ReturnOf<E[K]> & Head<ArgsOf<E[K]>>>(event: K, arg: A, ...args: Tail<ArgsOf<E[K]>>): Extract<ReturnOf<E[K]> & Head<ArgsOf<E[K]>>, undefined> extends undefined ? (undefined extends A ? ReturnOf<E[K]> : A) : ReturnOf<E[K]>;
|
93
110
|
emitAsync<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): Promise<any[]>;
|
94
111
|
emitAsyncParallel<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): Promise<any[]>;
|
95
|
-
|
96
|
-
|
112
|
+
subscribeUnsafe<K extends ArrayOr<keyof E>>(events: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number, once?: boolean): H;
|
113
|
+
subscribe<K extends ArrayOr<keyof E>>(host: IEventEmitterHost<IEventSubscriberEvents>, events: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number, once?: boolean): H;
|
114
|
+
/** @deprecated */
|
115
|
+
subscribe<K extends ArrayOr<keyof E>>(events: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number, once?: boolean): H;
|
116
|
+
private subscribeInternal;
|
117
|
+
subscribeNextUnsafe<K extends ArrayOr<keyof E>>(events: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
118
|
+
subscribeNext<K extends ArrayOr<keyof E>>(host: IEventEmitterHost<IEventSubscriberEvents>, events: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
119
|
+
/** @deprecated */
|
120
|
+
subscribeNext<K extends ArrayOr<keyof E>>(events: K, handler: Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): H;
|
97
121
|
unsubscribe<K extends ArrayOr<keyof E>>(events: K, handler: keyof H | Handler<H, K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>, priority?: number): boolean;
|
98
122
|
waitFor<K extends ArrayOr<keyof E>>(events: K, priority?: number): Promise<ArgsOf<K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>>;
|
99
123
|
race<K extends ArrayOr<keyof E>>(raceWith: number | Promise<any>, events: K, priority?: number): Promise<ArgsOf<K extends any[] ? E[K[number]] : E[Extract<K, keyof E>]>>;
|
@@ -10,7 +10,7 @@
|
|
10
10
|
*/
|
11
11
|
import type { EventBusManager } from "@wayward/utilities/event/EventBusManager";
|
12
12
|
import type EventEmitter from "@wayward/utilities/event/EventEmitter";
|
13
|
-
import type { Events, IEventEmitterHost, IEventEmitterHostClass } from "@wayward/utilities/event/EventEmitter";
|
13
|
+
import type { Events, IEventEmitterHost, IEventEmitterHostClass, IEventSubscriberEvents } from "@wayward/utilities/event/EventEmitter";
|
14
14
|
type HostOrHostClass = IEventEmitterHost<any> | IEventEmitterHostClass<any>;
|
15
15
|
type HostFromHostOrHostClass<H> = H extends {
|
16
16
|
event: EventEmitter<null, any>;
|
@@ -55,7 +55,17 @@ export declare class EventManager<EventBus extends number, EventBuses extends Re
|
|
55
55
|
waitFor<E extends EmitterOrBus<EventBus>, K extends Event<EventBus, EventBuses, E>>(emitter: E, event: K, priority?: number): Promise<Parameters<Handler<EventBus, EventBuses, E, K>>>;
|
56
56
|
until<E2>(emitter: IEventEmitterHost<E2>, ...events: Array<keyof E2>): IEventManagerUntil<EventBus, EventBuses>;
|
57
57
|
until(promise: Promise<any>): IEventManagerUntil<EventBus, EventBuses>;
|
58
|
+
registerEventBusSubscriber(subscriber: IEventEmitterHost<IEventSubscriberEvents>): void;
|
59
|
+
/**
|
60
|
+
* @deprecated This subscriber object will not be automatically cleaned up!
|
61
|
+
*
|
62
|
+
* If this is intentional, switch to {@link registerEventBusSubscriberUnsafe}.
|
63
|
+
*
|
64
|
+
* Otherwise, this subscriber object needs to be an {@link IEventEmitterHost}<{@link IEventSubscriberEvents}> —
|
65
|
+
* the `"releaseEventSubscriptions"` call will automatically clean up this subscriber.
|
66
|
+
*/
|
58
67
|
registerEventBusSubscriber(subscriber: object): void;
|
68
|
+
registerEventBusSubscriberUnsafe(subscriber: object): void;
|
59
69
|
deregisterEventBusSubscriber(subscriber: object): boolean;
|
60
70
|
}
|
61
71
|
declare const SYMBOL_EVENT_HANDLERS: unique symbol;
|
package/package.json
CHANGED