mirror of
https://github.com/bdunderscore/modular-avatar.git
synced 2025-04-24 13:29:01 +08:00
fix: add null check
This commit is contained in:
parent
089389e0db
commit
bffd718f2e
@ -37,6 +37,8 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
|
|
||||||
foreach (var setter in setters)
|
foreach (var setter in setters)
|
||||||
{
|
{
|
||||||
|
if (setter == null) continue;
|
||||||
|
|
||||||
var mami = context.GetComponent<ModularAvatarMenuItem>(setter.gameObject);
|
var mami = context.GetComponent<ModularAvatarMenuItem>(setter.gameObject);
|
||||||
bool active = context.ActiveAndEnabled(setter) && (mami == null || menuItemPreview.IsEnabledForPreview(mami));
|
bool active = context.ActiveAndEnabled(setter) && (mami == null || menuItemPreview.IsEnabledForPreview(mami));
|
||||||
if (active == context.Observe(setter, s => s.Inverted)) continue;
|
if (active == context.Observe(setter, s => s.Inverted)) continue;
|
||||||
@ -91,10 +93,14 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
{
|
{
|
||||||
var (original, proxy) = proxyPairs.First();
|
var (original, proxy) = proxyPairs.First();
|
||||||
|
|
||||||
|
if (original == null || proxy == null) return null;
|
||||||
|
|
||||||
var mats = new Material[proxy.sharedMaterials.Length];
|
var mats = new Material[proxy.sharedMaterials.Length];
|
||||||
|
|
||||||
foreach (var setter in _setters)
|
foreach (var setter in _setters)
|
||||||
{
|
{
|
||||||
|
if (setter == null) continue;
|
||||||
|
|
||||||
var objects = context.Observe(setter, s => s.Objects.Select(o => (o.Object.Get(s), o.Material, o.MaterialIndex)).ToList(), Enumerable.SequenceEqual);
|
var objects = context.Observe(setter, s => s.Objects.Select(o => (o.Object.Get(s), o.Material, o.MaterialIndex)).ToList(), Enumerable.SequenceEqual);
|
||||||
|
|
||||||
foreach (var (target, mat, index) in objects)
|
foreach (var (target, mat, index) in objects)
|
||||||
@ -124,6 +130,8 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
|
|
||||||
public void OnFrame(Renderer original, Renderer proxy)
|
public void OnFrame(Renderer original, Renderer proxy)
|
||||||
{
|
{
|
||||||
|
if (original == null || proxy == null) return;
|
||||||
|
|
||||||
var mats = proxy.sharedMaterials;
|
var mats = proxy.sharedMaterials;
|
||||||
|
|
||||||
foreach (var mat in _materials)
|
foreach (var mat in _materials)
|
||||||
|
@ -42,6 +42,8 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
|
|
||||||
foreach (var changer in changers)
|
foreach (var changer in changers)
|
||||||
{
|
{
|
||||||
|
if (changer == null) continue;
|
||||||
|
|
||||||
var mami = context.GetComponent<ModularAvatarMenuItem>(changer.gameObject);
|
var mami = context.GetComponent<ModularAvatarMenuItem>(changer.gameObject);
|
||||||
bool active = context.ActiveAndEnabled(changer) && (mami == null || menuItemPreview.IsEnabledForPreview(mami));
|
bool active = context.ActiveAndEnabled(changer) && (mami == null || menuItemPreview.IsEnabledForPreview(mami));
|
||||||
if (active == context.Observe(changer, c => c.Inverted)) continue;
|
if (active == context.Observe(changer, c => c.Inverted)) continue;
|
||||||
@ -143,6 +145,8 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
|
|
||||||
foreach (var changer in _changers)
|
foreach (var changer in _changers)
|
||||||
{
|
{
|
||||||
|
if (changer == null) continue;
|
||||||
|
|
||||||
var shapes = context.Observe(changer, c => c.Shapes.Select(s => (s.Object.Get(c), s.ShapeName, s.ChangeType, s.Value)).ToList(), Enumerable.SequenceEqual);
|
var shapes = context.Observe(changer, c => c.Shapes.Select(s => (s.Object.Get(c), s.ShapeName, s.ChangeType, s.Value)).ToList(), Enumerable.SequenceEqual);
|
||||||
|
|
||||||
foreach (var (target, name, type, value) in shapes)
|
foreach (var (target, name, type, value) in shapes)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user