using System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using Microsoft.CodeAnalysis; using On.RoR2; using RiskOfOptions; using RiskOfOptions.Options; using RoR2; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("RemoveSprintingCrosshair")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+c9029af3b3ac7ba942a6b647ad50472879098b92")] [assembly: AssemblyProduct("RemoveSprintingCrosshair")] [assembly: AssemblyTitle("RemoveSprintingCrosshair")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace RemoveSprintingCrosshair { [BepInPlugin("diselgonk.RemoveSprintingCrosshair", "RemoveSprintingCrosshair", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class RemoveSprintingCrosshair : BaseUnityPlugin { public const string PluginGUID = "diselgonk.RemoveSprintingCrosshair"; public const string PluginAuthor = "diselgonk"; public const string PluginName = "RemoveSprintingCrosshair"; public const string PluginVersion = "1.0.0"; private static readonly HashSet bodies = new HashSet(); public static ConfigEntry UseSprintCrosshair { get; set; } public void Awake() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Expected O, but got Unknown //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Expected O, but got Unknown UseSprintCrosshair = ((BaseUnityPlugin)this).Config.Bind("Options", "useSprintCrosshair", false, "Should sprint crosshair be used?"); UseSprintCrosshair.SettingChanged += UseSprintCrosshair_SettingChanged; CharacterBody.Start += new hook_Start(CharacterBody_Start); CharacterBody.OnDestroy += new hook_OnDestroy(CharacterBody_OnDestroy); if (RiskOfOptionsCompatability.Enabled) { RiskOfOptionsCompatability.InitConfig(UseSprintCrosshair); } } private void UseSprintCrosshair_SettingChanged(object sender, EventArgs e) { bool value = UseSprintCrosshair.Value; foreach (CharacterBody body in bodies) { if (body != null) { body.useSprintCrosshair = value; } } } private void CharacterBody_OnDestroy(orig_OnDestroy orig, CharacterBody self) { bodies.Remove(self); orig.Invoke(self); } private void CharacterBody_Start(orig_Start orig, CharacterBody self) { orig.Invoke(self); bodies.Add(self); self.useSprintCrosshair = UseSprintCrosshair.Value; } } internal class RiskOfOptionsCompatability { private static bool? _enabled; public static bool Enabled { get { if (!_enabled.HasValue) { _enabled = Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions"); } return _enabled.Value; } } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void InitConfig(ConfigEntry UseSprintCrosshair) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Expected O, but got Unknown ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(UseSprintCrosshair)); } } }