+++ /dev/null
-#!/usr/bin/env node
-
-require("colors");
-require("serpentity");
-
-/////////////////
-// Load the stuff
-/////////////////
-console.log("\n## Loading".bold.black)
-console.log("Serpentity: " + (typeof Serpentity !== "undefined" ? "LOAD OK".green : "FAIL".red));
-console.log("Serpentity.Entity: " + (typeof Serpentity !== "undefined" && Serpentity.Entity ? "LOAD OK".green : "FAIL".red));
-console.log("Serpentity.Component: " + (typeof Serpentity !== "undefined" && Serpentity.Component ? "LOAD OK".green : "FAIL".red));
-console.log("Serpentity.System: " + (typeof Serpentity !== "undefined" && Serpentity.System ? "LOAD OK".green : "FAIL".red));
-console.log("Serpentity.Node: " + (typeof Serpentity !== "undefined" && Serpentity.Node ? "LOAD OK".green : "FAIL".red));
-console.log("Serpentity.NodeCollection: " + (typeof Serpentity !== "undefined" && Serpentity.NodeCollection ? "LOAD OK".green : "FAIL".red));
-
-//////////////////////
-// Create test classes
-//////////////////////
-console.log("\n## Creating Test Classes".bold.black);
-Class("TestSystem").inherits(Serpentity.System)({
- prototype : {
- added : function added(engine) {
- this.testNodes = engine.getNodes(TestNode);
- console.log("System added callback: " + "EXEC OK".green);
- },
-
- removed : function removed(engine) {
- this.testNodes = null;
- console.log("System removed callback: " + "EXEC OK".green);
- },
-
- update : function update(dt) {
- this.testNodes.forEach(function (node) {
- console.log("Running Node: " + (node.test.testMessage === "test" ? "SYSTEM OK".green : "FAIL".RED));
- });
- console.log("System update callback: " + "EXEC OK".green);
- }
- }
-});
-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".green);
- },
-
- removed : function removed(engine) {
- this.testNodes = null;
- console.log("System removed callback: " + "EXEC OK".green);
- },
-
- update : function update(dt) {
- this.testNodes.forEach(function (node) {
- console.log("Running Low Priority Node: " + (node.test.testMessage === "test" ? "SYSTEM OK".green : "FAIL".RED));
- });
- console.log("System update callback: " + "EXEC OK".green);
- }
- }
-});
-var lowProTestSystem = new LowProTestSystem();
-console.log("LowProTestSystem: " + "CREATE OK".green)
-
-Class("MidProTestSystem").inherits(Serpentity.System)({
- prototype : {
- added : function added(engine) {
- this.testNodes = engine.getNodes(TestNode);
- console.log("System added callback: " + "EXEC OK".green);
- },
-
- removed : function removed(engine) {
- this.testNodes = null;
- console.log("System removed callback: " + "EXEC OK".green);
- },
-
- update : function update(dt) {
- this.testNodes.forEach(function (node) {
- console.log("Running Mid Priority Node: " + (node.test.testMessage === "test" ? "SYSTEM OK".green : "FAIL".RED));
- });
- console.log("System update callback: " + "EXEC OK".green);
- }
- }
-});
-var midProTestSystem = new MidProTestSystem();
-console.log("MidProTestSystem: " + "CREATE OK".green)
-
-
-Class("TestComponent").inherits(Serpentity.Component)({
- prototype : {
- testMessage : "test"
- }
-});
-console.log("TestComponent: " + "CREATE OK".green)
-
-Class("TestNode").inherits(Serpentity.Node)({
- types : {
- test : TestComponent
- }
-});
-console.log("TestNode: " + "CREATE OK".green)
-
-
-console.log("\n## Adding system to the engine".bold.black)
-
-var engine = new Serpentity();
-console.log("engine: " + "CREATE OK".green)
-
-engine.addSystem(testSystem, 0);
-
-console.log("\n## Running update without any entities".bold.black)
-engine.update(10);
-
-console.log("\n## Adding system to the engine and updating".bold.black)
-var entity = new Serpentity.Entity();
-entity.addComponent(new TestComponent());
-engine.addEntity(entity);
-engine.update(10);
-
-console.log("\n## Adding Low Priority System".bold.black)
-engine.addSystem(lowProTestSystem, 10);
-engine.update(10);
-
-console.log("\n## Adding Mid Priority System".bold.black)
-engine.addSystem(midProTestSystem, 5);
-engine.update(10);
-
-console.log("\n## Removing the system and readding".bold.black)
-engine.removeSystem(testSystem);
-engine.update(10);
-engine.addSystem(testSystem, 0);
-engine.update(10);
-
-console.log("\n## Adding a second entity".bold.black)
-var entity = new Serpentity.Entity();
-entity.addComponent(new TestComponent());
-engine.addEntity(entity);
-engine.update(10);
-
-console.log("\n## Removing entity".bold.black)
-engine.removeEntity(entity)
-engine.update(10);
-
-console.log("\n## Removing system".bold.black)
-engine.removeSystem(testSystem)
-engine.update(10);