public object Resolve(string identifier) { GameRegistryElement element = _registry.FirstOrDefault(x => x.Identifier == identifier); if (element != null) { return(element.Instance); } return(null); }
public bool Remove(object obj) { GameRegistryElement element = _registry.FirstOrDefault(x => x.Instance == obj); if (element != null) { return(_registry.Remove(element)); } return(false); }
public T Resolve <T>() { Type t = typeof(T); GameRegistryElement element = _registry.FirstOrDefault(x => x.Type == t); if (element != null) { return((T)element.Instance); } return(default(T)); }
private void Register(Type t, object obj, string identifier) { if (obj == null) { return; } GameRegistryElement element = _registry.FirstOrDefault(x => x.Type == t && x.Identifier == identifier); if (element == null) { _registry.Add(new GameRegistryElement() { Identifier = identifier, Type = t, Instance = obj }); } else { element.Instance = obj; } }