-<!DOCTYPE html>
-<html>
- <head>
- <title>Serpentity Browser Test</title>
- <script src="/node_modules/neon/neon.js"></script>
- <script src="/lib/serpentity/serpentity.js"></script>
- <script src="/lib/serpentity/entity.js"></script>
- <script src="/lib/serpentity/node.js"></script>
- <script src="/lib/serpentity/node_collection.js"></script>
- <script src="/lib/serpentity/component.js"></script>
- <script src="/lib/serpentity/system.js"></script>
- <script type="application/javascript">
- /////////////////
- // Load the stuff
- /////////////////
- console.log("\n## Loading")
- console.log("Serpentity: " + (typeof Serpentity !== "undefined" ? "LOAD OK" : "FAIL"));
- console.log("Serpentity.Entity: " + (typeof Serpentity !== "undefined" && Serpentity.Entity ? "LOAD OK" : "FAIL"));
- console.log("Serpentity.Component: " + (typeof Serpentity !== "undefined" && Serpentity.Component ? "LOAD OK" : "FAIL"));
- console.log("Serpentity.System: " + (typeof Serpentity !== "undefined" && Serpentity.System ? "LOAD OK" : "FAIL"));
- console.log("Serpentity.Node: " + (typeof Serpentity !== "undefined" && Serpentity.Node ? "LOAD OK" : "FAIL"));
- console.log("Serpentity.NodeCollection: " + (typeof Serpentity !== "undefined" && Serpentity.NodeCollection ? "LOAD OK" : "FAIL"));
-
- //////////////////////
- // Create test classes
- //////////////////////
- console.log("\n## Creating Test Classes");
- Class("TestSystem").inherits(Serpentity.System)({
- prototype : {
- added : function added(engine) {
- this.testNodes = engine.getNodes(TestNode);
- console.log("System added callback: " + "EXEC OK");
- },
-
- removed : function removed(engine) {
- this.testNodes = null;
- console.log("System removed callback: " + "EXEC OK");
- },
-
- update : function update(dt) {
- this.testNodes.forEach(function (node) {
- console.log("Running Node: " + (node.test.testMessage === "test" ? "SYSTEM OK" : "FAIL"));
- });
- console.log("System update callback: " + "EXEC OK");
- }
- }
- });
- var testSystem = new TestSystem();
-
- Class("LowProTestSystem").inherits(Serpentity.System)({
- prototype : {
- added : function added(engine) {
- this.testNodes = engine.getNodes(TestNode);
- console.log("System added callback: " + "EXEC OK");
- },
-
- removed : function removed(engine) {
- this.testNodes = null;
- console.log("System removed callback: " + "EXEC OK");
- },
-
- update : function update(dt) {
- this.testNodes.forEach(function (node) {
- console.log("Running Low Priority Node: " + (node.test.testMessage === "test" ? "SYSTEM OK" : "FAIL"));
- });
- console.log("System update callback: " + "EXEC OK");
- }
- }
- });
- var lowProTestSystem = new LowProTestSystem();
- console.log("LowProTestSystem: " + "CREATE OK")
-
- Class("MidProTestSystem").inherits(Serpentity.System)({
- prototype : {
- added : function added(engine) {
- this.testNodes = engine.getNodes(TestNode);
- console.log("System added callback: " + "EXEC OK");
- },
-
- removed : function removed(engine) {
- this.testNodes = null;
- console.log("System removed callback: " + "EXEC OK");
- },
-
- update : function update(dt) {
- this.testNodes.forEach(function (node) {
- console.log("Running Mid Priority Node: " + (node.test.testMessage === "test" ? "SYSTEM OK" : "FAIL"));
- });
- console.log("System update callback: " + "EXEC OK");
- }
- }
- });
- var midProTestSystem = new MidProTestSystem();
- console.log("MidProTestSystem: " + "CREATE OK")
-
-
- Class("TestComponent").inherits(Serpentity.Component)({
- prototype : {
- testMessage : "test"
- }
- });
- console.log("TestComponent: " + "CREATE OK")
-
- Class("TestNode").inherits(Serpentity.Node)({
- types : {
- test : TestComponent
- }
- });
- console.log("TestNode: " + "CREATE OK")
-
-
- console.log("\n## Adding system to the engine")
-
- var engine = new Serpentity();
- console.log("engine: " + "CREATE OK")
-
- engine.addSystem(testSystem, 0);
-
- console.log("\n## Running update without any entities")
- engine.update(10);
-
- console.log("\n## Adding system to the engine and updating")
- var entity = new Serpentity.Entity();
- entity.add(new TestComponent());
- engine.addEntity(entity);
- engine.update(10);
-
- console.log("\n## Adding Low Priority System")
- engine.addSystem(lowProTestSystem, 10);
- engine.update(10);
-
- console.log("\n## Adding Mid Priority System")
- engine.addSystem(midProTestSystem, 5);
- engine.update(10);
-
- console.log("\n## Removing the system and readding")
- engine.removeSystem(testSystem);
- engine.update(10);
- engine.addSystem(testSystem, 0);
- engine.update(10);
-
- console.log("\n## Adding a second entity")
- var entity = new Serpentity.Entity();
- entity.add(new TestComponent());
- engine.addEntity(entity);
- engine.update(10);
-
- console.log("\n## Removing entity")
- engine.removeEntity(entity)
- engine.update(10);
-
- console.log("\n## Removing system")
- engine.removeSystem(testSystem)
- engine.update(10);
- </script>
- </head>
- <body>
- <h1>404 Droids Not Found</h1>
- Look in your console...
- </body>
-</html>