Scripting/SDialogues

From sine.space Wiki
Jump to: navigation, search

The SDialogue class allows you to issue dialogue messages to the player to confirm various actions.

Members

YesNoInput

void YesNoInput (string title, string okbutton, string cancelButton, Action<bool> result);

Shows a yes/no dialogue box to the user, and returns the result via the result callback

-- There is a known bug that has been fixed in the live viewer, but not in the Editor Pack (v. 10.5)

hostObject = Space.Host.ExecutingObject;
local deltaPos = Vector.New(0,100,0);
local teleportTo = hostObject.WorldPosition + deltaPos;

function teleportMeUp (b)

if b then
Space.Scene.PlayerAvatar.Teleport(teleportTo);
end

end

function openDialogue ()

Space.Dialogues.YesNoInput ("Ready for a teleport?", "Yes", "No", teleportMeUp);

end

hostObject.SubscribeToEvents();

hostObject.OnMouseDown(openDialogue);

TextInput

void TextInput (string title, string okbutton, Action<string> result);

Shows a text input dialogue box to the user, and returns the result via the result callback

-- There is a known bug that has been fixed in the live viewer, but not in the Editor Pack (v. 10.5)

hostObject = Space.Host.ExecutingObject;

printToLog = function (s)

Space.Log(s);

end

function openDialogue ()

Space.Dialogues.TextInput ("Write anything.", "Done", printToLog);

end

hostObject.SubscribeToEvents();

hostObject.OnMouseDown(openDialogue);

OpenURL

void OpenURL (string url);

Opens a URL in a web browser

hostObject = Space.Host.ExecutingObject;

function openTheWebsite ()

Space.Dialogues.OpenURL ("http://sine.space/");

end

hostObject.SubscribeToEvents();
hostObject.OnMouseDown(openTheWebsite);

-- when the object is clicked, the "sine.space" website is opened

SendLocalChat

void SendLocalChat (string text, string from);

Sends local chat to the client window

hostObject = Space.Host.ExecutingObject;

function chatMessage ()

Space.Dialogues.SendLocalChat ("I've been clicked", "Clickable Object");

end

hostObject.SubscribeToEvents();

hostObject.OnMouseDown(chatMessage);