Skip to content

Commit

Permalink
No more World.LoopStart(), we will see if there are any performance i…
Browse files Browse the repository at this point in the history
…ssues
  • Loading branch information
thelinuxlich committed Jun 7, 2011
1 parent b78c664 commit 8a82748
Show file tree
Hide file tree
Showing 8 changed files with 17 additions and 45 deletions.
Binary file modified Artemis.pidb
Binary file not shown.
Binary file modified ArtemisTest/ArtemisTest.pidb
Binary file not shown.
2 changes: 1 addition & 1 deletion ArtemisTest/Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public void TestCase ()
{
World world = new World();
SystemManager systemManager = world.GetSystemManager();
HealthBarRenderSystem hs = systemManager.SetSystem<HealthBarRenderSystem>(new HealthBarRenderSystem());
EntitySystem hs = systemManager.SetSystem(new HealthBarRenderSystem());
systemManager.InitializeAll();
Entity e = world.CreateEntity();
e.AddComponent(new Health(100));
Expand Down
Binary file modified ArtemisTest/bin/Debug/artemis.dll
Binary file not shown.
Binary file modified ArtemisTest/bin/Debug/artemis.dll.mdb
Binary file not shown.
Binary file modified ArtemisTest/test-results/ArtemisTest.csproj.test-cache
Binary file not shown.
38 changes: 5 additions & 33 deletions World.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,12 @@ public class World {
private GroupManager groupManager;

private int delta;
private Bag<Entity> refreshed;
private Bag<Entity> deleted;


public World() {
entityManager = new EntityManager(this);
systemManager = new SystemManager(this);
tagManager = new TagManager(this);
groupManager = new GroupManager(this);

refreshed = new Bag<Entity>();
deleted = new Bag<Entity>();
groupManager = new GroupManager(this);
}

public GroupManager GetGroupManager() {
Expand Down Expand Up @@ -59,17 +54,16 @@ public void SetDelta(int delta) {
* @param e entity
*/
public void DeleteEntity(Entity e) {
if(!deleted.Contains(e)) {
deleted.Add(e);
}
groupManager.Remove(e);
entityManager.Remove(e);
}

/**
* Ensure all systems are notified of changes to this entity.
* @param e entity
*/
public void RefreshEntity(Entity e) {
refreshed.Add(e);
entityManager.Refresh(e);
}

/**
Expand All @@ -88,27 +82,5 @@ public Entity CreateEntity() {
public Entity GetEntity(int entityId) {
return entityManager.GetEntity(entityId);
}

/**
* Let framework take care of internal business.
*/
public void LoopStart() {
if(!refreshed.IsEmpty()) {
for(int i = 0, j = refreshed.Size(); j > i; i++) {
entityManager.Refresh(refreshed.Get(i));
}
refreshed.Clear();
}

if(!deleted.IsEmpty()) {
for(int i = 0,j = deleted.Size(); j > i; i++) {
Entity e = deleted.Get(i);
groupManager.Remove(e);
entityManager.Remove(e);
}
deleted.Clear();
}
}

}
}
22 changes: 11 additions & 11 deletions artemis.userprefs
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,24 @@
<Files>
<File FileName="Component.cs" Line="5" Column="3" />
<File FileName="EntitySystem.cs" Line="1" Column="1" />
<File FileName="Entity.cs" Line="132" Column="69" />
<File FileName="Entity.cs" Line="1" Column="1" />
<File FileName="../Downloads/build/mono-2.10.2/mcs/class/corlib/System/Nullable.cs" Line="98" Column="1" />
<File FileName="EntityManager.cs" Line="1" Column="1" />
<File FileName="World.cs" Line="1" Column="1" />
<File FileName="ArtemisTest/Test.cs" Line="17" Column="77" />
<File FileName="World.cs" Line="84" Column="4" />
<File FileName="ArtemisTest/Test.cs" Line="2" Column="7" />
<File FileName="../Downloads/build/mono-2.10.2/mcs/class/corlib/System.Reflection/MonoMethod.cs" Line="227" Column="1" />
<File FileName="SystemManager.cs" Line="16" Column="26" />
<File FileName="SystemManager.cs" Line="1" Column="1" />
<File FileName="Utils/Utils.cs" Line="1" Column="1" />
<File FileName="ComponentMapper.cs" Line="1" Column="1" />
<File FileName="ComponentTypeManager.cs" Line="1" Column="1" />
<File FileName="DelayedEntityProcessingSystem.cs" Line="1" Column="1" />
<File FileName="DelayedEntitySystem.cs" Line="1" Column="1" />
<File FileName="GroupManager.cs" Line="1" Column="1" />
</Files>
<Pads>
<Pad Id="ProjectPad">
<State expanded="True">
<Node name="Artemis" expanded="True" />
<Node name="ArtemisTest" expanded="True" selected="True">
<Node name="References" expanded="True" />
</Node>
<Node name="Artemis" expanded="True" selected="True" />
</State>
</Pad>
<Pad Id="ClassPad">
Expand All @@ -27,9 +30,6 @@
<Pad Id="MonoDevelop.Debugger.WatchPad">
<State />
</Pad>
<Pad Id="MonoDevelop.NUnit.TestPad">
<State expanded="True" selected="True" />
</Pad>
</Pads>
</MonoDevelop.Ide.Workbench>
<MonoDevelop.Ide.DebuggingService.Breakpoints>
Expand Down

0 comments on commit 8a82748

Please sign in to comment.