mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 14:16:07 +08:00
Added comments to ScriptEngine classes that explains what their purpose is
This commit is contained in:
@@ -36,6 +36,14 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
|
||||
{
|
||||
public class Compiler
|
||||
{
|
||||
|
||||
// * Uses "LSL2Converter" to convert LSL to C# if necessary.
|
||||
// * Compiles C#-code into an assembly
|
||||
// * Returns assembly name ready for AppDomain load.
|
||||
//
|
||||
// Assembly is compiled using LSL_BaseClass as base. Look at debug C# code file created when LSL script is compiled for full details.
|
||||
//
|
||||
|
||||
private LSL2CSConverter LSL_Converter = new LSL2CSConverter();
|
||||
private CSharpCodeProvider codeProvider = new CSharpCodeProvider();
|
||||
private static UInt64 scriptCompileCounter = 0;
|
||||
|
||||
@@ -41,6 +41,14 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
|
||||
//[Serializable]
|
||||
public class LSL_BaseClass : MarshalByRefObject, LSL_BuiltIn_Commands_Interface, IScript
|
||||
{
|
||||
|
||||
//
|
||||
// Included as base for any LSL-script that is compiled.
|
||||
// Any function added here will be accessible to the LSL script. But it must also be added to "LSL_BuiltIn_Commands_Interface" in "OpenSim.Region.ScriptEngine.Common" class.
|
||||
//
|
||||
// Security note: This script will be running inside an restricted AppDomain. Currently AppDomain is not very restricted.zxs
|
||||
//
|
||||
|
||||
// Object never expires
|
||||
public override Object InitializeLifetimeService()
|
||||
{
|
||||
|
||||
@@ -47,6 +47,12 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
||||
// REMEMBER TO UPDATE http://opensimulator.org/wiki/LlFunction_implementation_status
|
||||
//
|
||||
|
||||
// Notes:
|
||||
// * If any function here needs to execute a LSL event in the script, use instance of "EventQueueManager" in "ScriptEngine".
|
||||
// * If any function here needs to do some more advanced stuff like waiting for IO callbacks or similar that takes a long time then use "llSetTimerEvent" function as example.
|
||||
// There is a class called "LSLLongCmdHandler" that is used for long LSL commands.
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Contains all LSL ll-functions. This class will be in Default AppDomain.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user