private void Unload() { SaberTailorPatches.RemoveHarmonyPatches(); ScoreUtility.Cleanup(); Configuration.Save(); RemoveEvents(); }
private void Unload() { SaberTailorPatches.RemoveHarmonyPatches(); Configuration.Save(); RemoveEvents(); if (IsBSMLAvailable) { RemoveMenu(); } }
private void Load() { Configuration.Load(); AddEvents(); if (Configuration.Grip.IsGripModEnabled) { SaberTailorPatches.ApplyHarmonyPatches(); } Logger.log.Info($"{PluginName} v.{PluginVersion} has started."); }
private void Unload() { SaberTailorPatches.RemoveHarmonyPatches(); Configuration.Save(); RemoveEvents(); }
private static void LoadConfig(ConfigSection cfgSection = ConfigSection.All) { #region Internal settings ConfigVersion = PluginConfig.Instance.ConfigVersion; #endregion #region Saber scale if (cfgSection == ConfigSection.All || cfgSection == ConfigSection.Scale) { Scale.TweakEnabled = PluginConfig.Instance.IsSaberScaleModEnabled; Scale.ScaleHitBox = PluginConfig.Instance.SaberScaleHitbox; if (PluginConfig.Instance.SaberLength < 5 || PluginConfig.Instance.SaberLength > 500) { ScaleCfg.Length = 100; } else { ScaleCfg.Length = PluginConfig.Instance.SaberLength; } if (PluginConfig.Instance.SaberGirth < 5 || PluginConfig.Instance.SaberGirth > 500) { ScaleCfg.Girth = 100; } else { ScaleCfg.Girth = PluginConfig.Instance.SaberGirth; } } #endregion #region Saber trail if (cfgSection == ConfigSection.All || cfgSection == ConfigSection.Scale) { Trail.TweakEnabled = PluginConfig.Instance.IsTrailModEnabled; Trail.TrailEnabled = PluginConfig.Instance.IsTrailEnabled; Trail.Duration = Mathf.Clamp(PluginConfig.Instance.TrailDuration, 100, 5000); Trail.Granularity = Mathf.Clamp(PluginConfig.Instance.TrailGranularity, 10, 200); Trail.WhiteSectionDuration = Mathf.Clamp(PluginConfig.Instance.TrailWhiteSectionDuration, 0, 2000); } #endregion #region Saber grip // Even though the field says GripLeftRotation/GripRightRotation, it is actually the Cfg values that are loaded! if (cfgSection == ConfigSection.All || cfgSection == ConfigSection.Grip || cfgSection == ConfigSection.GripLeft) { Int3 gripLeftPosition = PluginConfig.Instance.GripLeftPosition ?? Int3.zero; GripCfg.PosLeft = new Int3() { x = Mathf.Clamp(gripLeftPosition.x, -500, 500), y = Mathf.Clamp(gripLeftPosition.y, -500, 500), z = Mathf.Clamp(gripLeftPosition.z, -500, 500) }; Int3 gripLeftRotation = PluginConfig.Instance.GripLeftRotation ?? Int3.zero; GripCfg.RotLeft = new Int3(gripLeftRotation); Int3 gripLeftOffset = PluginConfig.Instance.GripLeftOffset ?? Int3.zero; GripCfg.OffsetLeft = new Int3() { x = Mathf.Clamp(gripLeftOffset.x, -500, 500), y = Mathf.Clamp(gripLeftOffset.y, -500, 500), z = Mathf.Clamp(gripLeftOffset.z, -500, 500) }; } if (cfgSection == ConfigSection.All || cfgSection == ConfigSection.Grip || cfgSection == ConfigSection.GripRight) { Int3 gripRightPosition = PluginConfig.Instance.GripRightPosition ?? Int3.zero; GripCfg.PosRight = new Int3() { x = Mathf.Clamp(gripRightPosition.x, -500, 500), y = Mathf.Clamp(gripRightPosition.y, -500, 500), z = Mathf.Clamp(gripRightPosition.z, -500, 500) }; Int3 gripRightRotation = PluginConfig.Instance.GripRightRotation ?? Int3.zero; GripCfg.RotRight = new Int3(gripRightRotation); Int3 gripRightOffset = PluginConfig.Instance.GripRightOffset ?? Int3.zero; GripCfg.OffsetRight = new Int3() { x = Mathf.Clamp(gripRightOffset.x, -500, 500), y = Mathf.Clamp(gripRightOffset.y, -500, 500), z = Mathf.Clamp(gripRightOffset.z, -500, 500) }; } if (cfgSection == ConfigSection.All || cfgSection == ConfigSection.Grip) { Grip.IsGripModEnabled = PluginConfig.Instance.IsGripModEnabled; Grip.ModifyMenuHiltGrip = PluginConfig.Instance.ModifyMenuHiltGrip; Grip.UseBaseGameAdjustmentMode = PluginConfig.Instance.UseBaseGameAdjustmentMode; } #endregion #region Menu settings if (cfgSection == ConfigSection.All || cfgSection == ConfigSection.Menu) { Menu.SaberPosIncrement = Mathf.Clamp(PluginConfig.Instance.SaberPosIncrement, 1, 200); Menu.SaberPosIncValue = Mathf.Clamp(PluginConfig.Instance.SaberPosIncValue, 1, 20); Menu.SaberRotIncrement = Mathf.Clamp(PluginConfig.Instance.SaberRotIncrement, 1, 20); Menu.SaberPosDisplayUnit = Enum.TryParse(PluginConfig.Instance.SaberPosDisplayUnit, out PositionDisplayUnit displayUnit) ? displayUnit : PositionDisplayUnit.cm; Menu.SaberPosIncUnit = Enum.TryParse(PluginConfig.Instance.SaberPosIncUnit, out PositionUnit positionUnit) ? positionUnit : PositionUnit.cm; } #endregion SaberTailorPatches.CheckHarmonyPatchStatus(); }