private IEnumerator OnDataChangedCo() { CleanEmptyModifiers(); // Needed to let accessories load in yield return(new WaitForEndOfFrame()); ModifiersFillInTransforms(); NeedsBaselineUpdate = false; NewDataLoaded?.Invoke(this, EventArgs.Empty); }
private IEnumerator OnDataChangedCo() { foreach (var modifier in Modifiers.Where(x => x.IsEmpty()).ToList()) { modifier.Reset(); Modifiers.Remove(modifier); } // Needed to let accessories load in yield return(new WaitForEndOfFrame()); ModifiersFillInTransforms(); NeedsBaselineUpdate = false; NewDataLoaded?.Invoke(this, EventArgs.Empty); }
private IEnumerator OnDataChangedCo() { foreach (var modifier in Modifiers.Where(x => x.IsEmpty()).ToList()) { modifier.Reset(); Modifiers.Remove(modifier); } // Add any modifiers that will be used by the AdditionalBoneEffects if they don't already exist foreach (var boneName in _additionalBoneEffects.SelectMany(x => x.GetAffectedBones(this)).Except(Modifiers.Select(x => x.BoneName))) { Modifiers.Add(new BoneModifier(boneName)); } // Needed to let accessories load in yield return(new WaitForEndOfFrame()); ModifiersFillInTransforms(); NeedsBaselineUpdate = false; NewDataLoaded?.Invoke(this, EventArgs.Empty); }