Example #1
0
        public void AddSystem(ISystem system)
        {
            Mononoke.Logger.Print(system.GetType().Name);
            Type t = system.GetType().BaseType.GetGenericArguments()[0];

            if (_systems.ContainsKey(t))
            {
                throw new Exception("There can only exist one system of a single type.");
            }

            _systems.Add(t, system);
            foreach (Entity e in _entities)
            {
                system.Accept(e);
            }
        }