Skip to content

Commit

Permalink
Added try and catch
Browse files Browse the repository at this point in the history
  • Loading branch information
lilxyzw committed Jun 27, 2022
1 parent 0ddb515 commit 0447b9d
Showing 1 changed file with 53 additions and 39 deletions.
92 changes: 53 additions & 39 deletions Assets/lilToon/Editor/lilToonSetting.cs
Original file line number Diff line number Diff line change
Expand Up @@ -587,74 +587,88 @@ internal static void ApplyShaderSettingOptimized()

internal static void SetShaderSettingBeforeBuild(GameObject gameObject)
{
if(!ShouldOptimization()) return;
File.Create(lilDirectoryManager.postBuildTempPath);
try
{
if(!ShouldOptimization()) return;
File.Create(lilDirectoryManager.postBuildTempPath);

lilToonSetting shaderSetting = null;
InitializeShaderSetting(ref shaderSetting);
TurnOffAllShaderSetting(ref shaderSetting);
lilToonSetting shaderSetting = null;
InitializeShaderSetting(ref shaderSetting);
TurnOffAllShaderSetting(ref shaderSetting);

// Get materials
foreach(var renderer in gameObject.GetComponentsInChildren<Renderer>(true))
{
foreach(var material in renderer.sharedMaterials)
// Get materials
foreach(var renderer in gameObject.GetComponentsInChildren<Renderer>(true))
{
SetupShaderSettingFromMaterial(material, ref shaderSetting);
foreach(var material in renderer.sharedMaterials)
{
SetupShaderSettingFromMaterial(material, ref shaderSetting);
}
}
}

// Get animations
foreach(var animator in gameObject.GetComponentsInChildren<Animator>(true))
{
if(animator.runtimeAnimatorController == null) continue;
foreach(var clip in animator.runtimeAnimatorController.animationClips)
{
SetupShaderSettingFromAnimationClip(clip, ref shaderSetting, true);
}
}
#if VRC_SDK_VRCSDK3 && !UDON
foreach(var descriptor in gameObject.GetComponentsInChildren<VRCAvatarDescriptor>(true))
// Get animations
foreach(var animator in gameObject.GetComponentsInChildren<Animator>(true))
{
foreach(var layer in descriptor.specialAnimationLayers)
if(animator.runtimeAnimatorController == null) continue;
foreach(var clip in animator.runtimeAnimatorController.animationClips)
{
if(layer.animatorController == null) continue;
foreach(var clip in layer.animatorController.animationClips)
{
SetupShaderSettingFromAnimationClip(clip, ref shaderSetting, true);
}
SetupShaderSettingFromAnimationClip(clip, ref shaderSetting, true);
}
if(descriptor.customizeAnimationLayers)
}
#if VRC_SDK_VRCSDK3 && !UDON
foreach(var descriptor in gameObject.GetComponentsInChildren<VRCAvatarDescriptor>(true))
{
foreach(var layer in descriptor.baseAnimationLayers)
foreach(var layer in descriptor.specialAnimationLayers)
{
if(layer.animatorController == null) continue;
foreach(var clip in layer.animatorController.animationClips)
{
SetupShaderSettingFromAnimationClip(clip, ref shaderSetting, true);
}
}
if(descriptor.customizeAnimationLayers)
{
foreach(var layer in descriptor.baseAnimationLayers)
{
if(layer.animatorController == null) continue;
foreach(var clip in layer.animatorController.animationClips)
{
SetupShaderSettingFromAnimationClip(clip, ref shaderSetting, true);
}
}
}
}
}
#endif
#endif

// Apply
ApplyShaderSetting(shaderSetting, "[lilToon] PreprocessBuild");
AssetDatabase.Refresh();
// Apply
ApplyShaderSetting(shaderSetting, "[lilToon] PreprocessBuild");
AssetDatabase.Refresh();
}
catch
{
Debug.Log("[lilToon] Optimization failed");
}
}

internal static void SetShaderSettingBeforeBuild()
{
if(!ShouldOptimization()) return;
File.Create(lilDirectoryManager.postBuildTempPath);
ApplyShaderSettingOptimized();
try
{
if(!ShouldOptimization()) return;
File.Create(lilDirectoryManager.postBuildTempPath);
ApplyShaderSettingOptimized();
}
catch
{
Debug.Log("[lilToon] Optimization failed");
}
}

internal static void SetShaderSettingAfterBuild()
{
if(File.Exists(lilDirectoryManager.forceOptimizeBuildTempPath)) File.Delete(lilDirectoryManager.forceOptimizeBuildTempPath);
if(!File.Exists(lilDirectoryManager.postBuildTempPath)) return;
File.Delete(lilDirectoryManager.postBuildTempPath);
if(!ShouldOptimization()) return;
if(File.Exists(lilDirectoryManager.forceOptimizeBuildTempPath)) File.Delete(lilDirectoryManager.forceOptimizeBuildTempPath);
lilToonSetting shaderSetting = null;
InitializeShaderSetting(ref shaderSetting);
if(shaderSetting.isDebugOptimize)
Expand Down

0 comments on commit 0447b9d

Please sign in to comment.