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); } }
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); } }