|
|
Line 1: |
Line 1: |
− | The SDialogue class allows you to issue dialogue messages to the player to confirm various actions.
| + | https://docs.sine.space/v/scripting/client-scripting/viewer/sdialogues |
− | | + | |
− | ==Members==
| + | |
− | {{ScriptFunction|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|5=<br><br>
| + | |
− | hostObject = Space.Host.ExecutingObject;<br>
| + | |
− | local deltaPos = Vector.New(0,100,0);<br>
| + | |
− | local teleportTo = hostObject.WorldPosition + deltaPos;<br><br>
| + | |
− | function teleportMeUp (b)<br>
| + | |
− | :if b then<br>
| + | |
− | ::Space.Scene.PlayerAvatar.Teleport(teleportTo);<br>
| + | |
− | :end<br>
| + | |
− | end<br><br>
| + | |
− | function openDialogue ()<br>
| + | |
− | :Space.Dialogues.YesNoInput ("Ready for a teleport?", "Yes", "No", teleportMeUp);<br>
| + | |
− | end<br><br>
| + | |
− | hostObject.SubscribeToEvents();<br>
| + | |
− | hostObject.OnMouseDown(openDialogue);<br>
| + | |
− | }}
| + | |
− | | + | |
− | {{ScriptFunction|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|5=
| + | |
− | ''-- There is a known bug that has been fixed in the live viewer, but not in the Editor Pack (v. 10.5)''<br><br>
| + | |
− | hostObject = Space.Host.ExecutingObject;<br><br>
| + | |
− | printToLog = function (s)<br>
| + | |
− | :Space.Log(s);<br>
| + | |
− | end<br><br>
| + | |
− | function openDialogue ()<br>
| + | |
− | :Space.Dialogues.TextInput ("Write anything.", "Done", printToLog);<br>
| + | |
− | end<br><br>
| + | |
− | hostObject.SubscribeToEvents();<br>
| + | |
− | hostObject.OnMouseDown(openDialogue);}}
| + | |
− | | + | |
− | {{ScriptFunction|void|OpenURL|(string url);|Opens a URL in a web browser|5=
| + | |
− | hostObject = Space.Host.ExecutingObject;<br><br>
| + | |
− | function openTheWebsite ()<br>
| + | |
− | :Space.Dialogues.OpenURL ("http://sine.space/");<br>
| + | |
− | end<br><br>
| + | |
− | hostObject.SubscribeToEvents();<br>
| + | |
− | hostObject.OnMouseDown(openTheWebsite);<br>
| + | |
− | ''-- when the object is clicked, the "sine.space" website is opened''}}
| + | |
− | | + | |
− | {{ScriptFunction|void|SendLocalChat|(string text, string from);|Sends local chat to the client window|5=
| + | |
− | hostObject = Space.Host.ExecutingObject;<br><br>
| + | |
− | function chatMessage ()<br>
| + | |
− | :Space.Dialogues.SendLocalChat ("I've been clicked", "Clickable Object");<br>
| + | |
− | end<br><br>
| + | |
− | hostObject.SubscribeToEvents();<br>
| + | |
− | hostObject.OnMouseDown(chatMessage);}}
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | {{ScriptFunction|void|ColorPicker|(string title, string okbutton, Action< SColor > onChange, Action< SColor > onSelect, Action onCancel, SColor defaultColor);|Opens a color picker dialogue. Any change while the color picker is open will trigger onChange(SColor). Clicking 'ok' will trigger onSelect(SColor), and clicking cancel will trigger onCancel(). [Might not work in Editor Pack. Works on Viewer.]|5=<pre>--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)</pre>}}
| + | |
− | | + | |
− | | + | |
− | | + | |
− | {{Scripting Navbox}}
| + | |