Example #1
0
        internal void RegisterSystem(ITerribleSystem system)
        {
            var dependsOn = system.GetDependencies();

            if (!_systemsToNotify.ContainsKey(dependsOn))
            {
                _systemsToNotify.Add(dependsOn, new List <ITerribleSystem>());
            }

            _systemsToNotify[dependsOn].Add(system);
        }
Example #2
0
        public void AddSystem(ITerribleSystem system)
        {
            var dependencies = system.GetDependencies();

            if (!_systemDependencies.ContainsKey(dependencies))
            {
                _systemDependencies.Add(dependencies, new List <ITerribleSystem>());
            }

            _systems.Add(system);
            _systemDependencies[dependencies].Add(system);
        }
Example #3
0
 internal void UnregisterSystem(ITerribleSystem system)
 {
     _systemsToNotify[system.GetDependencies()].Remove(system);
 }