Exemple #1
0
 void IEcsSystem.Initialize(EcsWorld world)
 {
     _world = world;
     Debug.LogFormat("{0} => initialize", GetType().Name);
     _world.SubscribeToEvent <ControlEvent> (OnControlEntity);
     _controlObjects     = _world.GetFilter <ControlComponent> ();
     _controlComponentId = _world.GetComponentIndex <ControlComponent> ();
 }
Exemple #2
0
 void IEcsSystem.Initialize(EcsWorld world)
 {
     _world = world;
     Debug.LogFormat("{0} => initialize", GetType().Name);
     _destroyObjects           = _world.GetFilter <DestroyComponent> ();
     _destroyComponentId       = _world.GetComponentIndex <DestroyComponent> ();
     _world.OnComponentDetach += OnComponentDetach;
     _world.SubscribeToEvent <DestroyEvent> (OnDestroyEntity);
 }
 void IEcsSystem.Initialize(EcsWorld world)
 {
     _world = world;
     Debug.LogFormat("{0} => initialize", GetType().Name);
     _world.SubscribeToEvent <SpawnEvent> (OnSpawnTail);
     _foodPrefab = Resources.Load <GameObject> ("Food");
     _tailPrefab = Resources.Load <GameObject> ("SnakeTail");
     _lastSpawn  = DateTime.Now;
     SpawnSnake();
 }
Exemple #4
0
    void OnEnable()
    {
        _world = new EcsWorld()
                 .AddSystem(new SpawnSystem())
                 .AddSystem(new InputSystem())
                 .AddSystem(new ControlSystem())
                 .AddSystem(new MoveSystem())
                 .AddSystem(new CollisionSystem())
                 .AddSystem(new DestroySystem());
        _world.Initialize();

        _world.SubscribeToEvent <int> (OnScore);
        var stats = _world.GetStats();

        Debug.LogFormat("[Systems: {0}] [Entities: {1}/{2}] [Components: {3}] [Filters: {4}] [DelayedUpdates: {5}]",
                        stats.AllSystems, stats.AllEntities, stats.ReservedEntities, stats.Components, stats.Filters, stats.DelayedUpdates);
    }
 void IEcsSystem.Destroy()
 {
     Debug.LogFormat("{0} => destroy", GetType().Name);
     _world.SubscribeToEvent <SpawnEvent> (OnSpawnTail);
 }