vs2017 debug seems to get very confused with our script class called Timer (run runprebuild)

This commit is contained in:
UbitUmarov
2021-03-11 23:54:34 +00:00
parent 8712c7100e
commit 60868fe975
6 changed files with 51 additions and 262 deletions

View File

@@ -36,7 +36,7 @@ using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.ScriptEngine.Interfaces;
using OpenSim.Region.ScriptEngine.Shared;
using OpenSim.Region.ScriptEngine.Shared.Api.Plugins;
using Timer=OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Timer;
using ScriptTimer=OpenSim.Region.ScriptEngine.Shared.Api.Plugins.ScriptTimer;
using System.Reflection;
using log4net;
@@ -68,8 +68,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
private static Dictionary<IScriptEngine, Dataserver> m_Dataserver =
new Dictionary<IScriptEngine, Dataserver>();
private static Dictionary<IScriptEngine, Timer> m_Timer =
new Dictionary<IScriptEngine, Timer>();
private static Dictionary<IScriptEngine, ScriptTimer> m_ScriptTimer =
new Dictionary<IScriptEngine, ScriptTimer>();
private static Dictionary<IScriptEngine, Listener> m_Listener =
new Dictionary<IScriptEngine, Listener>();
private static Dictionary<IScriptEngine, HttpRequest> m_HttpRequest =
@@ -88,12 +88,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
}
}
public Timer TimerPlugin
public ScriptTimer TimerPlugin
{
get
{
lock (staticLock)
return m_Timer[m_ScriptEngine];
return m_ScriptTimer[m_ScriptEngine];
}
}
@@ -161,8 +161,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// Create instances of all plugins
if (!m_Dataserver.ContainsKey(m_ScriptEngine))
m_Dataserver[m_ScriptEngine] = new Dataserver(this);
if (!m_Timer.ContainsKey(m_ScriptEngine))
m_Timer[m_ScriptEngine] = new Timer(this);
if (!m_ScriptTimer.ContainsKey(m_ScriptEngine))
m_ScriptTimer[m_ScriptEngine] = new ScriptTimer(this);
if (!m_HttpRequest.ContainsKey(m_ScriptEngine))
m_HttpRequest[m_ScriptEngine] = new HttpRequest(this);
if (!m_Listener.ContainsKey(m_ScriptEngine))
@@ -258,8 +258,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// Check Listeners
try { m_Listener[s].CheckListeners(); } catch {}
// Check timers
try { m_Timer[s].CheckTimerEvents(); } catch {}
// Check ScriptTimers
try { m_ScriptTimer[s].CheckTimerEvents(); } catch {}
// Check Sensors
try { m_SensorRepeat[s].CheckSenseRepeaterEvents(); } catch {}
@@ -285,8 +285,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// Remove dataserver events
m_Dataserver[engine].RemoveEvents(localID, itemID);
// Remove from: Timers
m_Timer[engine].UnSetTimerEvents(localID, itemID);
// Remove from: ScriptTimers
m_ScriptTimer[engine].UnSetTimerEvents(localID, itemID);
if(engine.World != null)
{
@@ -366,16 +366,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
}
/// <summary>
/// Get the timer plugin for this script engine.
/// Get the ScriptTimer plugin for this script engine.
/// </summary>
/// <param name="engine"></param>
/// <returns></returns>
public static Timer GetTimerPlugin(IScriptEngine engine)
public static ScriptTimer GetTimerPlugin(IScriptEngine engine)
{
lock (staticLock)
{
if (m_Timer.ContainsKey(engine))
return m_Timer[engine];
if (m_ScriptTimer.ContainsKey(engine))
return m_ScriptTimer[engine];
else
return null;
}
@@ -411,12 +411,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
data.AddRange(listeners);
}
Object[] timers=m_Timer[engine].GetSerializationData(itemID);
if (timers.Length > 0)
Object[] ScriptTimers=m_ScriptTimer[engine].GetSerializationData(itemID);
if (ScriptTimers.Length > 0)
{
data.Add("timer");
data.Add(timers.Length);
data.AddRange(timers);
data.Add(ScriptTimers.Length);
data.AddRange(ScriptTimers);
}
Object[] sensors = m_SensorRepeat[engine].GetSerializationData(itemID);
@@ -459,7 +459,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
hostID, item);
break;
case "timer":
m_Timer[engine].CreateFromData(localID, itemID,
m_ScriptTimer[engine].CreateFromData(localID, itemID,
hostID, item);
break;
case "sensor":