public void Register(GameObjectAttribute attribute, Create <object> creator)
 {
     foreach (var manager in _managers.Values)
     {
         manager.Register(attribute, () => (TObj)creator());
     }
 }
Beispiel #2
0
        public void Register(GameObjectAttribute attribute, Create <IMessenger> creator)
        {
            if (!(attribute is MessengerAttribute))
            {
                return;
            }

            Register(creator());
        }
        public void Register(GameObjectAttribute attribute, Create <T> creator)
        {
            if (!(attribute is TAttribute identifiableAttribute))
            {
                return;
            }

            var identifier = identifiableAttribute.Identifier;

            _items[identifier] = new Item
            {
                Identificator = identifier,
                Creator       = creator,
                Attribute     = identifiableAttribute
            };
            creator.Invoke();
        }
 public void Register <T>(GameObjectAttribute attribute) where T : TObj, new()
 {
     Register(attribute, () => new T());
 }