- Implement 3D space rtree-based indexing in the Full ObjectStore

- Implement ScriptDialogReply thanks to Hintswen
- Add a rudimentary object search - doesn't work fully yet because of the missing messages
This commit is contained in:
Casper Warden
2018-10-12 17:31:14 +01:00
parent bb6915e9f5
commit 9eee7f9716
34 changed files with 502 additions and 209 deletions

View File

@@ -7,7 +7,8 @@ import {ChatFromViewerMessage} from '../messages/ChatFromViewer';
import {ChatType} from '../../enums/ChatType';
import {InstantMessageDialog} from '../../enums/InstantMessageDialog';
import Timer = NodeJS.Timer;
import {GroupChatSessionJoinEvent, PacketFlags} from '../..';
import {GroupChatSessionJoinEvent, PacketFlags, ScriptDialogEvent} from '../..';
import {ScriptDialogReplyMessage} from '../messages/ScriptDialogReply';
export class CommunicationsCommands extends CommandsBase
{
@@ -402,4 +403,21 @@ export class CommunicationsCommands extends CommandsBase
});
});
}
respondToScriptDialog(event: ScriptDialogEvent, buttonIndex: number): Promise<void>
{
const dialog: ScriptDialogReplyMessage = new ScriptDialogReplyMessage();
dialog.AgentData = {
AgentID: this.agent.agentID,
SessionID: this.circuit.sessionID
};
dialog.Data = {
ObjectID: event.ObjectID,
ChatChannel: event.ChatChannel,
ButtonIndex: buttonIndex,
ButtonLabel: Utils.StringToBuffer(event.Buttons[buttonIndex])
};
const sequenceNo = this.circuit.sendMessage(dialog, PacketFlags.Reliable);
return this.circuit.waitForAck(sequenceNo, 10000);
}
}