public void Register(GameObjectAttribute attribute, Create <object> creator) { foreach (var manager in _managers.Values) { manager.Register(attribute, () => (TObj)creator()); } }
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()); }