コード例 #1
0
ファイル: TileDataCache.cs プロジェクト: tabinfl/Inception
        public void RequestEntry(CDB.Tile tile, CDB.Component component)
        {
            var request = new Request {
                Tile = tile, Component = component
            };

            if (IsLoaded(request))
            {
                return;
            }
            if (IsRunning(request))
            {
                return;
            }
            WaitingRequestsAddOrUpdate(request);
        }
コード例 #2
0
ファイル: TileDataCache.cs プロジェクト: tabinfl/Inception
        public Entry <T> GetEntry <T>(CDB.Tile tile, CDB.Component component)
        {
            var request = new Request {
                Tile = tile, Component = component
            };

            if (Entries.TryGetValue(request, out Entry result))
            {
                request.LastRequested = DateTime.UtcNow;
                LoadedRequestsAddOrUpdate(request);
                return((Entry <T>)result);
            }
            if (IsRunning(request))
            {
                return(null);
            }
            WaitingRequestsAddOrUpdate(request);
            return(null);
        }
コード例 #3
0
ファイル: TileDataCache.cs プロジェクト: tabinfl/Inception
 public bool IsLoaded(CDB.Tile tile, CDB.Component component) => IsLoaded(new Request {
     Tile = tile, Component = component
 });