using System; 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.Configuration; using HarmonyLib; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("ScaleableShip")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+4d95898d78835b54ab1a984d9e45372215d7f1fc")] [assembly: AssemblyProduct("ScaleableShip")] [assembly: AssemblyTitle("ScaleableShip")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace ScaleableShip { [BepInPlugin("ScaleableShip", "\u200bScaleableShip", "0.0.8")] public class ScaleableShip : BaseUnityPlugin { public enum ConfigType { None, ConvertibleNoRails, Convertible, BigCentered, Defaults } private ConfigType lastPreset; private static GameObject? gameObject; public static ConfigEntry activateMode { get; set; } public static ConfigEntry newMode { get; set; } public static ConfigEntry ignoreRailSettings { get; set; } public static ConfigEntry currentPreset { get; set; } public static ConfigEntry shipScaleX { get; set; } public static ConfigEntry shipScaleY { get; set; } public static ConfigEntry shipScaleZ { get; set; } public static ConfigEntry shipPositionX { get; set; } public static ConfigEntry shipPositionY { get; set; } public static ConfigEntry shipPositionZ { get; set; } public static ConfigEntry shipRailScaleX { get; set; } public static ConfigEntry shipRailScaleY { get; set; } public static ConfigEntry shipRailScaleZ { get; set; } public static ConfigEntry shipRailPositionX { get; set; } public static ConfigEntry shipRailPositionY { get; set; } public static ConfigEntry shipRailPositionZ { get; set; } public static ConfigEntry shipRailPostScaleX { get; set; } public static ConfigEntry shipRailPostScaleY { get; set; } public static ConfigEntry shipRailPostScaleZ { get; set; } public static ConfigEntry shipRailPostPositionX { get; set; } public static ConfigEntry shipRailPostPositionY { get; set; } public static ConfigEntry shipRailPostPositionZ { get; set; } public static ConfigEntry catwalkshipScaleX { get; set; } public static ConfigEntry catwalkshipScaleY { get; set; } public static ConfigEntry catwalkshipScaleZ { get; set; } public static ConfigEntry catwalkshipPositionX { get; set; } public static ConfigEntry catwalkshipPositionY { get; set; } public static ConfigEntry catwalkshipPositionZ { get; set; } public static void ApplyPresetConfiguration(ConfigType preset) { switch (preset) { case ConfigType.ConvertibleNoRails: activateMode.Value = true; ignoreRailSettings.Value = false; newMode.Value = false; shipScaleX.Value = 1f; shipScaleY.Value = 0.01f; shipScaleZ.Value = 1f; shipPositionX.Value = -5.25f; shipPositionY.Value = 0f; shipPositionZ.Value = 0f; catwalkshipScaleX.Value = 1f; catwalkshipScaleY.Value = 0.01f; catwalkshipScaleZ.Value = 1f; catwalkshipPositionX.Value = -5.5f; catwalkshipPositionY.Value = 0f; catwalkshipPositionZ.Value = -8.5f; shipRailScaleX.Value = 0f; shipRailScaleY.Value = 0f; shipRailScaleZ.Value = 0f; shipRailPostScaleX.Value = 0f; shipRailPostScaleY.Value = 0f; shipRailPostScaleZ.Value = 0f; break; case ConfigType.Convertible: activateMode.Value = true; ignoreRailSettings.Value = true; newMode.Value = false; shipScaleX.Value = 1f; shipScaleY.Value = 0.01f; shipScaleZ.Value = 1f; shipPositionX.Value = -5.25f; shipPositionY.Value = 0f; shipPositionZ.Value = 0f; catwalkshipScaleX.Value = 1f; catwalkshipScaleY.Value = 0.01f; catwalkshipScaleZ.Value = 1f; catwalkshipPositionX.Value = -5.5f; catwalkshipPositionY.Value = 0f; catwalkshipPositionZ.Value = -8.5f; break; case ConfigType.BigCentered: activateMode.Value = true; ignoreRailSettings.Value = false; newMode.Value = false; shipScaleX.Value = 6f; shipScaleY.Value = 2f; shipScaleZ.Value = 3f; shipPositionX.Value = 2f; shipPositionY.Value = 2f; shipPositionZ.Value = 12.5f; catwalkshipScaleX.Value = 5f; catwalkshipScaleY.Value = 0.9f; catwalkshipScaleZ.Value = 3f; catwalkshipPositionX.Value = 0f; catwalkshipPositionY.Value = -1f; catwalkshipPositionZ.Value = -13f; shipRailScaleX.Value = 0f; shipRailScaleY.Value = 0f; shipRailScaleZ.Value = 0f; shipRailPostScaleX.Value = 0f; shipRailPostScaleY.Value = 0f; shipRailPostScaleZ.Value = 0f; break; case ConfigType.Defaults: activateMode.Value = true; ignoreRailSettings.Value = true; newMode.Value = false; shipScaleX.Value = 1f; shipScaleY.Value = 1f; shipScaleZ.Value = 1f; shipPositionX.Value = -5.25f; shipPositionY.Value = 1f; shipPositionZ.Value = 0f; catwalkshipScaleX.Value = 1f; catwalkshipScaleY.Value = 0.01f; catwalkshipScaleZ.Value = 1f; catwalkshipPositionX.Value = -5.5f; catwalkshipPositionY.Value = 0f; catwalkshipPositionZ.Value = -8.5f; shipRailScaleX.Value = 0f; shipRailScaleY.Value = 0f; shipRailScaleZ.Value = 0f; shipRailPostScaleX.Value = 0f; shipRailPostScaleY.Value = 0f; shipRailPostScaleZ.Value = 0f; break; case ConfigType.None: break; } } private void Awake() { activateMode = ((BaseUnityPlugin)this).Config.Bind("Options", "Enabled", true, "Enables the mod."); currentPreset = ((BaseUnityPlugin)this).Config.Bind("Options", "Current Preset", ConfigType.None, "Preset configurations"); ignoreRailSettings = ((BaseUnityPlugin)this).Config.Bind("Options", "Ignore Rail Settings", true, "If this is checked keep the railing the way it is."); newMode = ((BaseUnityPlugin)this).Config.Bind("Options", "New Mode", false, "Enables the new mode which scales everything, only uses Ship Scale values."); shipScaleX = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Scale X", 1f, "X Coordinates\n Left/Right"); shipScaleY = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Scale Y", 1f, "Y Coordinates\n Up/Down"); shipScaleZ = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Scale Z", 1f, "Z Coordinates\n Front/Back"); shipPositionX = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Position X", -5.25f, "X Coordinates\n Left/Right"); shipPositionY = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Position Y", 1f, "Y Coordinates\n Up/Down"); shipPositionZ = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Position Z", 0f, "Z Coordinates\n Front/Back"); catwalkshipScaleX = ((BaseUnityPlugin)this).Config.Bind("Options", "Catwalk Scale X", 1f, "X Coordinates\n Left/Right"); catwalkshipScaleY = ((BaseUnityPlugin)this).Config.Bind("Options", "Catwalk Scale Y", 0.01f, "Y Coordinates\n Up/Down"); catwalkshipScaleZ = ((BaseUnityPlugin)this).Config.Bind("Options", "Catwalk Scale Z", 1f, "Z Coordinates\n Front/Back"); catwalkshipPositionX = ((BaseUnityPlugin)this).Config.Bind("Options", "Catwalk Position X", -5.5f, "X Coordinates\n Left/Right"); catwalkshipPositionY = ((BaseUnityPlugin)this).Config.Bind("Options", "Catwalk Position Y", 0f, "Y Coordinates\n Up/Down"); catwalkshipPositionZ = ((BaseUnityPlugin)this).Config.Bind("Options", "Catwalk Position Z", -8.5f, "Z Coordinates\n Front/Back"); shipRailScaleX = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Scale X", 0f, "X Coordinates\n Left/Right"); shipRailScaleY = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Scale Y", 0f, "Y Coordinates\n Up/Down"); shipRailScaleZ = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Scale Z", 0f, "Z Coordinates\n Front/Back"); shipRailPositionX = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Position X", 0f, "X Coordinates\n Left/Right"); shipRailPositionY = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Position Y", 0f, "Y Coordinates\n Up/Down"); shipRailPositionZ = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Position Z", 0f, "Z Coordinates\n Front/Back"); shipRailPostScaleX = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Post Scale X", 0f, "X Coordinates\n Left/Right"); shipRailPostScaleY = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Post Scale Y", 0f, "Y Coordinates\n Up/Down"); shipRailPostScaleZ = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Post Scale Z", 0f, "Z Coordinates\n Front/Back"); shipRailPostPositionX = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Post Position X", 0f, "X Coordinates\n Left/Right"); shipRailPostPositionY = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Post Position Y", 0f, "Y Coordinates\n Up/Down"); shipRailPostPositionZ = ((BaseUnityPlugin)this).Config.Bind("Options", "Ship Rail Post Position Z", 0f, "Z Coordinates\n Front/Back"); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin ScaleableShip is loaded!"); Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), (string)null); lastPreset = currentPreset.Value; } private void Update() { //IL_00b2: 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) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0192: 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) //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_0327: Unknown result type (might be due to invalid IL or missing references) if (!activateMode.Value) { return; } if (newMode.Value) { if ((Object)(object)StartOfRound.Instance != (Object)null && (Object)(object)StartOfRound.Instance.elevatorTransform != (Object)null) { ((Component)StartOfRound.Instance.elevatorTransform).transform.localScale = new Vector3(shipScaleZ.Value, shipScaleX.Value, shipScaleY.Value); } } else { GameObject val = GameObject.Find("ShipInside"); if ((Object)(object)val != (Object)null) { val.transform.localScale = new Vector3(shipScaleZ.Value, shipScaleX.Value, shipScaleY.Value); val.transform.localPosition = new Vector3(shipPositionZ.Value, shipPositionY.Value, shipPositionX.Value); } GameObject val2 = GameObject.Find("ShipInside.001"); if ((Object)(object)val2 != (Object)null) { val2.transform.localScale = new Vector3(shipScaleZ.Value, shipScaleX.Value, shipScaleY.Value); val2.transform.localPosition = new Vector3(shipPositionZ.Value, shipPositionY.Value, shipPositionX.Value); } GameObject val3 = GameObject.Find("ShipHull"); if ((Object)(object)val3 != (Object)null) { val3.transform.localScale = new Vector3(shipScaleZ.Value, shipScaleX.Value, shipScaleY.Value); val3.transform.localPosition = new Vector3(shipPositionZ.Value, shipPositionY.Value, shipPositionX.Value); } GameObject val4 = GameObject.Find("CatwalkShip"); if ((Object)(object)val4 != (Object)null) { val4.transform.localScale = new Vector3(catwalkshipScaleZ.Value, catwalkshipScaleX.Value, catwalkshipScaleY.Value); val4.transform.localPosition = new Vector3(catwalkshipPositionZ.Value, catwalkshipPositionY.Value, catwalkshipPositionX.Value); } } if (!ignoreRailSettings.Value) { GameObject val5 = GameObject.Find("ShipRails"); if ((Object)(object)val5 != (Object)null) { val5.transform.localScale = new Vector3(shipRailScaleZ.Value, shipRailScaleY.Value, shipRailScaleX.Value); val5.transform.localPosition = new Vector3(shipRailPositionZ.Value, shipRailPositionY.Value, shipRailPositionX.Value); } GameObject val6 = GameObject.Find("ShipRailPosts"); if ((Object)(object)val6 != (Object)null) { val6.transform.localScale = new Vector3(shipRailPostScaleZ.Value, shipRailPostScaleX.Value, shipRailPostScaleY.Value); val6.transform.localPosition = new Vector3(shipRailPostPositionZ.Value, shipRailPostPositionY.Value, shipRailPostPositionX.Value); } } if (currentPreset.Value != lastPreset) { lastPreset = currentPreset.Value; ApplyPresetConfiguration(currentPreset.Value); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }