예제 #1
0
 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);
     }
 }
예제 #2
0
 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);
     }
 }