Пример #1
0
        private void DestroySystem(EcsSystemInfo system)
        {
            _systems.Remove(system);

            var ecsSystems = system.systems;
            var data       = system.data;
            var updateType = data.updateType;

            _updateQueues[updateType].Remove(ecsSystems);

            ecsSystems.Destroy();
            system.counter = 0;
        }
Пример #2
0
        private EcsSystemInfo GetSystemInfo(Type systemType)
        {
            var info = _systems.FirstOrDefault(x => x.ecsSystem?.GetType() == systemType);

            if (info != null)
            {
                return(info);
            }

            info = new EcsSystemInfo()
            {
                counter = 0,
                type    = systemType,
            };

            _systems.Add(info);
            return(info);
        }