From 561db23e5fbfcd110423c6a408ac0a11bebbedac Mon Sep 17 00:00:00 2001
From: MW
Date: Thu, 28 Jun 2007 14:10:05 +0000
Subject: Finished removing the old scripting code, Scene.Scripting.cs and
OpenSim.Framework.Interfaces.Scripting.
---
.../Environment/OpenSim.Region.Environment.csproj | 3 -
.../OpenSim.Region.Environment.dll.build | 1 -
.../Region/Environment/Scenes/Scene.Scripting.cs | 184 ---------------------
OpenSim/Region/Environment/Scenes/Scene.cs | 4 +-
.../Scenes/scripting/Engines/CSharpScriptEngine.cs | 2 +-
.../Scenes/scripting/Engines/JScriptEngine.cs | 2 +-
.../Scenes/scripting/Engines/JSharpScriptEngine.cs | 2 +-
.../Region/Environment/Scenes/scripting/Script.cs | 71 ++++++++
.../Environment/Scenes/scripting/ScriptInfo.cs | 2 +-
.../Environment/Scenes/scripting/ScriptManager.cs | 2 +-
10 files changed, 78 insertions(+), 195 deletions(-)
delete mode 100644 OpenSim/Region/Environment/Scenes/Scene.Scripting.cs
create mode 100644 OpenSim/Region/Environment/Scenes/scripting/Script.cs
(limited to 'OpenSim/Region/Environment')
diff --git a/OpenSim/Region/Environment/OpenSim.Region.Environment.csproj b/OpenSim/Region/Environment/OpenSim.Region.Environment.csproj
index efde96c..4069454 100644
--- a/OpenSim/Region/Environment/OpenSim.Region.Environment.csproj
+++ b/OpenSim/Region/Environment/OpenSim.Region.Environment.csproj
@@ -172,9 +172,6 @@
Code
-
- Code
-
Code
diff --git a/OpenSim/Region/Environment/OpenSim.Region.Environment.dll.build b/OpenSim/Region/Environment/OpenSim.Region.Environment.dll.build
index da73c8c..51924d5 100644
--- a/OpenSim/Region/Environment/OpenSim.Region.Environment.dll.build
+++ b/OpenSim/Region/Environment/OpenSim.Region.Environment.dll.build
@@ -19,7 +19,6 @@
-
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Scripting.cs b/OpenSim/Region/Environment/Scenes/Scene.Scripting.cs
deleted file mode 100644
index 2249c3d..0000000
--- a/OpenSim/Region/Environment/Scenes/Scene.Scripting.cs
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.IO;
-using System.Reflection;
-using OpenSim.Framework;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Types;
-using libsecondlife;
-
-namespace OpenSim.Region.Environment.Scenes
-{
- public partial class Scene
- {
- private Dictionary scriptEngines = new Dictionary();
-
- ///
- ///
- ///
- private void LoadScriptEngines()
- {
- this.LoadScriptPlugins();
- }
-
- ///
- ///
- ///
- public void LoadScriptPlugins()
- {
- string path = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "ScriptEngines");
- string[] pluginFiles = Directory.GetFiles(path, "*.dll");
-
-
- for (int i = 0; i < pluginFiles.Length; i++)
- {
- this.AddPlugin(pluginFiles[i]);
- }
- }
-
- ///
- ///
- ///
- ///
- private void AddPlugin(string FileName)
- {
- Assembly pluginAssembly = Assembly.LoadFrom(FileName);
-
- foreach (Type pluginType in pluginAssembly.GetTypes())
- {
- if (pluginType.IsPublic)
- {
- if (!pluginType.IsAbstract)
- {
- Type typeInterface = pluginType.GetInterface("IScriptEngine", true);
-
- if (typeInterface != null)
- {
- IScriptEngine plug = (IScriptEngine)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
- plug.Init(this);
- this.scriptEngines.Add(plug.GetName(), plug);
-
- }
-
- typeInterface = null;
- }
- }
- }
-
- pluginAssembly = null;
- }
-
- ///
- ///
- ///
- ///
- ///
- ///
- ///
- public void LoadScript(string scriptType, string scriptName, string script, Entity ent)
- {
- if(this.scriptEngines.ContainsKey(scriptType))
- {
- this.scriptEngines[scriptType].LoadScript(script, scriptName, ent.LocalId);
- }
- }
-
- #region IScriptAPI Methods
-
- ///
- ///
- ///
- ///
- ///
- public LLVector3 GetEntityPosition(uint localID)
- {
- LLVector3 res = new LLVector3();
- // Console.WriteLine("script- getting entity " + localID + " position");
- foreach (Entity entity in this.Entities.Values)
- {
- if (entity.LocalId == localID)
- {
- res.X = entity.Pos.X;
- res.Y = entity.Pos.Y;
- res.Z = entity.Pos.Z;
- }
- }
- return res;
- }
-
- ///
- ///
- ///
- ///
- ///
- ///
- ///
- public void SetEntityPosition(uint localID, float x , float y, float z)
- {
- foreach (Entity entity in this.Entities.Values)
- {
- if (entity.LocalId == localID && entity is Primitive)
- {
- LLVector3 pos = entity.Pos;
- pos.X = x;
- pos.Y = y;
- Primitive prim = entity as Primitive;
- // Of course, we really should have asked the physEngine if this is possible, and if not, returned false.
- //prim.UpdatePosition(pos);
- // Console.WriteLine("script- setting entity " + localID + " positon");
- }
- }
-
- }
-
- ///
- ///
- ///
- ///
- public uint GetRandomAvatarID()
- {
- //Console.WriteLine("script- getting random avatar id");
- uint res = 0;
- foreach (Entity entity in this.Entities.Values)
- {
- if (entity is ScenePresence)
- {
- res = entity.LocalId;
- }
- }
- return res;
- }
-
- #endregion
-
-
- }
-}
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index b345c0c..f1de803 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -44,7 +44,7 @@ using OpenSim.Framework.Communications;
using OpenSim.Region.Caches;
using OpenSim.Region.Environment;
using OpenSim.Framework.Servers;
-using OpenSim.Scripting;
+using OpenSim.Region.Enviorment.Scripting;
using OpenSim.Region.Capabilities;
using Caps = OpenSim.Region.Capabilities.Caps;
@@ -52,7 +52,7 @@ namespace OpenSim.Region.Environment.Scenes
{
public delegate bool FilterAvatarList(ScenePresence avatar);
- public partial class Scene : SceneBase, ILocalStorageReceiver, IScriptAPI
+ public partial class Scene : SceneBase, ILocalStorageReceiver
{
protected System.Timers.Timer m_heartbeatTimer = new System.Timers.Timer();
protected Dictionary Avatars;
diff --git a/OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpScriptEngine.cs b/OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpScriptEngine.cs
index 870303f..a232b65 100644
--- a/OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpScriptEngine.cs
+++ b/OpenSim/Region/Environment/Scenes/scripting/Engines/CSharpScriptEngine.cs
@@ -34,7 +34,7 @@ using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
-namespace OpenSim.Scripting
+namespace OpenSim.Region.Enviorment.Scripting
{
public class CSharpScriptEngine : IScriptCompiler
{
diff --git a/OpenSim/Region/Environment/Scenes/scripting/Engines/JScriptEngine.cs b/OpenSim/Region/Environment/Scenes/scripting/Engines/JScriptEngine.cs
index ffae1d7..2d44223 100644
--- a/OpenSim/Region/Environment/Scenes/scripting/Engines/JScriptEngine.cs
+++ b/OpenSim/Region/Environment/Scenes/scripting/Engines/JScriptEngine.cs
@@ -34,7 +34,7 @@ using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.JScript;
-namespace OpenSim.Scripting
+namespace OpenSim.Region.Enviorment.Scripting
{
public class JScriptEngine : IScriptCompiler
{
diff --git a/OpenSim/Region/Environment/Scenes/scripting/Engines/JSharpScriptEngine.cs b/OpenSim/Region/Environment/Scenes/scripting/Engines/JSharpScriptEngine.cs
index b33b55d..51b1512 100644
--- a/OpenSim/Region/Environment/Scenes/scripting/Engines/JSharpScriptEngine.cs
+++ b/OpenSim/Region/Environment/Scenes/scripting/Engines/JSharpScriptEngine.cs
@@ -34,7 +34,7 @@ using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.VJSharp;
-namespace OpenSim.Scripting
+namespace OpenSim.Region.Enviorment.Scripting
{
public class JSharpScriptEngine : IScriptCompiler
{
diff --git a/OpenSim/Region/Environment/Scenes/scripting/Script.cs b/OpenSim/Region/Environment/Scenes/scripting/Script.cs
new file mode 100644
index 0000000..1e64675
--- /dev/null
+++ b/OpenSim/Region/Environment/Scenes/scripting/Script.cs
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using OpenSim.Framework.Console;
+using OpenSim.Framework;
+using OpenSim.Region.Environment;
+using OpenSim.Region.Environment.Scenes;
+
+namespace OpenSim.Region.Enviorment.Scripting
+{
+ public interface IScript
+ {
+ void Initialise(ScriptInfo scriptInfo);
+ string getName();
+ }
+
+ public class TestScript : IScript
+ {
+ ScriptInfo script;
+
+ public string getName()
+ {
+ return "TestScript 0.1";
+ }
+
+ public void Initialise(ScriptInfo scriptInfo)
+ {
+ script = scriptInfo;
+ script.events.OnFrame += new OpenSim.Region.Environment.Scenes.EventManager.OnFrameDelegate(events_OnFrame);
+ script.events.OnNewPresence += new EventManager.OnNewPresenceDelegate(events_OnNewPresence);
+ }
+
+ void events_OnNewPresence(ScenePresence presence)
+ {
+ script.logger.Verbose("Hello " + presence.firstname.ToString() + "!");
+ }
+
+ void events_OnFrame()
+ {
+ //script.logger.Verbose("Hello World!");
+ }
+ }
+}
diff --git a/OpenSim/Region/Environment/Scenes/scripting/ScriptInfo.cs b/OpenSim/Region/Environment/Scenes/scripting/ScriptInfo.cs
index 57df4c4..522a572 100644
--- a/OpenSim/Region/Environment/Scenes/scripting/ScriptInfo.cs
+++ b/OpenSim/Region/Environment/Scenes/scripting/ScriptInfo.cs
@@ -32,7 +32,7 @@ using System.Text;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Framework.Console;
-namespace OpenSim.Scripting
+namespace OpenSim.Region.Enviorment.Scripting
{
///
/// Class which provides access to the world
diff --git a/OpenSim/Region/Environment/Scenes/scripting/ScriptManager.cs b/OpenSim/Region/Environment/Scenes/scripting/ScriptManager.cs
index 5d1d188..576b7a5 100644
--- a/OpenSim/Region/Environment/Scenes/scripting/ScriptManager.cs
+++ b/OpenSim/Region/Environment/Scenes/scripting/ScriptManager.cs
@@ -29,7 +29,7 @@ using System;
using System.Collections.Generic;
using System.Text;
-namespace OpenSim.Scripting
+namespace OpenSim.Region.Enviorment.Scripting
{
public class ScriptManager
{
--
cgit v1.1