Esempio n. 1
0
        internal void OnComponentAdd(IEntityComponent comp)
        {
            var meth = ObjUtil.ExtractDelegate <Action <GameTime> >(comp, EntityConstants.MSG_UPDATE);

            if (meth != null)
            {
                _updateDelegates += meth;
            }

            if (_manager != null)
            {
                _manager.RegisterComponent(comp);
            }
        }
Esempio n. 2
0
        internal void RegisterManager(EntityManagerComponent manager)
        {
            if (_manager != null)
            {
                throw new InvalidOperationException("Can not register an Entity that is already registered.");
            }
            if (manager == null)
            {
                throw new ArgumentNullException("manager");
            }

            _manager = manager;

            foreach (var comp in _components)
            {
                _manager.RegisterComponent(comp);
            }
        }