using System;
using System.Diagnostics;
using System.Linq;
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 HG.BlendableTypes;
using HG.Reflection;
using Microsoft.CodeAnalysis;
using RiskOfOptions;
using RiskOfOptions.Options;
using RoR2;
using UnityEngine;
using UnityEngine.AddressableAssets;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: OptIn]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("OperatorDroneCarryCameraTweaks")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("OperatorDroneCarryCameraTweaks")]
[assembly: AssemblyTitle("OperatorDroneCarryCameraTweaks")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
[module: UnverifiableCode]
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 OperatorDroneCarryCameraTweaks
{
public static class ModCompatabilities
{
public static class RiskOfOptionsCompatability
{
public const string GUID = "com.rune580.riskofoptions";
public static void AddConfig<T>(ConfigEntry<T> config, T value)
{
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_0023: Expected O, but got Unknown
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0046: Expected O, but got Unknown
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0069: Expected O, but got Unknown
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_008c: Expected O, but got Unknown
//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
//IL_00cc: Expected O, but got Unknown
if (value is float)
{
ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(config as ConfigEntry<float>));
}
if (value is bool)
{
ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(config as ConfigEntry<bool>));
}
if (value is int)
{
ModSettingsManager.AddOption((BaseOption)new IntFieldOption(config as ConfigEntry<int>));
}
if (value is string)
{
ModSettingsManager.AddOption((BaseOption)new StringInputFieldOption(config as ConfigEntry<string>));
}
if (value is Enum && !value.GetType().GetCustomAttributes<FlagsAttribute>().Any())
{
ModSettingsManager.AddOption((BaseOption)new ChoiceOption((ConfigEntryBase)(object)config));
}
}
}
}
[Serializable]
[BepInPlugin("com.brynzananas.operatordronecarrycameratweaks", "Operator Drone Carry Camera Tweaks", "1.0.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class OperatorDroneCarryCameraTweaksPlugin : BaseUnityPlugin
{
public const string ModGuid = "com.brynzananas.operatordronecarrycameratweaks";
public const string ModName = "Operator Drone Carry Camera Tweaks";
public const string ModVer = "1.0.0";
public static CharacterCameraParams characterCameraParams;
public static ConfigEntry<float> idealLocalCameraPosX;
public static ConfigEntry<float> idealLocalCameraPosY;
public static ConfigEntry<float> idealLocalCameraPosZ;
public static ConfigEntry<float> pivotVerticalOffset;
public static bool riskOfOptionsEnabled { get; private set; }
public void Awake()
{
//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
//IL_01c0: Unknown result type (might be due to invalid IL or missing references)
riskOfOptionsEnabled = Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions");
idealLocalCameraPosX = ((BaseUnityPlugin)this).Config.Bind<float>("Main", "Local Camera X Position", 0f, "");
idealLocalCameraPosX.SettingChanged += IdealLocalCameraPos_SettingChanged;
if (riskOfOptionsEnabled)
{
ModCompatabilities.RiskOfOptionsCompatability.AddConfig(idealLocalCameraPosX, idealLocalCameraPosX.Value);
}
idealLocalCameraPosY = ((BaseUnityPlugin)this).Config.Bind<float>("Main", "Local Camera Y Position", -3f, "");
idealLocalCameraPosY.SettingChanged += IdealLocalCameraPos_SettingChanged;
if (riskOfOptionsEnabled)
{
ModCompatabilities.RiskOfOptionsCompatability.AddConfig(idealLocalCameraPosY, idealLocalCameraPosY.Value);
}
idealLocalCameraPosZ = ((BaseUnityPlugin)this).Config.Bind<float>("Main", "Local Camera Z Position", -6f, "");
idealLocalCameraPosZ.SettingChanged += IdealLocalCameraPos_SettingChanged;
if (riskOfOptionsEnabled)
{
ModCompatabilities.RiskOfOptionsCompatability.AddConfig(idealLocalCameraPosZ, idealLocalCameraPosZ.Value);
}
pivotVerticalOffset = ((BaseUnityPlugin)this).Config.Bind<float>("Main", "Vertical Offset", 0f, "");
pivotVerticalOffset.SettingChanged += IdealLocalCameraPos_SettingChanged;
if (riskOfOptionsEnabled)
{
ModCompatabilities.RiskOfOptionsCompatability.AddConfig(pivotVerticalOffset, pivotVerticalOffset.Value);
}
characterCameraParams = Addressables.LoadAssetAsync<CharacterCameraParams>((object)"RoR2/DLC3/Drone Tech/ccpCarryFlight.asset").WaitForCompletion();
Apply();
}
private static void IdealLocalCameraPos_SettingChanged(object sender, EventArgs e)
{
Apply();
}
public static void Apply()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0079: Unknown result type (might be due to invalid IL or missing references)
//IL_007b: Unknown result type (might be due to invalid IL or missing references)
//IL_007e: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
//IL_00df: Unknown result type (might be due to invalid IL or missing references)
//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
CharacterCameraParamsData data = characterCameraParams.data;
BlendableVector3 val = default(BlendableVector3);
val.value = new Vector3(idealLocalCameraPosX.Value, idealLocalCameraPosY.Value, idealLocalCameraPosZ.Value);
val.alpha = 1f;
BlendableVector3 idealLocalCameraPos = val;
data.idealLocalCameraPos = idealLocalCameraPos;
BlendableFloat val2 = default(BlendableFloat);
val2.value = pivotVerticalOffset.Value;
val2.alpha = 1f;
BlendableFloat val3 = val2;
data.pivotVerticalOffset = val3;
val2 = default(BlendableFloat);
val2.value = 89.9f;
val2.alpha = 1f;
val3 = val2;
data.maxPitch = val3;
val2 = default(BlendableFloat);
val2.value = -89.9f;
val2.alpha = 1f;
val3 = val2;
data.minPitch = val3;
characterCameraParams.data = data;
}
}
}