From 55c1fbeaa215fd2b2e65c51d0cd2aae53892f135 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 19 Feb 2017 19:23:11 -0500 Subject: Make title text back color transparent --- ShiftOS_TheReturn/Scripting.cs | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) (limited to 'ShiftOS_TheReturn/Scripting.cs') diff --git a/ShiftOS_TheReturn/Scripting.cs b/ShiftOS_TheReturn/Scripting.cs index eca94fc..cfa1549 100644 --- a/ShiftOS_TheReturn/Scripting.cs +++ b/ShiftOS_TheReturn/Scripting.cs @@ -38,6 +38,26 @@ using System.Net; namespace ShiftOS.Engine.Scripting { + [Exposed("strutils")] + public class StringUtils + { + public bool endswith(string operand, string value) + { + return operand.EndsWith(value); + } + + public bool startswith(string operand, string value) + { + return operand.StartsWith(value); + } + + public bool contains(string operand, string value) + { + return operand.Contains(value); + } + } + + public class LuaInterpreter { public dynamic Lua = new DynamicLua.DynamicLua(); @@ -81,13 +101,23 @@ end"); public void SetupAPIs() { - + Lua.random = new Func((min, max) => + { + return new Random().Next(min, max); + }); Lua.registerEvent = new Action>((eventName, callback) => { LuaEvent += (e, s) => { - if(e == eventName) - callback?.Invoke(s); + if (e == eventName) + try + { + callback?.Invoke(s); + } + catch(Exception ex) + { + Infobox.Show("Event propagation error.", "An error occurred while propagating the " + eventName + " event. " + ex.Message); + } }; }); //This temporary proxy() method will be used by the API prober. -- cgit v1.2.3