Add support for key, vector, rotation and list types for both

arguments and return values to the modInvoke family of functions.

See http://opensimulator.org/wiki/OSSL_Script_Library/ModInvoke
This commit is contained in:
Mic Bowman
2012-03-24 22:43:42 -07:00
parent 164706043d
commit a14437ad5a
4 changed files with 238 additions and 75 deletions

View File

@@ -28,26 +28,26 @@
using System.Collections;
using OpenSim.Region.ScriptEngine.Interfaces;
using key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
using rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
{
public interface IMOD_Api
{
// Invocation functions
string modInvokeS(string fname, params object[] parms);
int modInvokeI(string fname, params object[] parms);
float modInvokeF(string fname, params object[] parms);
// vector modInvokeV(string fname, params object[] parms);
// rotation modInvokeV(string fname, params object[] parms);
// key modInvokeK(string fname, params object[] parms);
// list modInvokeL(string fname, params object[] parms);
LSL_String modInvokeS(string fname, params object[] parms);
LSL_Integer modInvokeI(string fname, params object[] parms);
LSL_Float modInvokeF(string fname, params object[] parms);
LSL_Key modInvokeK(string fname, params object[] parms);
LSL_Vector modInvokeV(string fname, params object[] parms);
LSL_Rotation modInvokeR(string fname, params object[] parms);
LSL_List modInvokeL(string fname, params object[] parms);
//Module functions
string modSendCommand(string modules, string command, string k);