From 66f84a00f308aedc02e82b49b2a102cb50f8fd0c Mon Sep 17 00:00:00 2001 From: c0ffee Date: Mon, 22 Apr 2024 17:38:30 -0700 Subject: [PATCH] better error handling for checkandplaysounds --- 1.5/Assemblies/Rimworld-Animations.dll | Bin 39424 -> 39424 bytes 1.5/Source/Comps/CompExtendedAnimator.cs | 19 ++++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/1.5/Assemblies/Rimworld-Animations.dll b/1.5/Assemblies/Rimworld-Animations.dll index 0edf7e753ae470423c7657757e00b1ec14d27267..9f4b569a72fd5f663582ca287a2cf06d6a0a6dcb 100644 GIT binary patch delta 4800 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 H`O5zRW!o8T delta 4765 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 diff --git a/1.5/Source/Comps/CompExtendedAnimator.cs b/1.5/Source/Comps/CompExtendedAnimator.cs index 9782ae9..442a0fb 100644 --- a/1.5/Source/Comps/CompExtendedAnimator.cs +++ b/1.5/Source/Comps/CompExtendedAnimator.cs @@ -217,19 +217,24 @@ namespace Rimworld_Animations { } - //do the same for all the child nodes - foreach (PawnRenderNode node in rootNode.children) + + if (rootNode?.children != null) { - if (node?.AnimationWorker is AnimationWorker_KeyframesExtended childrenAnimWorker) + foreach (PawnRenderNode node in rootNode?.children) { - SoundDef sound = childrenAnimWorker.soundAtTick(node.tree.AnimationTick); - if (sound != null) + if (node?.AnimationWorker is AnimationWorker_KeyframesExtended childrenAnimWorker) { - sound.PlayOneShot(new TargetInfo(pawn.Position, pawn.Map)); + SoundDef sound = childrenAnimWorker.soundAtTick(node.tree.AnimationTick); + if (sound != null) + { + sound.PlayOneShot(new TargetInfo(pawn.Position, pawn.Map)); + } + } - } } + //do the same for all the child nodes + } public bool AnimationMakesUseOfProp(AnimationPropDef animationProp)