@nice2dev/game-engine 1.3.13 → 1.3.14
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/CHANGELOG.md +4 -0
- package/package.json +2 -2
- package/dist/types/accessibility/index.d.ts +0 -1
- package/dist/types/ai/index.d.ts +0 -1
- package/dist/types/animation/index.d.ts +0 -1
- package/dist/types/audio/HRTFAudio.d.ts +0 -180
- package/dist/types/audio/index.d.ts +0 -2
- package/dist/types/community/Community.d.ts +0 -112
- package/dist/types/community/index.d.ts +0 -1
- package/dist/types/core/TypeSafety.d.ts +0 -190
- package/dist/types/core/index.d.ts +0 -7
- package/dist/types/devtools/AssetStore.d.ts +0 -133
- package/dist/types/devtools/index.d.ts +0 -3
- package/dist/types/dialogue/index.d.ts +0 -2
- package/dist/types/docs/APIPlayground.d.ts +0 -26
- package/dist/types/docs/Cookbook.d.ts +0 -18
- package/dist/types/docs/Guides.d.ts +0 -18
- package/dist/types/docs/index.d.ts +0 -4
- package/dist/types/ecs/ECSOptimized.d.ts +0 -131
- package/dist/types/ecs/index.d.ts +0 -2
- package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
- package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
- package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
- package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
- package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
- package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
- package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
- package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
- package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
- package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
- package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
- package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
- package/dist/types/editor/behavior-tree/index.d.ts +0 -14
- package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
- package/dist/types/editor/behavior-tree/types.d.ts +0 -299
- package/dist/types/editor/index.d.ts +0 -20
- package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
- package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
- package/dist/types/editor/state-machine/index.d.ts +0 -11
- package/dist/types/editor/state-machine/serialization.d.ts +0 -23
- package/dist/types/editor/state-machine/types.d.ts +0 -241
- package/dist/types/engine/index.d.ts +0 -2
- package/dist/types/enterprise/index.d.ts +0 -1
- package/dist/types/epic/index.d.ts +0 -10
- package/dist/types/i18n/index.d.ts +0 -2
- package/dist/types/input/index.d.ts +0 -3
- package/dist/types/kids/index.d.ts +0 -2
- package/dist/types/legendary/index.d.ts +0 -57
- package/dist/types/monetization/index.d.ts +0 -1
- package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
- package/dist/types/multiplayer/index.d.ts +0 -5
- package/dist/types/network/index.d.ts +0 -2
- package/dist/types/pathfinding/index.d.ts +0 -1
- package/dist/types/performance/AssetCompression.d.ts +0 -137
- package/dist/types/performance/WASMModules.d.ts +0 -65
- package/dist/types/performance/WebGPUCompute.d.ts +0 -71
- package/dist/types/performance/index.d.ts +0 -1
- package/dist/types/physics/RapierIntegration.d.ts +0 -404
- package/dist/types/physics/index.d.ts +0 -2
- package/dist/types/plugins/index.d.ts +0 -2
- package/dist/types/procedural/index.d.ts +0 -2
- package/dist/types/release/index.d.ts +0 -1
- package/dist/types/rendering/WebGPUv2.d.ts +0 -173
- package/dist/types/rendering/index.d.ts +0 -3
- package/dist/types/runtime3d/index.d.ts +0 -2
- package/dist/types/scene/index.d.ts +0 -2
- package/dist/types/scripting/WasmCompiler.d.ts +0 -182
- package/dist/types/scripting/index.d.ts +0 -19
- package/dist/types/social/index.d.ts +0 -1
- package/dist/types/systems/NiceAI.d.ts +0 -637
- package/dist/types/systems/NiceAbility.d.ts +0 -225
- package/dist/types/systems/NiceAccessibility.d.ts +0 -230
- package/dist/types/systems/NiceAchievement.d.ts +0 -153
- package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
- package/dist/types/systems/NiceAchievements.d.ts +0 -230
- package/dist/types/systems/NiceAction.d.ts +0 -81
- package/dist/types/systems/NiceAlchemy.d.ts +0 -195
- package/dist/types/systems/NiceAnalytics.d.ts +0 -493
- package/dist/types/systems/NiceAnimation.d.ts +0 -350
- package/dist/types/systems/NiceArena.d.ts +0 -215
- package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
- package/dist/types/systems/NiceAuction.d.ts +0 -157
- package/dist/types/systems/NiceAudio.d.ts +0 -224
- package/dist/types/systems/NiceAugment.d.ts +0 -187
- package/dist/types/systems/NiceAura.d.ts +0 -193
- package/dist/types/systems/NiceBank.d.ts +0 -158
- package/dist/types/systems/NiceBattlePass.d.ts +0 -150
- package/dist/types/systems/NiceBehavior.d.ts +0 -160
- package/dist/types/systems/NiceBinding.d.ts +0 -96
- package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
- package/dist/types/systems/NiceBuff.d.ts +0 -177
- package/dist/types/systems/NiceBuilding.d.ts +0 -207
- package/dist/types/systems/NiceBullet.d.ts +0 -167
- package/dist/types/systems/NiceCamera.d.ts +0 -252
- package/dist/types/systems/NiceCard.d.ts +0 -171
- package/dist/types/systems/NiceChat.d.ts +0 -148
- package/dist/types/systems/NiceCheat.d.ts +0 -375
- package/dist/types/systems/NiceClimbing.d.ts +0 -186
- package/dist/types/systems/NiceCloud.d.ts +0 -422
- package/dist/types/systems/NiceCollision.d.ts +0 -238
- package/dist/types/systems/NiceCombo.d.ts +0 -131
- package/dist/types/systems/NiceCommand.d.ts +0 -112
- package/dist/types/systems/NiceCompanion.d.ts +0 -182
- package/dist/types/systems/NiceController.d.ts +0 -144
- package/dist/types/systems/NiceCooking.d.ts +0 -193
- package/dist/types/systems/NiceCoroutine.d.ts +0 -101
- package/dist/types/systems/NiceCrafting.d.ts +0 -228
- package/dist/types/systems/NiceCutscene.d.ts +0 -437
- package/dist/types/systems/NiceDaily.d.ts +0 -133
- package/dist/types/systems/NiceDamage.d.ts +0 -271
- package/dist/types/systems/NiceDayNight.d.ts +0 -126
- package/dist/types/systems/NiceDebug.d.ts +0 -255
- package/dist/types/systems/NiceDestructible.d.ts +0 -150
- package/dist/types/systems/NiceDialogue.d.ts +0 -629
- package/dist/types/systems/NiceDungeon.d.ts +0 -202
- package/dist/types/systems/NiceECS.d.ts +0 -151
- package/dist/types/systems/NiceEnchant.d.ts +0 -148
- package/dist/types/systems/NiceEntityPool.d.ts +0 -127
- package/dist/types/systems/NiceEquipment.d.ts +0 -137
- package/dist/types/systems/NiceEvent.d.ts +0 -202
- package/dist/types/systems/NiceEventBus.d.ts +0 -164
- package/dist/types/systems/NiceFaction.d.ts +0 -173
- package/dist/types/systems/NiceFarming.d.ts +0 -163
- package/dist/types/systems/NiceFishing.d.ts +0 -196
- package/dist/types/systems/NiceFlocking.d.ts +0 -156
- package/dist/types/systems/NiceFog.d.ts +0 -137
- package/dist/types/systems/NiceFormation.d.ts +0 -140
- package/dist/types/systems/NiceGacha.d.ts +0 -134
- package/dist/types/systems/NiceGambling.d.ts +0 -175
- package/dist/types/systems/NiceGem.d.ts +0 -165
- package/dist/types/systems/NiceGesture.d.ts +0 -502
- package/dist/types/systems/NiceGrappling.d.ts +0 -154
- package/dist/types/systems/NiceGrid.d.ts +0 -142
- package/dist/types/systems/NiceGuild.d.ts +0 -162
- package/dist/types/systems/NiceHaptics.d.ts +0 -112
- package/dist/types/systems/NiceHousing.d.ts +0 -197
- package/dist/types/systems/NiceInput.d.ts +0 -280
- package/dist/types/systems/NiceInventory.d.ts +0 -534
- package/dist/types/systems/NiceLOD.d.ts +0 -144
- package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
- package/dist/types/systems/NiceLevel.d.ts +0 -304
- package/dist/types/systems/NiceLighting.d.ts +0 -214
- package/dist/types/systems/NiceLocalization.d.ts +0 -148
- package/dist/types/systems/NiceLocomotion.d.ts +0 -398
- package/dist/types/systems/NiceLogger.d.ts +0 -117
- package/dist/types/systems/NiceLoot.d.ts +0 -176
- package/dist/types/systems/NiceMail.d.ts +0 -164
- package/dist/types/systems/NiceMap.d.ts +0 -234
- package/dist/types/systems/NiceMarriage.d.ts +0 -150
- package/dist/types/systems/NiceMastery.d.ts +0 -171
- package/dist/types/systems/NiceMatch.d.ts +0 -196
- package/dist/types/systems/NiceMatch3.d.ts +0 -118
- package/dist/types/systems/NiceMessageBus.d.ts +0 -115
- package/dist/types/systems/NiceMinimap.d.ts +0 -258
- package/dist/types/systems/NiceMining.d.ts +0 -175
- package/dist/types/systems/NiceModding.d.ts +0 -452
- package/dist/types/systems/NiceMount.d.ts +0 -152
- package/dist/types/systems/NiceNavigation.d.ts +0 -307
- package/dist/types/systems/NiceNetwork.d.ts +0 -568
- package/dist/types/systems/NiceNotification.d.ts +0 -438
- package/dist/types/systems/NiceObjective.d.ts +0 -395
- package/dist/types/systems/NiceParticle.d.ts +0 -639
- package/dist/types/systems/NiceParty.d.ts +0 -168
- package/dist/types/systems/NicePerformance.d.ts +0 -144
- package/dist/types/systems/NicePet.d.ts +0 -167
- package/dist/types/systems/NicePhotoMode.d.ts +0 -270
- package/dist/types/systems/NicePhysics.d.ts +0 -326
- package/dist/types/systems/NicePlatformer.d.ts +0 -158
- package/dist/types/systems/NicePool.d.ts +0 -128
- package/dist/types/systems/NicePortal.d.ts +0 -178
- package/dist/types/systems/NicePostProcess.d.ts +0 -254
- package/dist/types/systems/NiceProcedural.d.ts +0 -202
- package/dist/types/systems/NiceProfile.d.ts +0 -223
- package/dist/types/systems/NiceProjectile.d.ts +0 -157
- package/dist/types/systems/NicePvP.d.ts +0 -199
- package/dist/types/systems/NiceQTE.d.ts +0 -160
- package/dist/types/systems/NiceQuest.d.ts +0 -620
- package/dist/types/systems/NiceRaid.d.ts +0 -215
- package/dist/types/systems/NiceRanking.d.ts +0 -399
- package/dist/types/systems/NiceReplay.d.ts +0 -180
- package/dist/types/systems/NiceReputation.d.ts +0 -151
- package/dist/types/systems/NiceResource.d.ts +0 -200
- package/dist/types/systems/NiceRhythm.d.ts +0 -148
- package/dist/types/systems/NiceRoguelike.d.ts +0 -276
- package/dist/types/systems/NiceRune.d.ts +0 -202
- package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
- package/dist/types/systems/NiceSceneManager.d.ts +0 -112
- package/dist/types/systems/NiceScore.d.ts +0 -186
- package/dist/types/systems/NiceScreenFX.d.ts +0 -235
- package/dist/types/systems/NiceScreenshot.d.ts +0 -443
- package/dist/types/systems/NiceScribe.d.ts +0 -239
- package/dist/types/systems/NiceSeason.d.ts +0 -176
- package/dist/types/systems/NiceSerialization.d.ts +0 -89
- package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
- package/dist/types/systems/NiceShop.d.ts +0 -528
- package/dist/types/systems/NiceSignal.d.ts +0 -112
- package/dist/types/systems/NiceSkillTree.d.ts +0 -237
- package/dist/types/systems/NiceSocial.d.ts +0 -580
- package/dist/types/systems/NiceSpawner.d.ts +0 -237
- package/dist/types/systems/NiceSpell.d.ts +0 -216
- package/dist/types/systems/NiceState.d.ts +0 -224
- package/dist/types/systems/NiceStateMachine.d.ts +0 -108
- package/dist/types/systems/NiceStatus.d.ts +0 -116
- package/dist/types/systems/NiceStealth.d.ts +0 -204
- package/dist/types/systems/NiceSteam.d.ts +0 -255
- package/dist/types/systems/NiceStreaming.d.ts +0 -173
- package/dist/types/systems/NiceSwimming.d.ts +0 -166
- package/dist/types/systems/NiceTalent.d.ts +0 -154
- package/dist/types/systems/NiceTarget.d.ts +0 -121
- package/dist/types/systems/NiceTerrain.d.ts +0 -143
- package/dist/types/systems/NiceTilemap.d.ts +0 -218
- package/dist/types/systems/NiceTimer.d.ts +0 -153
- package/dist/types/systems/NiceTournament.d.ts +0 -190
- package/dist/types/systems/NiceTrading.d.ts +0 -238
- package/dist/types/systems/NiceTransmog.d.ts +0 -142
- package/dist/types/systems/NiceTutorial.d.ts +0 -248
- package/dist/types/systems/NiceTween.d.ts +0 -164
- package/dist/types/systems/NiceUI.d.ts +0 -364
- package/dist/types/systems/NiceVFX.d.ts +0 -333
- package/dist/types/systems/NiceVehicle.d.ts +0 -176
- package/dist/types/systems/NiceVoice.d.ts +0 -502
- package/dist/types/systems/NiceWater.d.ts +0 -162
- package/dist/types/systems/NiceWave.d.ts +0 -174
- package/dist/types/systems/NiceWaypoint.d.ts +0 -165
- package/dist/types/systems/NiceWeather.d.ts +0 -225
- package/dist/types/systems/NiceXR.d.ts +0 -187
- package/dist/types/systems/index.d.ts +0 -182
- package/dist/types/templates/index.d.ts +0 -2
- package/dist/types/tilemap/index.d.ts +0 -1
- package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
- package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
- package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
- package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
- package/dist/types/tutorials/content/index.d.ts +0 -5
- package/dist/types/tutorials/index.d.ts +0 -6
- package/dist/types/ui/index.d.ts +0 -2
- package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
- package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
- package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
- package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
- package/dist/types/visual-scripting/index.d.ts +0 -6
- package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
- package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
- package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
- package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
- package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
- package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
- package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
- package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
- package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
- package/dist/types/visual-scripting/types.d.ts +0 -402
- package/dist/types/xr/WebXRLayers.d.ts +0 -319
- package/dist/types/xr/index.d.ts +0 -2
|
@@ -1,580 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NiceSocial - Social & Friends System
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive social system for managing friends, parties, guilds,
|
|
5
|
-
* chat, presence, and social interactions.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Friend list management
|
|
9
|
-
* - Friend requests (send/accept/decline)
|
|
10
|
-
* - Block list
|
|
11
|
-
* - Online presence
|
|
12
|
-
* - Activity status
|
|
13
|
-
* - Party/group system
|
|
14
|
-
* - Guild/clan support
|
|
15
|
-
* - Social feed
|
|
16
|
-
* - Chat integration
|
|
17
|
-
* - Social leaderboards
|
|
18
|
-
* - Social achievements
|
|
19
|
-
* - Cross-platform support
|
|
20
|
-
* - Privacy settings
|
|
21
|
-
*
|
|
22
|
-
* @packageDocumentation
|
|
23
|
-
*/
|
|
24
|
-
import { EventEmitter } from 'events';
|
|
25
|
-
/** Unique user ID */
|
|
26
|
-
export type UserId = string;
|
|
27
|
-
/** Unique party ID */
|
|
28
|
-
export type PartyId = string;
|
|
29
|
-
/** Unique guild ID */
|
|
30
|
-
export type GuildId = string;
|
|
31
|
-
/** Unique message ID */
|
|
32
|
-
export type MessageId = string;
|
|
33
|
-
/** Unique activity ID */
|
|
34
|
-
export type ActivityId = string;
|
|
35
|
-
/** Unique invite ID */
|
|
36
|
-
export type InviteId = string;
|
|
37
|
-
/** Online status */
|
|
38
|
-
export type OnlineStatus = 'online' | 'away' | 'busy' | 'offline' | 'invisible';
|
|
39
|
-
/** Friend request status */
|
|
40
|
-
export type FriendRequestStatus = 'pending' | 'accepted' | 'declined' | 'cancelled';
|
|
41
|
-
/** Relationship type */
|
|
42
|
-
export type RelationshipType = 'friend' | 'blocked' | 'pending_incoming' | 'pending_outgoing' | 'none';
|
|
43
|
-
/** Activity type */
|
|
44
|
-
export type ActivityType = 'playing' | 'in_lobby' | 'in_match' | 'in_menu' | 'spectating' | 'away' | 'custom';
|
|
45
|
-
/** Party role */
|
|
46
|
-
export type PartyRole = 'leader' | 'member';
|
|
47
|
-
/** Guild role */
|
|
48
|
-
export type GuildRole = 'owner' | 'admin' | 'officer' | 'member';
|
|
49
|
-
/** Message type */
|
|
50
|
-
export type MessageType = 'text' | 'image' | 'system' | 'invite' | 'achievement';
|
|
51
|
-
/** Privacy level */
|
|
52
|
-
export type PrivacyLevel = 'public' | 'friends' | 'private';
|
|
53
|
-
/** User profile */
|
|
54
|
-
export interface UserProfile {
|
|
55
|
-
id: UserId;
|
|
56
|
-
username: string;
|
|
57
|
-
displayName: string;
|
|
58
|
-
avatar?: string;
|
|
59
|
-
banner?: string;
|
|
60
|
-
bio?: string;
|
|
61
|
-
level: number;
|
|
62
|
-
title?: string;
|
|
63
|
-
badges: string[];
|
|
64
|
-
isVerified: boolean;
|
|
65
|
-
isPremium: boolean;
|
|
66
|
-
createdAt: number;
|
|
67
|
-
lastOnline: number;
|
|
68
|
-
}
|
|
69
|
-
/** User presence */
|
|
70
|
-
export interface UserPresence {
|
|
71
|
-
userId: UserId;
|
|
72
|
-
status: OnlineStatus;
|
|
73
|
-
activity?: UserActivity;
|
|
74
|
-
lastStatusChange: number;
|
|
75
|
-
platform?: string;
|
|
76
|
-
gameVersion?: string;
|
|
77
|
-
}
|
|
78
|
-
/** User activity */
|
|
79
|
-
export interface UserActivity {
|
|
80
|
-
type: ActivityType;
|
|
81
|
-
title: string;
|
|
82
|
-
details?: string;
|
|
83
|
-
imageKey?: string;
|
|
84
|
-
partyId?: PartyId;
|
|
85
|
-
partySize?: number;
|
|
86
|
-
partyMax?: number;
|
|
87
|
-
startTime: number;
|
|
88
|
-
endTime?: number;
|
|
89
|
-
canJoin?: boolean;
|
|
90
|
-
canSpectate?: boolean;
|
|
91
|
-
metadata?: Record<string, unknown>;
|
|
92
|
-
}
|
|
93
|
-
/** Friend data */
|
|
94
|
-
export interface Friend {
|
|
95
|
-
userId: UserId;
|
|
96
|
-
profile: UserProfile;
|
|
97
|
-
presence: UserPresence;
|
|
98
|
-
nickname?: string;
|
|
99
|
-
favorited: boolean;
|
|
100
|
-
addedAt: number;
|
|
101
|
-
lastInteraction?: number;
|
|
102
|
-
mutualFriends: number;
|
|
103
|
-
notes?: string;
|
|
104
|
-
}
|
|
105
|
-
/** Friend request */
|
|
106
|
-
export interface FriendRequest {
|
|
107
|
-
id: string;
|
|
108
|
-
fromUserId: UserId;
|
|
109
|
-
toUserId: UserId;
|
|
110
|
-
message?: string;
|
|
111
|
-
status: FriendRequestStatus;
|
|
112
|
-
createdAt: number;
|
|
113
|
-
updatedAt: number;
|
|
114
|
-
}
|
|
115
|
-
/** Blocked user */
|
|
116
|
-
export interface BlockedUser {
|
|
117
|
-
userId: UserId;
|
|
118
|
-
username: string;
|
|
119
|
-
reason?: string;
|
|
120
|
-
blockedAt: number;
|
|
121
|
-
}
|
|
122
|
-
/** Party info */
|
|
123
|
-
export interface SocialParty {
|
|
124
|
-
id: PartyId;
|
|
125
|
-
name?: string;
|
|
126
|
-
leaderId: UserId;
|
|
127
|
-
members: PartyMember[];
|
|
128
|
-
maxSize: number;
|
|
129
|
-
isPublic: boolean;
|
|
130
|
-
inviteCode?: string;
|
|
131
|
-
createdAt: number;
|
|
132
|
-
activity?: string;
|
|
133
|
-
settings: PartySettings;
|
|
134
|
-
}
|
|
135
|
-
/** Party member */
|
|
136
|
-
export interface PartyMember {
|
|
137
|
-
userId: UserId;
|
|
138
|
-
role: PartyRole;
|
|
139
|
-
joinedAt: number;
|
|
140
|
-
isReady: boolean;
|
|
141
|
-
profile: UserProfile;
|
|
142
|
-
presence: UserPresence;
|
|
143
|
-
}
|
|
144
|
-
/** Party settings */
|
|
145
|
-
export interface PartySettings {
|
|
146
|
-
joinability: 'open' | 'invite_only' | 'friends_only';
|
|
147
|
-
allowInvites: boolean;
|
|
148
|
-
autoAcceptFriends: boolean;
|
|
149
|
-
voiceChatEnabled: boolean;
|
|
150
|
-
}
|
|
151
|
-
/** Party invite */
|
|
152
|
-
export interface PartyInvite {
|
|
153
|
-
id: InviteId;
|
|
154
|
-
partyId: PartyId;
|
|
155
|
-
fromUserId: UserId;
|
|
156
|
-
toUserId: UserId;
|
|
157
|
-
partyName?: string;
|
|
158
|
-
message?: string;
|
|
159
|
-
expiresAt: number;
|
|
160
|
-
createdAt: number;
|
|
161
|
-
}
|
|
162
|
-
/** Guild info */
|
|
163
|
-
export interface Guild {
|
|
164
|
-
id: GuildId;
|
|
165
|
-
name: string;
|
|
166
|
-
tag: string;
|
|
167
|
-
description?: string;
|
|
168
|
-
icon?: string;
|
|
169
|
-
banner?: string;
|
|
170
|
-
ownerId: UserId;
|
|
171
|
-
memberCount: number;
|
|
172
|
-
maxMembers: number;
|
|
173
|
-
level: number;
|
|
174
|
-
xp: number;
|
|
175
|
-
createdAt: number;
|
|
176
|
-
isRecruiting: boolean;
|
|
177
|
-
requirements?: GuildRequirements;
|
|
178
|
-
settings: GuildSettings;
|
|
179
|
-
}
|
|
180
|
-
/** Guild member */
|
|
181
|
-
export interface GuildMember {
|
|
182
|
-
userId: UserId;
|
|
183
|
-
role: GuildRole;
|
|
184
|
-
joinedAt: number;
|
|
185
|
-
contribution: number;
|
|
186
|
-
lastActive: number;
|
|
187
|
-
profile: UserProfile;
|
|
188
|
-
note?: string;
|
|
189
|
-
}
|
|
190
|
-
/** Guild requirements */
|
|
191
|
-
export interface GuildRequirements {
|
|
192
|
-
minLevel?: number;
|
|
193
|
-
minPlaytime?: number;
|
|
194
|
-
applicationRequired: boolean;
|
|
195
|
-
}
|
|
196
|
-
/** Guild settings */
|
|
197
|
-
export interface GuildSettings {
|
|
198
|
-
privacy: PrivacyLevel;
|
|
199
|
-
allowApplications: boolean;
|
|
200
|
-
requireApproval: boolean;
|
|
201
|
-
defaultRole: GuildRole;
|
|
202
|
-
}
|
|
203
|
-
/** Chat message */
|
|
204
|
-
export interface ChatMessage {
|
|
205
|
-
id: MessageId;
|
|
206
|
-
channelId: string;
|
|
207
|
-
senderId: UserId;
|
|
208
|
-
senderName: string;
|
|
209
|
-
type: MessageType;
|
|
210
|
-
content: string;
|
|
211
|
-
attachments?: string[];
|
|
212
|
-
replyTo?: MessageId;
|
|
213
|
-
reactions?: Record<string, UserId[]>;
|
|
214
|
-
isEdited: boolean;
|
|
215
|
-
isDeleted: boolean;
|
|
216
|
-
timestamp: number;
|
|
217
|
-
metadata?: Record<string, unknown>;
|
|
218
|
-
}
|
|
219
|
-
/** Social feed item */
|
|
220
|
-
export interface SocialFeedItem {
|
|
221
|
-
id: ActivityId;
|
|
222
|
-
type: 'achievement' | 'level_up' | 'friend_added' | 'guild_joined' | 'custom';
|
|
223
|
-
userId: UserId;
|
|
224
|
-
userProfile: UserProfile;
|
|
225
|
-
title: string;
|
|
226
|
-
description?: string;
|
|
227
|
-
image?: string;
|
|
228
|
-
timestamp: number;
|
|
229
|
-
likes: number;
|
|
230
|
-
comments: number;
|
|
231
|
-
isLiked: boolean;
|
|
232
|
-
metadata?: Record<string, unknown>;
|
|
233
|
-
}
|
|
234
|
-
/** Privacy settings */
|
|
235
|
-
export interface SocialPrivacySettings {
|
|
236
|
-
profileVisibility: PrivacyLevel;
|
|
237
|
-
activityVisibility: PrivacyLevel;
|
|
238
|
-
friendListVisibility: PrivacyLevel;
|
|
239
|
-
allowFriendRequests: boolean;
|
|
240
|
-
allowPartyInvites: boolean;
|
|
241
|
-
allowGuildInvites: boolean;
|
|
242
|
-
allowDirectMessages: 'everyone' | 'friends' | 'none';
|
|
243
|
-
showOnlineStatus: boolean;
|
|
244
|
-
showActivity: boolean;
|
|
245
|
-
}
|
|
246
|
-
/** Social statistics */
|
|
247
|
-
export interface SocialStatistics {
|
|
248
|
-
totalFriends: number;
|
|
249
|
-
totalBlocked: number;
|
|
250
|
-
requestsSent: number;
|
|
251
|
-
requestsReceived: number;
|
|
252
|
-
partiesJoined: number;
|
|
253
|
-
guildsJoined: number;
|
|
254
|
-
messagesSent: number;
|
|
255
|
-
activitiesGenerated: number;
|
|
256
|
-
}
|
|
257
|
-
/** Social event types */
|
|
258
|
-
export type SocialEventType = 'friend_added' | 'friend_removed' | 'friend_request_received' | 'friend_request_sent' | 'friend_request_accepted' | 'friend_request_declined' | 'user_blocked' | 'user_unblocked' | 'presence_updated' | 'activity_updated' | 'party_created' | 'party_joined' | 'party_left' | 'party_disbanded' | 'party_invite_received' | 'party_member_joined' | 'party_member_left' | 'party_leader_changed' | 'guild_joined' | 'guild_left' | 'guild_invite_received' | 'guild_member_joined' | 'guild_member_left' | 'guild_role_changed' | 'message_received' | 'message_sent' | 'feed_item_added' | 'privacy_updated';
|
|
259
|
-
/** Social event data */
|
|
260
|
-
export interface SocialEvent {
|
|
261
|
-
type: SocialEventType;
|
|
262
|
-
timestamp: number;
|
|
263
|
-
userId?: UserId;
|
|
264
|
-
targetUserId?: UserId;
|
|
265
|
-
partyId?: PartyId;
|
|
266
|
-
guildId?: GuildId;
|
|
267
|
-
messageId?: MessageId;
|
|
268
|
-
data?: unknown;
|
|
269
|
-
}
|
|
270
|
-
/** Social event callback */
|
|
271
|
-
export type SocialEventCallback = (event: SocialEvent) => void;
|
|
272
|
-
/** Social system configuration */
|
|
273
|
-
export interface SocialConfig {
|
|
274
|
-
maxFriends: number;
|
|
275
|
-
maxBlocked: number;
|
|
276
|
-
maxPendingRequests: number;
|
|
277
|
-
maxPartySize: number;
|
|
278
|
-
maxGuildSize: number;
|
|
279
|
-
friendRequestExpireDays: number;
|
|
280
|
-
partyInviteExpireMinutes: number;
|
|
281
|
-
activityFeedSize: number;
|
|
282
|
-
presenceUpdateIntervalMs: number;
|
|
283
|
-
enableRichPresence: boolean;
|
|
284
|
-
enableActivityFeed: boolean;
|
|
285
|
-
enableGuilds: boolean;
|
|
286
|
-
autoDeclineDuplicateRequests: boolean;
|
|
287
|
-
}
|
|
288
|
-
/** Default configuration */
|
|
289
|
-
export declare const DEFAULT_SOCIAL_CONFIG: SocialConfig;
|
|
290
|
-
/**
|
|
291
|
-
* Social and friends system
|
|
292
|
-
*/
|
|
293
|
-
export declare class NiceSocial extends EventEmitter {
|
|
294
|
-
private config;
|
|
295
|
-
private currentUser?;
|
|
296
|
-
private currentPresence;
|
|
297
|
-
private friends;
|
|
298
|
-
private blocked;
|
|
299
|
-
private incomingRequests;
|
|
300
|
-
private outgoingRequests;
|
|
301
|
-
private currentParty?;
|
|
302
|
-
private partyInvites;
|
|
303
|
-
private currentGuild?;
|
|
304
|
-
private guildMembers;
|
|
305
|
-
private activityFeed;
|
|
306
|
-
private privacySettings;
|
|
307
|
-
private statistics;
|
|
308
|
-
private presenceInterval?;
|
|
309
|
-
constructor(config?: Partial<SocialConfig>);
|
|
310
|
-
/**
|
|
311
|
-
* Emit social event
|
|
312
|
-
*/
|
|
313
|
-
private emitEvent;
|
|
314
|
-
/**
|
|
315
|
-
* Generate unique ID
|
|
316
|
-
*/
|
|
317
|
-
private generateId;
|
|
318
|
-
/**
|
|
319
|
-
* Initialize with current user
|
|
320
|
-
*/
|
|
321
|
-
initialize(profile: UserProfile): void;
|
|
322
|
-
/**
|
|
323
|
-
* Get current user profile
|
|
324
|
-
*/
|
|
325
|
-
getCurrentUser(): UserProfile | undefined;
|
|
326
|
-
/**
|
|
327
|
-
* Update current user profile
|
|
328
|
-
*/
|
|
329
|
-
updateProfile(updates: Partial<UserProfile>): void;
|
|
330
|
-
/**
|
|
331
|
-
* Start presence update interval
|
|
332
|
-
*/
|
|
333
|
-
private startPresenceUpdates;
|
|
334
|
-
/**
|
|
335
|
-
* Broadcast current presence
|
|
336
|
-
*/
|
|
337
|
-
private broadcastPresence;
|
|
338
|
-
/**
|
|
339
|
-
* Set online status
|
|
340
|
-
*/
|
|
341
|
-
setStatus(status: OnlineStatus): void;
|
|
342
|
-
/**
|
|
343
|
-
* Get current status
|
|
344
|
-
*/
|
|
345
|
-
getStatus(): OnlineStatus;
|
|
346
|
-
/**
|
|
347
|
-
* Set activity
|
|
348
|
-
*/
|
|
349
|
-
setActivity(activity: UserActivity): void;
|
|
350
|
-
/**
|
|
351
|
-
* Clear activity
|
|
352
|
-
*/
|
|
353
|
-
clearActivity(): void;
|
|
354
|
-
/**
|
|
355
|
-
* Get current presence
|
|
356
|
-
*/
|
|
357
|
-
getPresence(): UserPresence;
|
|
358
|
-
/**
|
|
359
|
-
* Get friend presence
|
|
360
|
-
*/
|
|
361
|
-
getFriendPresence(userId: UserId): UserPresence | undefined;
|
|
362
|
-
/**
|
|
363
|
-
* Update friend presence (from server)
|
|
364
|
-
*/
|
|
365
|
-
updateFriendPresence(userId: UserId, presence: UserPresence): void;
|
|
366
|
-
/**
|
|
367
|
-
* Send friend request
|
|
368
|
-
*/
|
|
369
|
-
sendFriendRequest(toUserId: UserId, message?: string): boolean;
|
|
370
|
-
/**
|
|
371
|
-
* Receive friend request (from server)
|
|
372
|
-
*/
|
|
373
|
-
receiveFriendRequest(request: FriendRequest): void;
|
|
374
|
-
/**
|
|
375
|
-
* Accept friend request
|
|
376
|
-
*/
|
|
377
|
-
acceptFriendRequest(requestId: string): boolean;
|
|
378
|
-
/**
|
|
379
|
-
* Decline friend request
|
|
380
|
-
*/
|
|
381
|
-
declineFriendRequest(requestId: string): boolean;
|
|
382
|
-
/**
|
|
383
|
-
* Cancel outgoing friend request
|
|
384
|
-
*/
|
|
385
|
-
cancelFriendRequest(requestId: string): boolean;
|
|
386
|
-
/**
|
|
387
|
-
* Remove friend
|
|
388
|
-
*/
|
|
389
|
-
removeFriend(userId: UserId): boolean;
|
|
390
|
-
/**
|
|
391
|
-
* Set friend nickname
|
|
392
|
-
*/
|
|
393
|
-
setFriendNickname(userId: UserId, nickname: string | undefined): boolean;
|
|
394
|
-
/**
|
|
395
|
-
* Toggle friend favorite
|
|
396
|
-
*/
|
|
397
|
-
toggleFriendFavorite(userId: UserId): boolean;
|
|
398
|
-
/**
|
|
399
|
-
* Set friend notes
|
|
400
|
-
*/
|
|
401
|
-
setFriendNotes(userId: UserId, notes: string | undefined): boolean;
|
|
402
|
-
/**
|
|
403
|
-
* Get friend
|
|
404
|
-
*/
|
|
405
|
-
getFriend(userId: UserId): Friend | undefined;
|
|
406
|
-
/**
|
|
407
|
-
* Get all friends
|
|
408
|
-
*/
|
|
409
|
-
getAllFriends(): Friend[];
|
|
410
|
-
/**
|
|
411
|
-
* Get online friends
|
|
412
|
-
*/
|
|
413
|
-
getOnlineFriends(): Friend[];
|
|
414
|
-
/**
|
|
415
|
-
* Get favorite friends
|
|
416
|
-
*/
|
|
417
|
-
getFavoriteFriends(): Friend[];
|
|
418
|
-
/**
|
|
419
|
-
* Get friends in game
|
|
420
|
-
*/
|
|
421
|
-
getFriendsInGame(): Friend[];
|
|
422
|
-
/**
|
|
423
|
-
* Search friends
|
|
424
|
-
*/
|
|
425
|
-
searchFriends(query: string): Friend[];
|
|
426
|
-
/**
|
|
427
|
-
* Get incoming friend requests
|
|
428
|
-
*/
|
|
429
|
-
getIncomingRequests(): FriendRequest[];
|
|
430
|
-
/**
|
|
431
|
-
* Get outgoing friend requests
|
|
432
|
-
*/
|
|
433
|
-
getOutgoingRequests(): FriendRequest[];
|
|
434
|
-
/**
|
|
435
|
-
* Check relationship type
|
|
436
|
-
*/
|
|
437
|
-
getRelationship(userId: UserId): RelationshipType;
|
|
438
|
-
/**
|
|
439
|
-
* Block user
|
|
440
|
-
*/
|
|
441
|
-
blockUser(userId: UserId, reason?: string): boolean;
|
|
442
|
-
/**
|
|
443
|
-
* Unblock user
|
|
444
|
-
*/
|
|
445
|
-
unblockUser(userId: UserId): boolean;
|
|
446
|
-
/**
|
|
447
|
-
* Check if user is blocked
|
|
448
|
-
*/
|
|
449
|
-
isBlocked(userId: UserId): boolean;
|
|
450
|
-
/**
|
|
451
|
-
* Get blocked users
|
|
452
|
-
*/
|
|
453
|
-
getBlockedUsers(): BlockedUser[];
|
|
454
|
-
/**
|
|
455
|
-
* Create party
|
|
456
|
-
*/
|
|
457
|
-
createParty(settings?: Partial<PartySettings>): SocialParty;
|
|
458
|
-
/**
|
|
459
|
-
* Invite to party
|
|
460
|
-
*/
|
|
461
|
-
inviteToParty(userId: UserId, message?: string): PartyInvite | undefined;
|
|
462
|
-
/**
|
|
463
|
-
* Receive party invite
|
|
464
|
-
*/
|
|
465
|
-
receivePartyInvite(invite: PartyInvite): void;
|
|
466
|
-
/**
|
|
467
|
-
* Accept party invite
|
|
468
|
-
*/
|
|
469
|
-
acceptPartyInvite(inviteId: InviteId): boolean;
|
|
470
|
-
/**
|
|
471
|
-
* Decline party invite
|
|
472
|
-
*/
|
|
473
|
-
declinePartyInvite(inviteId: InviteId): boolean;
|
|
474
|
-
/**
|
|
475
|
-
* Join party (from server response)
|
|
476
|
-
*/
|
|
477
|
-
joinParty(party: SocialParty): void;
|
|
478
|
-
/**
|
|
479
|
-
* Leave party
|
|
480
|
-
*/
|
|
481
|
-
leaveParty(): boolean;
|
|
482
|
-
/**
|
|
483
|
-
* Kick party member (leader only)
|
|
484
|
-
*/
|
|
485
|
-
kickPartyMember(userId: UserId): boolean;
|
|
486
|
-
/**
|
|
487
|
-
* Transfer party leadership
|
|
488
|
-
*/
|
|
489
|
-
transferPartyLeadership(userId: UserId): boolean;
|
|
490
|
-
/**
|
|
491
|
-
* Set party member ready state
|
|
492
|
-
*/
|
|
493
|
-
setReady(ready: boolean): boolean;
|
|
494
|
-
/**
|
|
495
|
-
* Get current party
|
|
496
|
-
*/
|
|
497
|
-
getCurrentParty(): SocialParty | undefined;
|
|
498
|
-
/**
|
|
499
|
-
* Get party invites
|
|
500
|
-
*/
|
|
501
|
-
getPartyInvites(): PartyInvite[];
|
|
502
|
-
/**
|
|
503
|
-
* Check if all party members are ready
|
|
504
|
-
*/
|
|
505
|
-
isPartyReady(): boolean;
|
|
506
|
-
/**
|
|
507
|
-
* Join guild
|
|
508
|
-
*/
|
|
509
|
-
joinGuild(guild: Guild): void;
|
|
510
|
-
/**
|
|
511
|
-
* Leave guild
|
|
512
|
-
*/
|
|
513
|
-
leaveGuild(): boolean;
|
|
514
|
-
/**
|
|
515
|
-
* Get current guild
|
|
516
|
-
*/
|
|
517
|
-
getCurrentGuild(): Guild | undefined;
|
|
518
|
-
/**
|
|
519
|
-
* Get guild members
|
|
520
|
-
*/
|
|
521
|
-
getGuildMembers(): GuildMember[];
|
|
522
|
-
/**
|
|
523
|
-
* Update guild member (from server)
|
|
524
|
-
*/
|
|
525
|
-
updateGuildMember(member: GuildMember): void;
|
|
526
|
-
/**
|
|
527
|
-
* Add feed item
|
|
528
|
-
*/
|
|
529
|
-
addFeedItem(item: SocialFeedItem): void;
|
|
530
|
-
/**
|
|
531
|
-
* Get activity feed
|
|
532
|
-
*/
|
|
533
|
-
getActivityFeed(limit?: number): SocialFeedItem[];
|
|
534
|
-
/**
|
|
535
|
-
* Like feed item
|
|
536
|
-
*/
|
|
537
|
-
likeFeedItem(activityId: ActivityId): boolean;
|
|
538
|
-
/**
|
|
539
|
-
* Send message (would typically go through server)
|
|
540
|
-
*/
|
|
541
|
-
sendMessage(channelId: string, content: string, replyTo?: MessageId): ChatMessage;
|
|
542
|
-
/**
|
|
543
|
-
* Receive message (from server)
|
|
544
|
-
*/
|
|
545
|
-
receiveMessage(message: ChatMessage): void;
|
|
546
|
-
/**
|
|
547
|
-
* Get privacy settings
|
|
548
|
-
*/
|
|
549
|
-
getPrivacySettings(): SocialPrivacySettings;
|
|
550
|
-
/**
|
|
551
|
-
* Update privacy settings
|
|
552
|
-
*/
|
|
553
|
-
updatePrivacySettings(updates: Partial<SocialPrivacySettings>): void;
|
|
554
|
-
/**
|
|
555
|
-
* Get social statistics
|
|
556
|
-
*/
|
|
557
|
-
getStatistics(): SocialStatistics;
|
|
558
|
-
/**
|
|
559
|
-
* Export social state
|
|
560
|
-
*/
|
|
561
|
-
exportState(): object;
|
|
562
|
-
/**
|
|
563
|
-
* Import social state
|
|
564
|
-
*/
|
|
565
|
-
importState(state: {
|
|
566
|
-
friends?: [UserId, Friend][];
|
|
567
|
-
blocked?: [UserId, BlockedUser][];
|
|
568
|
-
privacySettings?: SocialPrivacySettings;
|
|
569
|
-
statistics?: SocialStatistics;
|
|
570
|
-
}): void;
|
|
571
|
-
/**
|
|
572
|
-
* Destroy social system
|
|
573
|
-
*/
|
|
574
|
-
destroy(): void;
|
|
575
|
-
}
|
|
576
|
-
/**
|
|
577
|
-
* Create social system instance
|
|
578
|
-
*/
|
|
579
|
-
export declare function createSocialSystem(config?: Partial<SocialConfig>): NiceSocial;
|
|
580
|
-
export default NiceSocial;
|