* Changed SimpleApp to use EventManager and Scene timer

* Refactored a lot of m_* and public -> wrappers
This commit is contained in:
lbsa71
2007-07-17 17:47:23 +00:00
parent b3830528d1
commit d95918f228
9 changed files with 432 additions and 423 deletions

View File

@@ -12,6 +12,7 @@ using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Types;
using OpenSim.Framework.Data;
using OpenSim.Framework.Utilities;
using OpenSim.Region.Environment.Scenes;
namespace SimpleApp
{
@@ -78,9 +79,9 @@ namespace SimpleApp
#pragma warning restore 67
private LLUUID myID = LLUUID.Random();
public MyNpcCharacter()
public MyNpcCharacter( EventManager eventManager )
{
eventManager.OnFrame += Update;
}
public virtual LLVector3 StartPos
@@ -143,18 +144,9 @@ namespace SimpleApp
{
this.OnRegionHandShakeReply(this);
this.OnCompleteMovementToRegion();
this.StartMovement();
}
public void StartMovement()
{
Timer timer = new Timer();
timer.Enabled = true;
timer.Interval = 500;
timer.Elapsed += new ElapsedEventHandler(this.Heartbeat);
}
public void Heartbeat(object sender, EventArgs e)
private void Update( )
{
Encoding enc = Encoding.ASCII;

View File

@@ -21,20 +21,15 @@ namespace SimpleApp
String instanceName = "_Total";
m_counter = new PerformanceCounter(objectName, counterName, instanceName);
Timer timer = new Timer();
timer.Enabled = true;
timer.Interval = 100;
timer.Elapsed += new ElapsedEventHandler(this.Heartbeat);
}
public void Heartbeat(object sender, EventArgs e)
public override void Update( )
{
float cpu = m_counter.NextValue() / 40f;
LLVector3 size = new LLVector3(cpu, cpu, cpu);
rootPrimitive.ResizeGoup( size );
update();
base.Update();
}
}
}

View File

@@ -74,24 +74,6 @@ namespace SimpleApp
avatar.Pos = new LLVector3(128, 128, 26);
}
public override void Update()
{
foreach (LLUUID UUID in Entities.Keys)
{
Entities[UUID].updateMovement();
}
lock (this.m_syncRoot)
{
this.phyScene.Simulate(timeStep);
}
foreach (LLUUID UUID in Entities.Keys)
{
Entities[UUID].update();
}
}
#endregion
}
}

View File

@@ -54,6 +54,7 @@ namespace SimpleApp
UDPServer udpServer;
Scene scene = SetupScene(regionInfo, out udpServer);
scene.StartTimer();
udpServer.ServerListener();
@@ -64,7 +65,7 @@ namespace SimpleApp
SceneObject m_sceneObject = new MySceneObject(scene, scene.EventManager, LLUUID.Zero, scene.PrimIDAllocate(), pos, shape);
scene.AddEntity(m_sceneObject);
MyNpcCharacter m_character = new MyNpcCharacter();
MyNpcCharacter m_character = new MyNpcCharacter( scene.EventManager );
scene.AddNewClient(m_character, false);
m_log.WriteLine(LogPriority.NORMAL, "Press enter to quit.");