Add a frame based watchdog function to keyframed motion

avinationmerge
Melanie 2012-06-08 15:14:38 +02:00
parent bdc62144ae
commit 2d98d6354c
1 changed files with 20 additions and 0 deletions

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()