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)); }
protected override IEnumerator processRequest(RenderParams renderParam) { ItemRenderParams param = renderParam as ItemRenderParams; if (penguinPreload != LoadingTriState.FAILURE) { Color bodyColor = (param.bodyColor != Color.clear) ? param.bodyColor : defaultBodyColor; penguin.transform.localPosition = new Vector3(10f, 0f, 0f); avatarModel.ClearAllEquipment(); try { avatarModel.ApplyOutfit(createOutfit(param.equipment)); } catch (Exception ex) { Log.LogErrorFormatted(this, "When applying an outfit to the avatar model an error occurred. Icon not rendered. Message: {0}", ex); yield break; } avatarModel.BeakColor = bodyColor; avatarModel.BellyColor = bodyColor; avatarModel.BodyColor = bodyColor; while (!avatarView.IsReady) { yield return(null); } LightCullingMaskHelper.SetLayerIncludingChildren(penguin.transform, "IconRender"); modifyMaterials(bodyColor); yield return(renderToTexture(param)); } }
private IconRenderLightingRig() { IsReady = false; cancelLoading = false; Light[] array = UnityEngine.Object.FindObjectsOfType <Light>(); for (int i = 0; i < array.Length; i++) { LightCullingMaskHelper.DisableLayer(array[i], "IconRender"); } Content.LoadAsync(onLightPrefabLoaded, LIGHTS_KEY); }
private void onLightPrefabLoaded(string path, GameObject prefab) { if (!cancelLoading) { try { lightingRig = UnityEngine.Object.Instantiate(prefab); lightingRig.name = "IconRender_LightingRig"; Light[] componentsInChildren = lightingRig.GetComponentsInChildren <Light>(); for (int i = 0; i < componentsInChildren.Length; i++) { LightCullingMaskHelper.SetSingleLayer(componentsInChildren[i], "IconRender"); } lightingRig.SetActive(value: true); IsReady = true; } catch (Exception) { Log.LogError(this, $"Could not instantiate icon render light asset {LIGHTS_KEY.Key}."); } } }