private void OnStarRenderingComplete(BaseStarDataRenderer renderer, Texture2D texture, bool success) { if (m_IsCancelled) { m_BusyRenderingCount = 0; return; } texture.name = TextureNameForStarLayer(renderer.layerId); SkyEditorUtility.AddSkyResource(profile, texture); AssetDatabase.Refresh(); if (renderer.layerId == "1") { profile.starLayer1DataTexture = texture; } else if (renderer.layerId == "2") { profile.starLayer2DataTexture = texture; } else if (renderer.layerId == "3") { profile.starLayer3DataTexture = texture; } m_BusyRenderingCount -= 1; if (completionCallback != null) { completionCallback(this, true); } }
private void OnStarRenderingProgress(BaseStarDataRenderer renderer, float progress) { if (progressCallback != null) { progressCallback(this, progress); } }
private void OnStarRenderingProgress(BaseStarDataRenderer renderer, float progress) { // Update the tracking data. StarRendererData data = starData[renderer]; data.progress = progress; // Update progress bar. EditorUtility.DisplayProgressBar(progressTitle, progressMessage, CalculateOverallRenderProgress()); }
void RebuildStarLayer(string layerId, float density, float radius) { BaseStarDataRenderer renderer = GetBestRendererForPlatform(); renderer.layerId = layerId; renderer.imageSize = m_ImageSize; renderer.density = density; renderer.maxRadius = radius; renderer.completionCallback += OnStarRenderingComplete; renderer.progressCallback += OnStarRenderingProgress; m_Renderers.Add(renderer); EditorCoroutine.start(renderer.ComputeStarData()); }
// Refresh the tracking data for a star rendering layer. void UpdateStarRendererTrackingData(BaseStarDataRenderer renderer, string layerId, List <MaterialProperty> props) { StarRendererData data = null; if (starData.ContainsKey(renderer) == false) { data = new StarRendererData(); starData[renderer] = data; } else { data = starData[renderer]; } MaterialProperty densityProp = GetPropertyWithName(props, "_StarLayer" + layerId + "Density"); data.density = densityProp.floatValue; data.name = "Star layer " + layerId; data.layerId = layerId; data.progress = 0; }
private void OnStarRenderingComplete(BaseStarDataRenderer renderer, Texture2D texture, bool success) { StarRendererData data = starData[renderer]; texture.name = data.layerId; texture.filterMode = FilterMode.Point; texture.wrapMode = TextureWrapMode.Clamp; RemoveAllObjectsWithName(data.layerId, material); AddObjectToMaterial(texture, material); // Update the material with the new texture file. material.SetTexture("_StarLayer" + data.layerId + "DataTex", texture); busyRenderingCount -= 1; if (busyRenderingCount <= 0) { // Hide our progress bar. EditorUtility.ClearProgressBar(); } }
// Appends an identifiier for the star data file names. private string FileNameForRendererData(BaseStarDataRenderer renderer, string prefix, string ext) { StarRendererData data = starData[renderer]; return(prefix + data.layerId + "." + ext); }