@nice2dev/game-engine 1.3.12 → 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.
Files changed (253) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +2 -2
  3. package/dist/types/accessibility/index.d.ts +0 -1
  4. package/dist/types/ai/index.d.ts +0 -1
  5. package/dist/types/animation/index.d.ts +0 -1
  6. package/dist/types/audio/HRTFAudio.d.ts +0 -180
  7. package/dist/types/audio/index.d.ts +0 -2
  8. package/dist/types/community/Community.d.ts +0 -112
  9. package/dist/types/community/index.d.ts +0 -1
  10. package/dist/types/core/TypeSafety.d.ts +0 -190
  11. package/dist/types/core/index.d.ts +0 -7
  12. package/dist/types/devtools/AssetStore.d.ts +0 -133
  13. package/dist/types/devtools/index.d.ts +0 -3
  14. package/dist/types/dialogue/index.d.ts +0 -2
  15. package/dist/types/docs/APIPlayground.d.ts +0 -26
  16. package/dist/types/docs/Cookbook.d.ts +0 -18
  17. package/dist/types/docs/Guides.d.ts +0 -18
  18. package/dist/types/docs/index.d.ts +0 -4
  19. package/dist/types/ecs/ECSOptimized.d.ts +0 -131
  20. package/dist/types/ecs/index.d.ts +0 -2
  21. package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
  22. package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
  23. package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
  24. package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
  25. package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
  26. package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
  27. package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
  28. package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
  29. package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
  30. package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
  31. package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
  32. package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
  33. package/dist/types/editor/behavior-tree/index.d.ts +0 -14
  34. package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
  35. package/dist/types/editor/behavior-tree/types.d.ts +0 -299
  36. package/dist/types/editor/index.d.ts +0 -20
  37. package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
  38. package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
  39. package/dist/types/editor/state-machine/index.d.ts +0 -11
  40. package/dist/types/editor/state-machine/serialization.d.ts +0 -23
  41. package/dist/types/editor/state-machine/types.d.ts +0 -241
  42. package/dist/types/engine/index.d.ts +0 -2
  43. package/dist/types/enterprise/index.d.ts +0 -1
  44. package/dist/types/epic/index.d.ts +0 -10
  45. package/dist/types/i18n/index.d.ts +0 -2
  46. package/dist/types/input/index.d.ts +0 -3
  47. package/dist/types/kids/index.d.ts +0 -2
  48. package/dist/types/legendary/index.d.ts +0 -57
  49. package/dist/types/monetization/index.d.ts +0 -1
  50. package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
  51. package/dist/types/multiplayer/index.d.ts +0 -5
  52. package/dist/types/network/index.d.ts +0 -2
  53. package/dist/types/pathfinding/index.d.ts +0 -1
  54. package/dist/types/performance/AssetCompression.d.ts +0 -137
  55. package/dist/types/performance/WASMModules.d.ts +0 -65
  56. package/dist/types/performance/WebGPUCompute.d.ts +0 -71
  57. package/dist/types/performance/index.d.ts +0 -1
  58. package/dist/types/physics/RapierIntegration.d.ts +0 -404
  59. package/dist/types/physics/index.d.ts +0 -2
  60. package/dist/types/plugins/index.d.ts +0 -2
  61. package/dist/types/procedural/index.d.ts +0 -2
  62. package/dist/types/release/index.d.ts +0 -1
  63. package/dist/types/rendering/WebGPUv2.d.ts +0 -173
  64. package/dist/types/rendering/index.d.ts +0 -3
  65. package/dist/types/runtime3d/index.d.ts +0 -2
  66. package/dist/types/scene/index.d.ts +0 -2
  67. package/dist/types/scripting/WasmCompiler.d.ts +0 -182
  68. package/dist/types/scripting/index.d.ts +0 -19
  69. package/dist/types/social/index.d.ts +0 -1
  70. package/dist/types/systems/NiceAI.d.ts +0 -637
  71. package/dist/types/systems/NiceAbility.d.ts +0 -225
  72. package/dist/types/systems/NiceAccessibility.d.ts +0 -230
  73. package/dist/types/systems/NiceAchievement.d.ts +0 -153
  74. package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
  75. package/dist/types/systems/NiceAchievements.d.ts +0 -230
  76. package/dist/types/systems/NiceAction.d.ts +0 -81
  77. package/dist/types/systems/NiceAlchemy.d.ts +0 -195
  78. package/dist/types/systems/NiceAnalytics.d.ts +0 -493
  79. package/dist/types/systems/NiceAnimation.d.ts +0 -350
  80. package/dist/types/systems/NiceArena.d.ts +0 -215
  81. package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
  82. package/dist/types/systems/NiceAuction.d.ts +0 -157
  83. package/dist/types/systems/NiceAudio.d.ts +0 -224
  84. package/dist/types/systems/NiceAugment.d.ts +0 -187
  85. package/dist/types/systems/NiceAura.d.ts +0 -193
  86. package/dist/types/systems/NiceBank.d.ts +0 -158
  87. package/dist/types/systems/NiceBattlePass.d.ts +0 -150
  88. package/dist/types/systems/NiceBehavior.d.ts +0 -160
  89. package/dist/types/systems/NiceBinding.d.ts +0 -96
  90. package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
  91. package/dist/types/systems/NiceBuff.d.ts +0 -177
  92. package/dist/types/systems/NiceBuilding.d.ts +0 -207
  93. package/dist/types/systems/NiceBullet.d.ts +0 -167
  94. package/dist/types/systems/NiceCamera.d.ts +0 -252
  95. package/dist/types/systems/NiceCard.d.ts +0 -171
  96. package/dist/types/systems/NiceChat.d.ts +0 -148
  97. package/dist/types/systems/NiceCheat.d.ts +0 -375
  98. package/dist/types/systems/NiceClimbing.d.ts +0 -186
  99. package/dist/types/systems/NiceCloud.d.ts +0 -422
  100. package/dist/types/systems/NiceCollision.d.ts +0 -238
  101. package/dist/types/systems/NiceCombo.d.ts +0 -131
  102. package/dist/types/systems/NiceCommand.d.ts +0 -112
  103. package/dist/types/systems/NiceCompanion.d.ts +0 -182
  104. package/dist/types/systems/NiceController.d.ts +0 -144
  105. package/dist/types/systems/NiceCooking.d.ts +0 -193
  106. package/dist/types/systems/NiceCoroutine.d.ts +0 -101
  107. package/dist/types/systems/NiceCrafting.d.ts +0 -228
  108. package/dist/types/systems/NiceCutscene.d.ts +0 -437
  109. package/dist/types/systems/NiceDaily.d.ts +0 -133
  110. package/dist/types/systems/NiceDamage.d.ts +0 -271
  111. package/dist/types/systems/NiceDayNight.d.ts +0 -126
  112. package/dist/types/systems/NiceDebug.d.ts +0 -255
  113. package/dist/types/systems/NiceDestructible.d.ts +0 -150
  114. package/dist/types/systems/NiceDialogue.d.ts +0 -629
  115. package/dist/types/systems/NiceDungeon.d.ts +0 -202
  116. package/dist/types/systems/NiceECS.d.ts +0 -151
  117. package/dist/types/systems/NiceEnchant.d.ts +0 -148
  118. package/dist/types/systems/NiceEntityPool.d.ts +0 -127
  119. package/dist/types/systems/NiceEquipment.d.ts +0 -137
  120. package/dist/types/systems/NiceEvent.d.ts +0 -202
  121. package/dist/types/systems/NiceEventBus.d.ts +0 -164
  122. package/dist/types/systems/NiceFaction.d.ts +0 -173
  123. package/dist/types/systems/NiceFarming.d.ts +0 -163
  124. package/dist/types/systems/NiceFishing.d.ts +0 -196
  125. package/dist/types/systems/NiceFlocking.d.ts +0 -156
  126. package/dist/types/systems/NiceFog.d.ts +0 -137
  127. package/dist/types/systems/NiceFormation.d.ts +0 -140
  128. package/dist/types/systems/NiceGacha.d.ts +0 -134
  129. package/dist/types/systems/NiceGambling.d.ts +0 -175
  130. package/dist/types/systems/NiceGem.d.ts +0 -165
  131. package/dist/types/systems/NiceGesture.d.ts +0 -502
  132. package/dist/types/systems/NiceGrappling.d.ts +0 -154
  133. package/dist/types/systems/NiceGrid.d.ts +0 -142
  134. package/dist/types/systems/NiceGuild.d.ts +0 -162
  135. package/dist/types/systems/NiceHaptics.d.ts +0 -112
  136. package/dist/types/systems/NiceHousing.d.ts +0 -197
  137. package/dist/types/systems/NiceInput.d.ts +0 -280
  138. package/dist/types/systems/NiceInventory.d.ts +0 -534
  139. package/dist/types/systems/NiceLOD.d.ts +0 -144
  140. package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
  141. package/dist/types/systems/NiceLevel.d.ts +0 -304
  142. package/dist/types/systems/NiceLighting.d.ts +0 -214
  143. package/dist/types/systems/NiceLocalization.d.ts +0 -148
  144. package/dist/types/systems/NiceLocomotion.d.ts +0 -398
  145. package/dist/types/systems/NiceLogger.d.ts +0 -117
  146. package/dist/types/systems/NiceLoot.d.ts +0 -176
  147. package/dist/types/systems/NiceMail.d.ts +0 -164
  148. package/dist/types/systems/NiceMap.d.ts +0 -234
  149. package/dist/types/systems/NiceMarriage.d.ts +0 -150
  150. package/dist/types/systems/NiceMastery.d.ts +0 -171
  151. package/dist/types/systems/NiceMatch.d.ts +0 -196
  152. package/dist/types/systems/NiceMatch3.d.ts +0 -118
  153. package/dist/types/systems/NiceMessageBus.d.ts +0 -115
  154. package/dist/types/systems/NiceMinimap.d.ts +0 -258
  155. package/dist/types/systems/NiceMining.d.ts +0 -175
  156. package/dist/types/systems/NiceModding.d.ts +0 -452
  157. package/dist/types/systems/NiceMount.d.ts +0 -152
  158. package/dist/types/systems/NiceNavigation.d.ts +0 -307
  159. package/dist/types/systems/NiceNetwork.d.ts +0 -568
  160. package/dist/types/systems/NiceNotification.d.ts +0 -438
  161. package/dist/types/systems/NiceObjective.d.ts +0 -395
  162. package/dist/types/systems/NiceParticle.d.ts +0 -639
  163. package/dist/types/systems/NiceParty.d.ts +0 -168
  164. package/dist/types/systems/NicePerformance.d.ts +0 -144
  165. package/dist/types/systems/NicePet.d.ts +0 -167
  166. package/dist/types/systems/NicePhotoMode.d.ts +0 -270
  167. package/dist/types/systems/NicePhysics.d.ts +0 -326
  168. package/dist/types/systems/NicePlatformer.d.ts +0 -158
  169. package/dist/types/systems/NicePool.d.ts +0 -128
  170. package/dist/types/systems/NicePortal.d.ts +0 -178
  171. package/dist/types/systems/NicePostProcess.d.ts +0 -254
  172. package/dist/types/systems/NiceProcedural.d.ts +0 -202
  173. package/dist/types/systems/NiceProfile.d.ts +0 -223
  174. package/dist/types/systems/NiceProjectile.d.ts +0 -157
  175. package/dist/types/systems/NicePvP.d.ts +0 -199
  176. package/dist/types/systems/NiceQTE.d.ts +0 -160
  177. package/dist/types/systems/NiceQuest.d.ts +0 -620
  178. package/dist/types/systems/NiceRaid.d.ts +0 -215
  179. package/dist/types/systems/NiceRanking.d.ts +0 -399
  180. package/dist/types/systems/NiceReplay.d.ts +0 -180
  181. package/dist/types/systems/NiceReputation.d.ts +0 -151
  182. package/dist/types/systems/NiceResource.d.ts +0 -200
  183. package/dist/types/systems/NiceRhythm.d.ts +0 -148
  184. package/dist/types/systems/NiceRoguelike.d.ts +0 -276
  185. package/dist/types/systems/NiceRune.d.ts +0 -202
  186. package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
  187. package/dist/types/systems/NiceSceneManager.d.ts +0 -112
  188. package/dist/types/systems/NiceScore.d.ts +0 -186
  189. package/dist/types/systems/NiceScreenFX.d.ts +0 -235
  190. package/dist/types/systems/NiceScreenshot.d.ts +0 -443
  191. package/dist/types/systems/NiceScribe.d.ts +0 -239
  192. package/dist/types/systems/NiceSeason.d.ts +0 -176
  193. package/dist/types/systems/NiceSerialization.d.ts +0 -89
  194. package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
  195. package/dist/types/systems/NiceShop.d.ts +0 -528
  196. package/dist/types/systems/NiceSignal.d.ts +0 -112
  197. package/dist/types/systems/NiceSkillTree.d.ts +0 -237
  198. package/dist/types/systems/NiceSocial.d.ts +0 -580
  199. package/dist/types/systems/NiceSpawner.d.ts +0 -237
  200. package/dist/types/systems/NiceSpell.d.ts +0 -216
  201. package/dist/types/systems/NiceState.d.ts +0 -224
  202. package/dist/types/systems/NiceStateMachine.d.ts +0 -108
  203. package/dist/types/systems/NiceStatus.d.ts +0 -116
  204. package/dist/types/systems/NiceStealth.d.ts +0 -204
  205. package/dist/types/systems/NiceSteam.d.ts +0 -255
  206. package/dist/types/systems/NiceStreaming.d.ts +0 -173
  207. package/dist/types/systems/NiceSwimming.d.ts +0 -166
  208. package/dist/types/systems/NiceTalent.d.ts +0 -154
  209. package/dist/types/systems/NiceTarget.d.ts +0 -121
  210. package/dist/types/systems/NiceTerrain.d.ts +0 -143
  211. package/dist/types/systems/NiceTilemap.d.ts +0 -218
  212. package/dist/types/systems/NiceTimer.d.ts +0 -153
  213. package/dist/types/systems/NiceTournament.d.ts +0 -190
  214. package/dist/types/systems/NiceTrading.d.ts +0 -238
  215. package/dist/types/systems/NiceTransmog.d.ts +0 -142
  216. package/dist/types/systems/NiceTutorial.d.ts +0 -248
  217. package/dist/types/systems/NiceTween.d.ts +0 -164
  218. package/dist/types/systems/NiceUI.d.ts +0 -364
  219. package/dist/types/systems/NiceVFX.d.ts +0 -333
  220. package/dist/types/systems/NiceVehicle.d.ts +0 -176
  221. package/dist/types/systems/NiceVoice.d.ts +0 -502
  222. package/dist/types/systems/NiceWater.d.ts +0 -162
  223. package/dist/types/systems/NiceWave.d.ts +0 -174
  224. package/dist/types/systems/NiceWaypoint.d.ts +0 -165
  225. package/dist/types/systems/NiceWeather.d.ts +0 -225
  226. package/dist/types/systems/NiceXR.d.ts +0 -187
  227. package/dist/types/systems/index.d.ts +0 -182
  228. package/dist/types/templates/index.d.ts +0 -2
  229. package/dist/types/tilemap/index.d.ts +0 -1
  230. package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
  231. package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
  232. package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
  233. package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
  234. package/dist/types/tutorials/content/index.d.ts +0 -5
  235. package/dist/types/tutorials/index.d.ts +0 -6
  236. package/dist/types/ui/index.d.ts +0 -2
  237. package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
  238. package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
  239. package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
  240. package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
  241. package/dist/types/visual-scripting/index.d.ts +0 -6
  242. package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
  243. package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
  244. package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
  245. package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
  246. package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
  247. package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
  248. package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
  249. package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
  250. package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
  251. package/dist/types/visual-scripting/types.d.ts +0 -402
  252. package/dist/types/xr/WebXRLayers.d.ts +0 -319
  253. 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;