Add a frame based watchdog function to keyframed motion

This commit is contained in:
Melanie
2012-06-08 15:14:38 +02:00
parent bdc62144ae
commit 2d98d6354c

View File

@@ -64,6 +64,10 @@ namespace OpenSim.Region.Framework.Scenes
[NonSerialized()]
protected Timer m_timer = new Timer();
[NonSerialized()]
protected bool m_frameHooked;
[NonSerialized()]
protected int frameCount = 0;
[NonSerialized()]
private SceneObjectGroup m_group;
@@ -162,6 +166,22 @@ namespace OpenSim.Region.Framework.Scenes
if (m_keyframes.Length > 0)
m_timer.Start();
m_running = true;
if (!m_frameHooked)
{
m_group.Scene.EventManager.OnFrame += OnFrame;
m_frameHooked = true;
}
}
private void OnFrame()
{
frameCount++;
if (frameCount >= 30)
{
frameCount = 0;
if (m_running)
Start();
}
}
public void Stop()