private void LateUpdate() { if (paramCustom == null || !ChaControl.loadEnd) { return; } //Load init parameters from chara. //Dont load if parameters were loaded from extended data.(if endInitLoad=false) if (!endInitLoad) { InitialLoadParams(); } //Controller enabled or diabled if (changedControllerEnabled) { changedControllerEnabled = false; //enabled if (Enabled) { #if DEBUG BreastPhysicsController.Logger.LogDebug("Controller is enabled."); #endif if (isEnabledNowBust()) { paramBackup.BackupBust(ChaControl.getDynamicBoneBust(ChaInfo.DynamicBoneKind.BreastL)); ApplyParamBust(); } if (isEnabledNowHip()) { paramBackup.BackupHip(ChaControl.getDynamicBoneBust(ChaInfo.DynamicBoneKind.HipL)); ApplyParamHip(); } } else //disbaled { #if DEBUG BreastPhysicsController.Logger.LogDebug("Controller is disabled."); #endif paramBackup.RestoreAll(ChaControl); } changedInfo.Reset(); } //Changed enabled or params per state if (changedInfo.forceChanged) { if (Enabled && isEnabledNowBust()) { paramBackup.BackupBust(ChaControl.getDynamicBoneBust(ChaInfo.DynamicBoneKind.BreastL)); ApplyParamBust(); } else { paramBackup.RestoreBust(ChaControl); } if (Enabled && isEnabledNowHip()) { paramBackup.BackupHip(ChaControl.getDynamicBoneBust(ChaInfo.DynamicBoneKind.HipL)); ApplyParamHip(); } else { paramBackup.RestoreHip(ChaControl); } changedInfo.Reset(); } else if (changedInfo.changedEnabled) { if (IsMatchState(changedInfo.kind, changedInfo.coordinate)) { if (changedInfo.kind == ParamsKind.Naked) { if (Enabled && isEnabledNowBust()) { paramBackup.BackupBust(ChaControl.getDynamicBoneBust(ChaInfo.DynamicBoneKind.BreastL)); ApplyParamBust(); } else { paramBackup.RestoreBust(ChaControl); } } else if ((changedInfo.kind == ParamsKind.Bra || changedInfo.kind == ParamsKind.Tops)) { if (Enabled && isEnabledNowBust()) { paramBackup.BackupBust(ChaControl.getDynamicBoneBust(ChaInfo.DynamicBoneKind.BreastL)); ApplyParamBust(); } else { paramBackup.RestoreBust(ChaControl); } } else if (changedInfo.kind == ParamsKind.Hip) { if (Enabled && isEnabledNowHip()) { paramBackup.BackupHip(ChaControl.getDynamicBoneBust(ChaInfo.DynamicBoneKind.HipL)); ApplyParamHip(); } else { paramBackup.RestoreHip(ChaControl); } } } changedInfo.Reset(); } else if (changedInfo.changedParam) //changed paramters per state { if (IsMatchState(changedInfo.kind, changedInfo.coordinate) && Enabled) { if (changedInfo.kind == ParamsKind.Naked || changedInfo.kind == ParamsKind.Bra || changedInfo.kind == ParamsKind.Tops) { if (isEnabledNowBust()) { ApplyParamBust(); } } else if (changedInfo.kind == ParamsKind.Hip) { if (isEnabledNowHip()) { ApplyParamHip(); } } } changedInfo.Reset(); } }