protected void addLoadOperation(LoadResourceOperationBase operation) { if (!_loadOpDict.ContainsKey(operation.path)) { _loadOpDict[operation.path] = operation; } else { List <LoadResourceOperationBase> list = _loadOpDict[operation.path] as List <LoadResourceOperationBase>; if (list == null) { list = new List <LoadResourceOperationBase>(); list.Add(_loadOpDict[operation.path] as LoadResourceOperationBase); _loadOpDict[operation.path] = list; } list.Add(operation); } }
protected bool tryGetLoadOperation(string path, Type type, out LoadResourceOperationBase operation) { if (!_loadOpDict.ContainsKey(path)) { operation = null; return(false); } if (_loadOpDict[path] is LoadResourceOperationBase) { operation = _loadOpDict[path] as LoadResourceOperationBase; return(true); } else { List <LoadResourceOperationBase> list = _loadOpDict[path] as List <LoadResourceOperationBase>; operation = list.Find(o => type.IsAssignableFrom(o.type)); return(operation != null); } }