public void RequestImage(long id, DecorationDefinition definition, RequestImageCallback callback, Color backgroundColor) { string hashedName = getHashedName(id); CallbackToken callbackToken = default(CallbackToken); callbackToken.Id = id; callbackToken.DefinitionId = definition.Id; DecorationRenderParams decorationRenderParams = new DecorationRenderParams(); decorationRenderParams.CallbackToken = callbackToken; decorationRenderParams.Definition = definition; decorationRenderParams.BackgroundColor = backgroundColor; decorationRenderParams.ImageHash = hashedName; DecorationRenderParams renderParams = decorationRenderParams; if (RequestImage(renderParams, callback)) { loadedItemCount++; if (loadedItemCount >= 30) { Resources.UnloadUnusedAssets(); loadedItemCount = 0; } } }
protected bool RequestImage(RenderParams renderParams, RequestImageCallback callback) { CallbackToken callbackToken = renderParams.CallbackToken; if (completionCallbacks.ContainsKey(callbackToken)) { completionCallbacks[callbackToken].Add(callback); return(false); } if (imageCache.ContainsImage(renderParams.ImageHash)) { Texture2D textureFromCache = imageCache.GetTextureFromCache(renderParams.ImageHash); callback(success: true, textureFromCache, callbackToken); return(true); } List <RequestImageCallback> list = new List <RequestImageCallback>(); list.Add(callback); completionCallbacks.Add(callbackToken, list); renderQueue.Enqueue(renderParams); if (renderQueue.Count == 1) { CoroutineRunner.Start(setupAndProcessRequests(), this, "ProcessNextRequest"); } return(false); }
public void RequestImage(DCustomEquipment equipment, RequestImageCallback callback) { CallbackToken callbackToken = default(CallbackToken); callbackToken.Id = equipment.Id; callbackToken.DefinitionId = equipment.DefinitionId; RequestImage(equipment, callback, callbackToken, Color.clear, Color.clear); }
public void RequestImage(long id, StructureDefinition definition, RequestImageCallback callback, Color backgroundColor) { string hashedName = getHashedName(id); CallbackToken callbackToken = default(CallbackToken); callbackToken.Id = id; callbackToken.DefinitionId = definition.Id; StructureRenderParams structureRenderParams = new StructureRenderParams(); structureRenderParams.CallbackToken = callbackToken; structureRenderParams.Definition = definition; structureRenderParams.BackgroundColor = backgroundColor; structureRenderParams.ImageHash = hashedName; StructureRenderParams renderParams = structureRenderParams; RequestImage(renderParams, callback); }
public void RequestImage(DCustomEquipment equipment, RequestImageCallback callback, CallbackToken callbackToken, Color backgroundColor, Color penguinColor) { string imageHash = calcHash(equipment, backgroundColor, penguinColor); ItemRenderParams itemRenderParams = new ItemRenderParams(); itemRenderParams.CallbackToken = callbackToken; itemRenderParams.equipment = equipment; itemRenderParams.BackgroundColor = backgroundColor; itemRenderParams.bodyColor = penguinColor; itemRenderParams.ImageHash = imageHash; ItemRenderParams renderParams = itemRenderParams; RequestImage(renderParams, callback); }