mirror of
https://github.com/opensim/opensim.git
synced 2026-05-14 18:55:39 +08:00
Instead of passing separate engine, part and item components to script APIs, pass down IScriptInstance instead.
This is to allow the future co-operative script thread terminate feature to detect and act upon termination requests. This splits the assembly and state loading out from the ScriptInstance() constructor to a separate Load() method in order to facilititate continued script logic regression testing.
This commit is contained in:
@@ -29,6 +29,7 @@ using System;
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
using OpenSim.Region.ScriptEngine.Shared;
|
||||
|
||||
namespace OpenSim.Region.ScriptEngine.Interfaces
|
||||
{
|
||||
@@ -38,11 +39,8 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
|
||||
/// Initialize the API
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Each API has an identifier, which is used to load the
|
||||
/// proper runtime assembly at load time.
|
||||
/// <param name='engine'>/param>
|
||||
/// <param name='part'></param>
|
||||
/// <param name='item'></param>
|
||||
void Initialize(IScriptEngine engine, SceneObjectPart part, TaskInventoryItem item);
|
||||
/// Each API has an identifier, which is used to load the proper runtime assembly at load time.
|
||||
/// <param name='scriptInstance'>/param>
|
||||
void Initialize(IScriptInstance scriptInstance);
|
||||
}
|
||||
}
|
||||
@@ -31,6 +31,7 @@ using System.Collections.Generic;
|
||||
using OpenMetaverse;
|
||||
using log4net;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
using OpenSim.Region.ScriptEngine.Shared;
|
||||
using OpenSim.Region.ScriptEngine.Interfaces;
|
||||
|
||||
@@ -105,6 +106,11 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
|
||||
/// </summary>
|
||||
long MeasurementPeriodExecutionTime { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Scene part in which this script instance is contained.
|
||||
/// </summary>
|
||||
SceneObjectPart Part { get; }
|
||||
|
||||
IScriptEngine Engine { get; }
|
||||
UUID AppDomain { get; set; }
|
||||
string PrimName { get; }
|
||||
@@ -124,6 +130,12 @@ namespace OpenSim.Region.ScriptEngine.Interfaces
|
||||
|
||||
uint LocalID { get; }
|
||||
UUID AssetID { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Inventory item containing the script used.
|
||||
/// </summary>
|
||||
TaskInventoryItem ScriptTask { get; }
|
||||
|
||||
Queue EventQueue { get; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user