SDialogues
Index
| Function Name |
|---|
| void ColorPicker (string title, string okbutton, Action< SColor > onChange, Action< SColor > onSelect, Action onCancel, SColor defaultColor) |
| void YesNoInput (string title, string okbutton, string cancelButton, Action< bool > result) |
| void TextInput (string title, string okButton, Action< string > result) |
| void OpenURL (string url, bool newTab = true) |
| void SendLocalChat (string message, string from) |
Functions
ColorPicker
Opens a color picker dialogue.
void ColorPicker(string title, string okbutton, Action< SColor > onChange, Action< SColor > onSelect, Action onCancel, SColor defaultColor)
| Parameter | Type | Description |
|---|---|---|
| title | string | The title of the color picker window. Choose something brief and appropriate like 'Select a wall color'. |
| okbutton | string | The title of the 'OK' button. Should indicate the action e.g. 'Adjust Wall'. |
| onChange | Action\<SColor> or Closure | Any color change while the color picker is open will trigger onChange(SColor). |
| onSelect | Action\<SColor> or Closure | Triggers onSelect(SColor) once the "ok" button is pressed. |
| onCancel | Action\<SColor> or Closure | The title of the 'OK' button. Should indicate the action e.g. 'Adjust Wall'. |
| defaultColor | SColor | The color to open the colour picker with. |
- Lua
--clicking the object will open a color picker that changes the object's color
thisGameObject = Space.Host.ExecutingObject
originalColor = thisGameObject.Renderer.Material.GetColor("_Color")
OnChange = function(SColor)
thisGameObject.Renderer.Material.SetColor("_Color",SColor)
end
OnSelect = function(SColor)
thisGameObject.Renderer.Material.SetColor("_Color",SColor)
end
OnCancel = function()
thisGameObject.Renderer.Material.SetColor("_Color",originalColor)
end
OnClick = function()
Space.Dialogues.ColorPicker("title","okbutton", OnChange, OnSelect, OnCancel, originalColor)
end
thisGameObject.AddClickable()
thisGameObject.Clickable.OnClick(OnClick)
YesNoInput
Opens a simple Yes/No dialogue.
void YesNoInput(string title, string okbutton, string cancelButton, Action< bool > result)
| Parameter | Type | Description |
|---|---|---|
| title | string | The question to be asked of the user. Should be a simple statement, e.g. "Save room changes?" |
| okbutton | string | The text on the OK button, should indicate the action, e.g. "Save Room" |
| cancelButton | string | The text on the cancel button, should indicate the action, e.g. "Not now" |
| result | Action\<bool> | Will fire a callback event depending on the status of the users actions |
- Lua
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
Opens a text entry window with room for a single multi-line text field.
void TextInput ( string title, string okButton, Action< string > result)
| Parameter | Type | Description |
|---|---|---|
| title | string | The accompanying text. Should be something ala "Enter your username". |
| okButton | string | The text displayed on the OK button, should be descriptive, e.g. "Change Username". |
| result | Action< string > | Triggers result(string) once the "Ok" button is pressed. |
- Lua
hostObject = Space.Host.ExecutingObject
printToLog = function (s)
Space.Log(s)
end
function openDialogue ()
Space.Dialogues.TextInput ("Write anything.", "Done", printToLog)
end
hostObject.OnMouseDown(openDialogue)
OpenURL
Opens the specified URL in the in-app web browser, or the system web browser. In some environments the user may be prompted before this is opened.
void OpenURL ( string url, bool newTab = true )
| Parameter | Type | Description |
|---|---|---|
| url | string | The web address to open. |
| newTab | bool | Does the URL open in a new browser tab? |
- Lua
-- when the object is clicked, the "sine.space" website is opened
hostObject = Space.Host.ExecutingObject
function openTheWebsite ()
Space.Dialogues.OpenURL("http://sine.space/")
end
hostObject.OnMouseDown(openTheWebsite)
SendLocalChat
Sends a message into the 'Script' chat channel.
void SendLocalChat ( string message, string from )
| Parameter | Type | Description |
|---|---|---|
| message | string | The message to appear in the channel. |
| from | string | The 'from' username for the message. |
- Lua
hostObject = Space.Host.ExecutingObject
function chatMessage ()
Space.Dialogues.SendLocalChat ("I've been clicked", "Clickable Object")
end
hostObject.OnMouseDown(chatMessage)