private IEnumerator loadStructurePrefab(StructureRenderParams param) { AssetRequest <GameObject> structureRequest; try { structureRequest = Content.LoadAsync(param.Definition.Prefab); } catch (Exception) { Log.LogErrorFormatted(this, "Could not load structure prefab {0} with prefab key {1}", param.Definition.Name, param.Definition.Prefab.Key); yield break; } if (structureRequest == null) { Log.LogErrorFormatted(this, "Something went wrong loading structure {0}.", param.Definition.Prefab); yield break; } yield return(structureRequest); GameObject structureGameObject = UnityEngine.Object.Instantiate(structureRequest.Asset); LightCullingMaskHelper.SetLayerIncludingChildren(structureGameObject.transform, "IconRender"); yield return(loadStructureRenderData(param, structureGameObject)); }
private IEnumerator loadStructureRenderData(StructureRenderParams param, GameObject structureGameObject) { AssetRequest <StructureRenderData> renderDataRequest = null; try { renderDataRequest = Content.LoadAsync(param.Definition.RenderData); } catch (Exception) { Log.LogErrorFormatted(this, "Could not load the render data for structure {0} with key {1}", param.Definition.Name, param.Definition.RenderData.Key); } if (renderDataRequest == null) { Log.LogErrorFormatted(this, "Something went wrong loading render data {0}.", param.Definition.RenderData); UnityEngine.Object.Destroy(structureGameObject); } else { yield return(renderDataRequest); StructureRenderData structureRenderData = renderDataRequest.Asset; yield return(renderToTexture(param, structureGameObject, structureRenderData)); } }
protected override IEnumerator processRequest(RenderParams renderParam) { StructureRenderParams param = renderParam as StructureRenderParams; StructureDefinition structureDefinition = null; if (!structureList.TryGetValue(param.Definition.Id, out structureDefinition)) { Log.LogErrorFormatted(this, "Unable to locate structure {0} in structure definitions with id {1}.", param.Definition.Name, param.Definition.Id); } else { yield return(loadStructurePrefab(param)); } }
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); }