lilxyzw / lilycalInventory

Modify avatar at build time.
MIT License
21 stars 3 forks source link

AutoDresser対象Objが全部disabledの時、NullReferenceException #42

Closed Sayamame-beans closed 3 months ago

Sayamame-beans commented 3 months ago

タイトル通りです。 AutoDresserの想定としては、どれか1つがenableで、他が全てdisableだと思いますが、ヒエラルキー上では全てenabled、または全てdisableが可能です。 この時、NDMF Error Reportにエラーが出るようになっていますが、どうやら全てがdisabledの場合はNullReferenceExceptionも一緒に出してしまうようです。 こちらは可能であれば抑制しても良い気がしました。(内部エラー扱いになってしまっているので)

ちょっと関連: #41

System.NullReferenceException: Object reference not set to an instance of an object
  at jp.lilxyzw.lilycalinventory.ObjHelper.GetMenuName (jp.lilxyzw.lilycalinventory.runtime.Costume costume, jp.lilxyzw.lilycalinventory.runtime.CostumeChanger changer) [0x00001] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Helper\ObjHelper.Component.cs:20 
  at jp.lilxyzw.lilycalinventory.ObjHelper.ResolveMenuName (jp.lilxyzw.lilycalinventory.runtime.CostumeChanger[] changers) [0x00021] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Helper\ObjHelper.Component.cs:46 
  at jp.lilxyzw.lilycalinventory.Processor.FindComponent (nadena.dev.ndmf.BuildContext ctx) [0x00175] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Processor\Processor.cs:63 
  at jp.lilxyzw.lilycalinventory.LilycalInventoryPlugin+<>c.<Configure>b__4_0 (nadena.dev.ndmf.BuildContext ctx) [0x00000] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\NDMF\LilycalInventoryPlugin.cs:18 
  at nadena.dev.ndmf.AnonymousPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in .\Packages\nadena.dev.ndmf\Editor\API\Fluent\Pass.cs:42 
  at nadena.dev.ndmf.ConcretePass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in .\Packages\nadena.dev.ndmf\Editor\API\Solver\PluginResolver.cs:36 
  at nadena.dev.ndmf.BuildContext.RunPass (nadena.dev.ndmf.ConcretePass pass) [0x00135] in .\Packages\nadena.dev.ndmf\Editor\API\BuildContext.cs:337 
  at jp.lilxyzw.lilycalinventory.ObjHelper.GetMenuName (jp.lilxyzw.lilycalinventory.runtime.Costume costume, jp.lilxyzw.lilycalinventory.runtime.CostumeChanger changer) [0x00001] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Helper\ObjHelper.Component.cs:20 
  at jp.lilxyzw.lilycalinventory.ObjHelper.ResolveMenuName (jp.lilxyzw.lilycalinventory.runtime.CostumeChanger[] changers) [0x00021] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Helper\ObjHelper.Component.cs:46 
  at jp.lilxyzw.lilycalinventory.Processor.FindComponent (nadena.dev.ndmf.BuildContext ctx) [0x00175] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Processor\Processor.cs:63 
  at jp.lilxyzw.lilycalinventory.LilycalInventoryPlugin+<>c.<Configure>b__4_0 (nadena.dev.ndmf.BuildContext ctx) [0x00000] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\NDMF\LilycalInventoryPlugin.cs:18 
  at nadena.dev.ndmf.AnonymousPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in .\Packages\nadena.dev.ndmf\Editor\API\Fluent\Pass.cs:42 
  at nadena.dev.ndmf.ConcretePass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in .\Packages\nadena.dev.ndmf\Editor\API\Solver\PluginResolver.cs:36 
  at nadena.dev.ndmf.BuildContext.RunPass (nadena.dev.ndmf.ConcretePass pass) [0x00135] in .\Packages\nadena.dev.ndmf\Editor\API\BuildContext.cs:337 
System.NullReferenceException: Object reference not set to an instance of an object
  at jp.lilxyzw.lilycalinventory.AnimationHelper.GatherConditions (jp.lilxyzw.lilycalinventory.runtime.CostumeChanger[] costumeChangers, System.Collections.Generic.Dictionary`2[TKey,TValue] dic) [0x00015] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Helper\AnimationHelper.ParametersPerMenu.cs:276 
  at jp.lilxyzw.lilycalinventory.Modifier.ResolveMultiConditions (nadena.dev.ndmf.BuildContext ctx, UnityEditor.Animations.AnimatorController controller, System.Boolean hasWriteDefaultsState, jp.lilxyzw.lilycalinventory.runtime.ItemToggler[] togglers, jp.lilxyzw.lilycalinventory.runtime.CostumeChanger[] costumeChangers, UnityEditor.Animations.BlendTree root) [0x0001b] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Processor\Modifier.ResolveMultiConditions.cs:23 
  at jp.lilxyzw.lilycalinventory.Processor.ModifyPreProcess (nadena.dev.ndmf.BuildContext ctx) [0x001a8] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Processor\Processor.cs:100 
  at jp.lilxyzw.lilycalinventory.LilycalInventoryPlugin+<>c.<Configure>b__4_2 (nadena.dev.ndmf.BuildContext ctx) [0x00000] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\NDMF\LilycalInventoryPlugin.cs:22 
  at nadena.dev.ndmf.AnonymousPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in .\Packages\nadena.dev.ndmf\Editor\API\Fluent\Pass.cs:42 
  at nadena.dev.ndmf.ConcretePass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in .\Packages\nadena.dev.ndmf\Editor\API\Solver\PluginResolver.cs:36 
  at nadena.dev.ndmf.BuildContext.RunPass (nadena.dev.ndmf.ConcretePass pass) [0x00135] in .\Packages\nadena.dev.ndmf\Editor\API\BuildContext.cs:337 
  at jp.lilxyzw.lilycalinventory.AnimationHelper.GatherConditions (jp.lilxyzw.lilycalinventory.runtime.CostumeChanger[] costumeChangers, System.Collections.Generic.Dictionary`2[TKey,TValue] dic) [0x00015] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Helper\AnimationHelper.ParametersPerMenu.cs:276 
  at jp.lilxyzw.lilycalinventory.Modifier.ResolveMultiConditions (nadena.dev.ndmf.BuildContext ctx, UnityEditor.Animations.AnimatorController controller, System.Boolean hasWriteDefaultsState, jp.lilxyzw.lilycalinventory.runtime.ItemToggler[] togglers, jp.lilxyzw.lilycalinventory.runtime.CostumeChanger[] costumeChangers, UnityEditor.Animations.BlendTree root) [0x0001b] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Processor\Modifier.ResolveMultiConditions.cs:23 
  at jp.lilxyzw.lilycalinventory.Processor.ModifyPreProcess (nadena.dev.ndmf.BuildContext ctx) [0x001a8] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\Processor\Processor.cs:100 
  at jp.lilxyzw.lilycalinventory.LilycalInventoryPlugin+<>c.<Configure>b__4_2 (nadena.dev.ndmf.BuildContext ctx) [0x00000] in .\Library\PackageCache\jp.lilxyzw.lilycalinventory@5b6316fc38\Editor\NDMF\LilycalInventoryPlugin.cs:22 
  at nadena.dev.ndmf.AnonymousPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in .\Packages\nadena.dev.ndmf\Editor\API\Fluent\Pass.cs:42 
  at nadena.dev.ndmf.ConcretePass.Execute (nadena.dev.ndmf.BuildContext context) [0x00001] in .\Packages\nadena.dev.ndmf\Editor\API\Solver\PluginResolver.cs:36 
  at nadena.dev.ndmf.BuildContext.RunPass (nadena.dev.ndmf.ConcretePass pass) [0x00135] in .\Packages\nadena.dev.ndmf\Editor\API\BuildContext.cs:337