From ce098d64c88ce5a5d36046e4ff48b1da6398d4a7 Mon Sep 17 00:00:00 2001 From: kaikoga Date: Sat, 30 Dec 2023 12:08:51 +0900 Subject: [PATCH] hack: more null check AvatarDescriptors --- Editor/FixupPasses/FixupExpressionsMenuPass.cs | 2 ++ Editor/MergeAnimatorProcessor.cs | 1 + Editor/OptimizationPasses/PruneParametersPass.cs | 2 ++ Editor/RenameParametersHook.cs | 2 ++ 4 files changed, 7 insertions(+) diff --git a/Editor/FixupPasses/FixupExpressionsMenuPass.cs b/Editor/FixupPasses/FixupExpressionsMenuPass.cs index f4b549ee..4f36ec2b 100644 --- a/Editor/FixupPasses/FixupExpressionsMenuPass.cs +++ b/Editor/FixupPasses/FixupExpressionsMenuPass.cs @@ -19,6 +19,8 @@ namespace nadena.dev.modular_avatar.core.editor internal static void FixupExpressionsMenu(BuildContext context) { + if (!context.AvatarDescriptor) return; + context.AvatarDescriptor.customExpressions = true; var expressionsMenu = context.AvatarDescriptor.expressionsMenu; diff --git a/Editor/MergeAnimatorProcessor.cs b/Editor/MergeAnimatorProcessor.cs index 69fb0e28..5b25649c 100644 --- a/Editor/MergeAnimatorProcessor.cs +++ b/Editor/MergeAnimatorProcessor.cs @@ -65,6 +65,7 @@ namespace nadena.dev.modular_avatar.core.editor mergeSessions.Clear(); var descriptor = avatarGameObject.GetComponent(); + if (!descriptor) return; if (descriptor.baseAnimationLayers != null) InitSessions(descriptor.baseAnimationLayers); if (descriptor.specialAnimationLayers != null) InitSessions(descriptor.specialAnimationLayers); diff --git a/Editor/OptimizationPasses/PruneParametersPass.cs b/Editor/OptimizationPasses/PruneParametersPass.cs index a38b3655..801fb3e9 100644 --- a/Editor/OptimizationPasses/PruneParametersPass.cs +++ b/Editor/OptimizationPasses/PruneParametersPass.cs @@ -9,6 +9,8 @@ namespace nadena.dev.modular_avatar.core.editor { protected override void Execute(ndmf.BuildContext context) { + if (!context.AvatarDescriptor) return; + var expParams = context.AvatarDescriptor.expressionParameters; if (expParams != null && context.IsTemporaryAsset(expParams)) { diff --git a/Editor/RenameParametersHook.cs b/Editor/RenameParametersHook.cs index 697633b7..c4ae0b75 100644 --- a/Editor/RenameParametersHook.cs +++ b/Editor/RenameParametersHook.cs @@ -183,6 +183,8 @@ namespace nadena.dev.modular_avatar.core.editor .ToImmutableDictionary(); var avatar = avatarRoot.GetComponent(); + if (!avatar) return; + var expParams = avatar.expressionParameters; if (expParams == null)