2021-09-22 15:34:53 +01:00
|
|
|
import { Subject } from 'rxjs';
|
2020-01-06 12:10:40 +00:00
|
|
|
import { NewObjectEvent } from '../events/NewObjectEvent';
|
|
|
|
|
import { ObjectUpdatedEvent } from '../events/ObjectUpdatedEvent';
|
|
|
|
|
import { ObjectKilledEvent } from '../events/ObjectKilledEvent';
|
|
|
|
|
import { SelectedObjectEvent } from '../events/SelectedObjectEvent';
|
|
|
|
|
import { ChatEvent } from '../events/ChatEvent';
|
|
|
|
|
import { InstantMessageEvent } from '../events/InstantMessageEvent';
|
|
|
|
|
import { GroupInviteEvent } from '../events/GroupInviteEvent';
|
|
|
|
|
import { FriendRequestEvent } from '../events/FriendRequestEvent';
|
|
|
|
|
import { InventoryOfferedEvent } from '../events/InventoryOfferedEvent';
|
|
|
|
|
import { LureEvent } from '../events/LureEvent';
|
|
|
|
|
import { TeleportEvent } from '../events/TeleportEvent';
|
|
|
|
|
import { DisconnectEvent } from '../events/DisconnectEvent';
|
|
|
|
|
import { GroupChatEvent } from '../events/GroupChatEvent';
|
|
|
|
|
import { GroupNoticeEvent } from '../events/GroupNoticeEvent';
|
|
|
|
|
import { GroupChatSessionJoinEvent } from '../events/GroupChatSessionJoinEvent';
|
|
|
|
|
import { GroupChatSessionAgentListEvent } from '../events/GroupChatSessionAgentListEvent';
|
|
|
|
|
import { FriendResponseEvent } from '../events/FriendResponseEvent';
|
|
|
|
|
import { ScriptDialogEvent } from '../events/ScriptDialogEvent';
|
|
|
|
|
import { EventQueueStateChangeEvent } from '../events/EventQueueStateChangeEvent';
|
|
|
|
|
import { FriendOnlineEvent } from '../events/FriendOnlineEvent';
|
|
|
|
|
import { FriendRightsEvent } from '../events/FriendRightsEvent';
|
|
|
|
|
import { FriendRemovedEvent } from '../events/FriendRemovedEvent';
|
|
|
|
|
import { ObjectPhysicsDataEvent } from '../events/ObjectPhysicsDataEvent';
|
|
|
|
|
import { ParcelPropertiesEvent } from '../events/ParcelPropertiesEvent';
|
2020-01-09 17:53:22 +00:00
|
|
|
import { ObjectResolvedEvent } from '../events/ObjectResolvedEvent';
|
2020-11-19 16:51:14 +00:00
|
|
|
import { Avatar } from './public/Avatar';
|
|
|
|
|
import { BulkUpdateInventoryEvent } from '../events/BulkUpdateInventoryEvent';
|
2020-11-23 12:56:21 +00:00
|
|
|
import { InventoryResponseEvent } from '../events/InventoryResponseEvent';
|
2020-11-24 17:04:53 +00:00
|
|
|
import { LandStatsEvent } from '../events/LandStatsEvent';
|
|
|
|
|
import { SimStatsEvent } from '../events/SimStatsEvent';
|
2020-12-01 15:48:46 +00:00
|
|
|
import { BalanceUpdatedEvent } from '../events/BalanceUpdatedEvent';
|
2017-11-30 04:11:59 +00:00
|
|
|
|
|
|
|
|
export class ClientEvents
|
|
|
|
|
{
|
|
|
|
|
onNearbyChat: Subject<ChatEvent> = new Subject<ChatEvent>();
|
2017-12-13 19:55:08 +00:00
|
|
|
onInstantMessage: Subject<InstantMessageEvent> = new Subject<InstantMessageEvent>();
|
|
|
|
|
onGroupInvite: Subject<GroupInviteEvent> = new Subject<GroupInviteEvent>();
|
|
|
|
|
onFriendRequest: Subject<FriendRequestEvent> = new Subject<FriendRequestEvent>();
|
2017-12-19 19:59:06 +00:00
|
|
|
onInventoryOffered: Subject<InventoryOfferedEvent> = new Subject<InventoryOfferedEvent>();
|
2017-11-30 04:11:59 +00:00
|
|
|
onLure: Subject<LureEvent> = new Subject<LureEvent>();
|
|
|
|
|
onTeleportEvent: Subject<TeleportEvent> = new Subject<TeleportEvent>();
|
2017-12-13 19:55:08 +00:00
|
|
|
onDisconnected: Subject<DisconnectEvent> = new Subject<DisconnectEvent>();
|
|
|
|
|
onCircuitLatency: Subject<number> = new Subject<number>();
|
2017-12-14 18:22:41 +00:00
|
|
|
onGroupChat: Subject<GroupChatEvent> = new Subject<GroupChatEvent>();
|
2018-12-22 12:05:17 +11:00
|
|
|
onGroupNotice: Subject<GroupNoticeEvent> = new Subject<GroupNoticeEvent>();
|
2017-12-15 19:13:45 +00:00
|
|
|
onGroupChatSessionJoin: Subject<GroupChatSessionJoinEvent> = new Subject<GroupChatSessionJoinEvent>();
|
2017-12-19 17:58:25 +00:00
|
|
|
onGroupChatAgentListUpdate: Subject<GroupChatSessionAgentListEvent> = new Subject<GroupChatSessionAgentListEvent>();
|
2017-12-19 20:25:42 +00:00
|
|
|
onFriendResponse: Subject<FriendResponseEvent> = new Subject<FriendResponseEvent>();
|
2020-11-23 12:56:21 +00:00
|
|
|
onInventoryResponse: Subject<InventoryResponseEvent> = new Subject<InventoryResponseEvent>();
|
2018-10-08 00:56:33 +11:00
|
|
|
onScriptDialog: Subject<ScriptDialogEvent> = new Subject<ScriptDialogEvent>();
|
2018-10-07 17:06:54 +01:00
|
|
|
onEventQueueStateChange: Subject<EventQueueStateChangeEvent> = new Subject<EventQueueStateChangeEvent>();
|
2018-10-12 14:34:43 +01:00
|
|
|
onFriendOnline: Subject<FriendOnlineEvent> = new Subject<FriendOnlineEvent>();
|
|
|
|
|
onFriendRights: Subject<FriendRightsEvent> = new Subject<FriendRightsEvent>();
|
|
|
|
|
onFriendRemoved: Subject<FriendRemovedEvent> = new Subject<FriendRemovedEvent>();
|
- Add "GET" method to Caps
- New events: ObjectPhysicsDataEvent, ParcelPropertiesEvent, NewObjectEvent, ObjectUpdateEvent, ObjectKilledEvent
- Added getXML function to Color4, Vector2, Vector3, Vector4, GameObject, Region, Quaternion, UUID for opensim-compatible XML export
- Added TextureAnim and ParticleSystem decoding to the "full" ObjectStore
- Object store will automatically request missing "parent" prims
- "setPersist" - When persist is TRUE, the ObjectStore will not forget about "killed" prims - useful for region scanning
- Support for Flexible params, Light params, LightImage params, Mesh data, Sculpt maps
- Fixed object scale being incorrectly calculated
- Add terrain decoding (this was a ballache)
- Add parcel map decoding
- Add support for region windlight settings (region.environment)
- Add support for materials (normal / specular maps)
- Add getBuffer, getLong and bitwiseOr to UUID
- Added a circular-reference-safe JSONStringify to Utils
- Add XferFile capability to Circuit
PUBLIC API:
AssetCommands:
- Rework "downloadAsset" to detect failures
- NEW: downloadInventoryAsset() - uses TransferRequest for prim inventory items
- NEW: getMaterials() - resolves material UUIDs
RegionCommands:
- NEW: getTerrainTextures()
- NEW: exportSettings() - OpenSim XML export of region settings
- NEW: async getTerrain() - Get binary terrain heightmap, 256x256 float32
- resolveObjects() - now fetches task inventory contents too.
- resolveObjects() - fix calculation of land impact
- NEW: getObjectByLocalID(localID: number, timeout: number)
- NEW: getObjectByUUID(uuid: UUID, timeout: number)
- NEW: getParcels();
- NEW: pruneObjects - removes missing GameObjects from a list
- NEW: setPersist - prevent objectstore from forgetting about killed gameobjects
2018-10-31 11:28:24 +00:00
|
|
|
onPhysicsDataEvent: Subject<ObjectPhysicsDataEvent> = new Subject<ObjectPhysicsDataEvent>();
|
|
|
|
|
onParcelPropertiesEvent: Subject<ParcelPropertiesEvent> = new Subject<ParcelPropertiesEvent>();
|
|
|
|
|
onNewObjectEvent: Subject<NewObjectEvent> = new Subject<NewObjectEvent>();
|
|
|
|
|
onObjectUpdatedEvent: Subject<ObjectUpdatedEvent> = new Subject<ObjectUpdatedEvent>();
|
2020-11-19 16:51:14 +00:00
|
|
|
onObjectUpdatedTerseEvent: Subject<ObjectUpdatedEvent> = new Subject<ObjectUpdatedEvent>();
|
- Add "GET" method to Caps
- New events: ObjectPhysicsDataEvent, ParcelPropertiesEvent, NewObjectEvent, ObjectUpdateEvent, ObjectKilledEvent
- Added getXML function to Color4, Vector2, Vector3, Vector4, GameObject, Region, Quaternion, UUID for opensim-compatible XML export
- Added TextureAnim and ParticleSystem decoding to the "full" ObjectStore
- Object store will automatically request missing "parent" prims
- "setPersist" - When persist is TRUE, the ObjectStore will not forget about "killed" prims - useful for region scanning
- Support for Flexible params, Light params, LightImage params, Mesh data, Sculpt maps
- Fixed object scale being incorrectly calculated
- Add terrain decoding (this was a ballache)
- Add parcel map decoding
- Add support for region windlight settings (region.environment)
- Add support for materials (normal / specular maps)
- Add getBuffer, getLong and bitwiseOr to UUID
- Added a circular-reference-safe JSONStringify to Utils
- Add XferFile capability to Circuit
PUBLIC API:
AssetCommands:
- Rework "downloadAsset" to detect failures
- NEW: downloadInventoryAsset() - uses TransferRequest for prim inventory items
- NEW: getMaterials() - resolves material UUIDs
RegionCommands:
- NEW: getTerrainTextures()
- NEW: exportSettings() - OpenSim XML export of region settings
- NEW: async getTerrain() - Get binary terrain heightmap, 256x256 float32
- resolveObjects() - now fetches task inventory contents too.
- resolveObjects() - fix calculation of land impact
- NEW: getObjectByLocalID(localID: number, timeout: number)
- NEW: getObjectByUUID(uuid: UUID, timeout: number)
- NEW: getParcels();
- NEW: pruneObjects - removes missing GameObjects from a list
- NEW: setPersist - prevent objectstore from forgetting about killed gameobjects
2018-10-31 11:28:24 +00:00
|
|
|
onObjectKilledEvent: Subject<ObjectKilledEvent> = new Subject<ObjectKilledEvent>();
|
2018-11-15 03:10:14 +00:00
|
|
|
onSelectedObjectEvent: Subject<SelectedObjectEvent> = new Subject<SelectedObjectEvent>();
|
2020-01-09 17:53:22 +00:00
|
|
|
onObjectResolvedEvent: Subject<ObjectResolvedEvent> = new Subject<ObjectResolvedEvent>();
|
2020-11-19 16:51:14 +00:00
|
|
|
onAvatarEnteredRegion: Subject<Avatar> = new Subject<Avatar>();
|
|
|
|
|
onRegionTimeDilation: Subject<number> = new Subject<number>();
|
|
|
|
|
onBulkUpdateInventoryEvent: Subject<BulkUpdateInventoryEvent> = new Subject<BulkUpdateInventoryEvent>();
|
2020-11-24 17:04:53 +00:00
|
|
|
onLandStatReplyEvent: Subject<LandStatsEvent> = new Subject<LandStatsEvent>();
|
|
|
|
|
onSimStats: Subject<SimStatsEvent> = new Subject<SimStatsEvent>();
|
2020-12-01 15:48:46 +00:00
|
|
|
onBalanceUpdated: Subject<BalanceUpdatedEvent> = new Subject<BalanceUpdatedEvent>();
|
2017-11-30 04:11:59 +00:00
|
|
|
}
|