Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ClassBasedES
- {
- class Program
- {
- /// <summary>
- /// This entity system is OOP / has a class based interface using Extension Methods.
- /// We can use entity Guids as though they were each individual classes,
- /// using this nifty C# language feature (Extension Methods).
- /// </summary>
- static void Main(string[] args)
- {
- //Test our ES
- Console.WriteLine("===== Class Based ES v0.2 =====");
- Console.WriteLine(" ");
- Console.WriteLine(" ");
- Console.WriteLine("===== FUNCTIONS TEST =====");
- Console.WriteLine(" ");
- entity e = ES.create();
- e.addComponent("GfxComponent");
- e.addComponent("MoveComponent");
- Console.WriteLine("Entity components string: " + e.getComponentsString());
- Type comp = e.getComponentTypes()[0];
- Type comp2 = e.getComponentTypes()[1];
- Console.WriteLine("component Type: " + comp.Name);
- Console.WriteLine("component Type: " + comp2.Name);
- e.removeComponent("GfxComponent");
- Console.WriteLine("Entity components string: " + e.getComponentsString());
- e.removeComponent("MoveComponent");
- Console.WriteLine("Entity components string: " + e.getComponentsString());
- //equal to check for two Guids
- {
- entity e2 = ES.create();
- if (e2.isEqualTo(e))
- throw new Exception();
- Console.WriteLine("Guids working correctly.");
- }
- //other init method
- {
- entity e2 = ES.create("MoveComponent GfxComponent");
- Console.WriteLine("e2 components string: " + e2.getComponentsString());
- }
- Console.WriteLine(" ");
- Console.WriteLine(" ");
- Console.WriteLine("===== ROBUSTNESS TEST (should be all empty) =====");
- Console.WriteLine(" ");
- //ensure it's properly emptied with any string removal order
- e.addComponent("GfxComponent");
- e.addComponent("MoveComponent");
- e.removeComponent("MoveComponent");
- e.removeComponent("GfxComponent");
- Console.WriteLine("Entity components string: " + e.getComponentsString());
- //ensure it's properly emptied with any string removal order
- e.addComponent("MoveComponent");
- e.addComponent("GfxComponent");
- e.removeComponent("MoveComponent");
- e.removeComponent("GfxComponent");
- Console.WriteLine("Entity components string: " + e.getComponentsString());
- //ensure it's properly emptied with any string removal order
- e.addComponent("MoveComponent");
- e.addComponent("GfxComponent");
- e.removeComponent("GfxComponent");
- e.removeComponent("MoveComponent");
- Console.WriteLine("Entity components string: " + e.getComponentsString());
- Console.ReadKey(); //wait for input
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement