Decompiled source of Auxilaryfunction v2.8.2
Auxilaryfunction.dll
Decompiled 2 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Text; using System.Text.RegularExpressions; using System.Threading; using Auxilaryfunction.Models; using Auxilaryfunction.Patch; using Auxilaryfunction.Services; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using UnityEngine; using UnityEngine.UI; using UnityStandardAssets.ImageEffects; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("Auxilaryfunction")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Auxilaryfunction")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("7fd6fcaf-8a28-43c7-adb5-3c05716882a7")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace Auxilaryfunction { [BepInPlugin("cn.blacksnipe.dsp.Auxilaryfunction", "Auxilaryfunction", "2.8.2")] public class Auxilaryfunction : BaseUnityPlugin { public const string GUID = "cn.blacksnipe.dsp.Auxilaryfunction"; public const string NAME = "Auxilaryfunction"; public const string VERSION = "2.8.2"; public static int autoaddtechid; public static bool autobuildgetitem; public static Thread autobuildThread; public static int automovetoPrebuildSecondElapseCounter; public static bool autoRemoveRuin; public static int autoRemoveRuinId = -1; public static float batchnum = 1f; public static BuildingParameters buildingParameters; public static bool ChangingBluePrintQuickKey; public static bool ChangingQuickKey; public static Dictionary<int, List<int>> EjectorDictionary; public static string ErrorTitle = "辅助面板错误提示"; public static bool GameDataImported; public static GUIDraw guidraw; public static Harmony harmony; public static bool HideDarkFogAssaultTip; public static bool HideDarkFogMonitor; public static int locallogic; public static int maxCount = 0; public static Player player; public static List<int> pointlayeridlist; public static int pointsignalid; public static List<int> readyresearch; public static int remotelogic = 2; public static bool simulatorchanging; public static bool simulatorrender; public static bool StartAutoMovetoDarkfog; public static bool StartAutoMovetounbuilt; public static int[,] stationcopyItem = new int[5, 6]; public static int stationindex = 4; public static RectTransform stationTipRectTransform; public static GameObject stationTipRoot; public static StationTip[] stationtips = new StationTip[maxCount]; public static GameObject StationWindow; public static Light SunLight; public static bool temp; public static GameObject tipPrefab; public static GameObject TrashCanButton; public static StorageComponent TrashStorage; public static GameObject TrashStorageWindow; public static UIStationWindow uiStationWindow; public static UIStorageWindow uiTrashStorageWindow; public bool firstStart; private float trashfunctiontime; public static ConfigEntry<int> auto_add_techid; public static ConfigEntry<int> auto_add_techmaxLevel; public static ConfigEntry<bool> auto_setejector_bool; public static ConfigEntry<int> auto_supply_Courier; public static ConfigEntry<int> auto_supply_drone; public static ConfigEntry<int> auto_supply_ship; public static ConfigEntry<int> auto_supply_starfuel; public static ConfigEntry<int> auto_supply_starfuelID; public static ConfigEntry<bool> auto_supply_station; public static ConfigEntry<int> auto_supply_warp; public static ConfigEntry<bool> autoabsorttrash_bool; public static ConfigEntry<bool> autoAddPlayerVel; public static ConfigEntry<bool> autoaddtech_bool; public static ConfigEntry<bool> autoAddwarp; public static ConfigEntry<bool> autocleartrash_bool; public static ConfigEntry<bool> automovetodarkfog; public static ConfigEntry<float> automovetoPrebuildSecondElapse; public static ConfigEntry<bool> automovetounbuilt; public static ConfigEntry<bool> AutoNavigateToDarkFogHive; public static ConfigEntry<int> AutoNavigateToDarkFogHiveKeepDistance; public static ConfigEntry<bool> autonavigation_bool; public static ConfigEntry<int> autosavetime; public static ConfigEntry<bool> autosavetimechange; public static ConfigEntry<bool> autosetCourier_bool; public static ConfigEntry<bool> autosetSomevalue_bool; public static ConfigEntry<bool> autosetstationconfig; public static ConfigEntry<bool> autowarpcommand; public static ConfigEntry<float> autowarpdistance; public static ConfigEntry<float> autowarpdistanceEnergyPercent; public static ConfigEntry<bool> BluePrintDelete; public static ConfigEntry<bool> BluePrintSelectAll; public static ConfigEntry<KeyboardShortcut> BluePrintShowWindow; public static ConfigEntry<bool> CloseMilestone; public static ConfigEntry<bool> closeplayerflyaudio; public static ConfigEntry<bool> CloseUIAdvisor; public static ConfigEntry<bool> CloseUIRandomTip; public static ConfigEntry<bool> CloseUITutorialTip; public static ConfigEntry<float> DroneStartCarry; public static ConfigEntry<bool> DysonPanelDysonSphere; public static ConfigEntry<bool> DysonPanelLayers; public static ConfigEntry<bool> DysonPanelSingleLayer; public static ConfigEntry<bool> DysonPanelSwarm; public static ConfigEntry<bool> KeepBeltHeight; public static ConfigEntry<string> LastOpenBluePrintBrowserPathConfig; public static ConfigEntry<bool> norender_beltitem; public static ConfigEntry<bool> norender_DarkFog; public static ConfigEntry<bool> norender_dysonshell_bool; public static ConfigEntry<bool> norender_dysonswarm_bool; public static ConfigEntry<bool> norender_entity_bool; public static ConfigEntry<bool> norender_lab_bool; public static ConfigEntry<bool> norender_powerdisk_bool; public static ConfigEntry<bool> norender_shipdrone_bool; public static ConfigEntry<bool> noscaleuitech_bool; public static ConfigEntry<bool> onlygetbuildings; public static ConfigEntry<KeyboardShortcut> QuickKey; public static ConfigEntry<bool> Quickstop_bool; public static ConfigEntry<bool> SaveLastOpenBluePrintBrowserPathConfig; public static ConfigEntry<float> ShipStartCarry; public static ConfigEntry<bool> ShowStationInfo; public static ConfigEntry<bool> ShowStationInfoMode; public static ConfigEntry<bool> stationcopyItem_bool; public static ConfigEntry<int> stationdronedist; public static ConfigEntry<float> stationmaxpowerpertick; public static ConfigEntry<int> stationshipdist; public static ConfigEntry<double> stationwarpdist; public static ConfigEntry<bool> SunLightOpen; public static ConfigEntry<bool> TrashStorageWindow_bool; public static ConfigEntry<bool> upsquickset; public static ConfigEntry<int> veincollectorspeed; public static ConfigEntry<float> window_height; public static ConfigEntry<float> window_width; public static PlanetData LocalPlanet => GameMain.localPlanet; public static void AddCourierToAllStar() { if (LocalPlanet == null) { return; } int value = auto_supply_Courier.Value; DispenserComponent[] dispenserPool = LocalPlanet.factory.transport.dispenserPool; int num2 = default(int); foreach (DispenserComponent val in dispenserPool) { if (val != null) { int num = value - val.idleCourierCount - val.workCourierCount; if (num > 0) { val.idleCourierCount += player.package.TakeItem(5003, num, ref num2); } } } } public static void AddDroneShipToStation() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Invalid comparison between Unknown and I4 if (LocalPlanet == null || (int)LocalPlanet.type == 5) { return; } int value = auto_supply_ship.Value; int value2 = auto_supply_drone.Value; int value3 = auto_supply_warp.Value; StationComponent[] stationPool = LocalPlanet.factory.transport.stationPool; int num4 = default(int); foreach (StationComponent val in stationPool) { if (val != null && !val.isVeinCollector) { int num = (val.isStellar ? 100 : 50); int num2 = ((value2 > num) ? num : value2); int num3 = num2 - val.workDroneCount - val.idleDroneCount; if (num3 > 0) { val.idleDroneCount += player.package.TakeItem(5001, num3, ref num4); } int num5 = value - val.idleShipCount - val.workShipCount; if (val.isStellar && num5 > 0) { val.idleShipCount += player.package.TakeItem(5002, num5, ref num4); } int num6 = value3 - val.warperCount; if (num6 > 0) { val.warperCount += player.package.TakeItem(1210, num6, ref num4); } } } } public static void AddFuelToAllStar() { //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) if (LocalPlanet == null) { return; } PlanetFactory factory = LocalPlanet.factory; int value = auto_supply_starfuelID.Value; if (value < 1803 || value > 1804) { return; } PowerGeneratorComponent[] genPool = factory.powerSystem.genPool; int num2 = default(int); foreach (PowerGeneratorComponent val in genPool) { if (val.fuelMask == 4 && val.fuelCount < auto_supply_starfuel.Value) { int num = auto_supply_starfuel.Value - val.fuelCount; short num3 = (short)player.package.TakeItem(value, num, ref num2); if (num3 == 0) { break; } if (val.fuelCount == 0) { ((PowerGeneratorComponent)(ref factory.powerSystem.genPool[val.id])).SetNewFuel(value, num3, (short)num2); } else if (val.fuelCount < auto_supply_starfuel.Value && value == val.fuelId) { factory.powerSystem.genPool[val.id].fuelCount += num3; factory.powerSystem.genPool[val.id].fuelInc += (short)num2; } } } } public static void ChangeAllStationConfig() { if (LocalPlanet == null || LocalPlanet.factory == null || LocalPlanet.factory.transport == null || LocalPlanet.factory.transport.stationPool == null) { return; } StationComponent[] stationPool = LocalPlanet.factory.transport.stationPool; foreach (StationComponent val in stationPool) { if (val != null && !val.isVeinCollector) { val.tripRangeDrones = Math.Cos((double)stationdronedist.Value * Math.PI / 180.0); LocalPlanet.factory.powerSystem.consumerPool[val.pcId].workEnergyPerTick = (long)stationmaxpowerpertick.Value * 16667; if (stationmaxpowerpertick.Value > 60f && !val.isStellar) { LocalPlanet.factory.powerSystem.consumerPool[val.pcId].workEnergyPerTick = 1000020L; } val.deliveryDrones = ((DroneStartCarry.Value == 0f) ? 1 : ((int)(DroneStartCarry.Value * 10f) * 10)); if (val.isStellar) { val.warpEnableDist = stationwarpdist.Value * 40000.0; val.deliveryShips = ((ShipStartCarry.Value == 0f) ? 1 : ((int)(ShipStartCarry.Value * 10f) * 10)); val.tripRangeShips = ((stationshipdist.Value > 60) ? 24000000000L : (stationshipdist.Value * 2400000)); } } } } public static void ChangeAllVeinCollectorSpeedConfig() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Invalid comparison between Unknown and I4 if (LocalPlanet == null || (int)LocalPlanet.type == 5) { return; } StationComponent[] stationPool = LocalPlanet.factory.transport.stationPool; foreach (StationComponent val in stationPool) { if (val != null && val.isVeinCollector) { LocalPlanet.factory.factorySystem.minerPool[val.minerId].speed = veincollectorspeed.Value * 1000; } } } public static void SetGasStation() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Invalid comparison between Unknown and I4 //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Unknown result type (might be due to invalid IL or missing references) //IL_037d: Unknown result type (might be due to invalid IL or missing references) //IL_0382: Unknown result type (might be due to invalid IL or missing references) //IL_0384: Unknown result type (might be due to invalid IL or missing references) //IL_039f: Unknown result type (might be due to invalid IL or missing references) //IL_03a4: Unknown result type (might be due to invalid IL or missing references) //IL_03a6: Unknown result type (might be due to invalid IL or missing references) //IL_03a8: Unknown result type (might be due to invalid IL or missing references) //IL_03aa: Unknown result type (might be due to invalid IL or missing references) //IL_03af: Unknown result type (might be due to invalid IL or missing references) //IL_03b3: Unknown result type (might be due to invalid IL or missing references) //IL_03d0: Unknown result type (might be due to invalid IL or missing references) //IL_03d2: Unknown result type (might be due to invalid IL or missing references) //IL_03d4: Unknown result type (might be due to invalid IL or missing references) //IL_03d9: Unknown result type (might be due to invalid IL or missing references) //IL_03de: Unknown result type (might be due to invalid IL or missing references) //IL_03e3: Unknown result type (might be due to invalid IL or missing references) //IL_03ea: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_03ee: Unknown result type (might be due to invalid IL or missing references) //IL_03f3: Unknown result type (might be due to invalid IL or missing references) //IL_03f8: Unknown result type (might be due to invalid IL or missing references) //IL_03fd: Unknown result type (might be due to invalid IL or missing references) //IL_0404: Unknown result type (might be due to invalid IL or missing references) //IL_0406: Unknown result type (might be due to invalid IL or missing references) //IL_040b: Unknown result type (might be due to invalid IL or missing references) //IL_0410: Unknown result type (might be due to invalid IL or missing references) //IL_0417: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_041e: Unknown result type (might be due to invalid IL or missing references) //IL_0423: Unknown result type (might be due to invalid IL or missing references) //IL_0450: Unknown result type (might be due to invalid IL or missing references) //IL_0452: Unknown result type (might be due to invalid IL or missing references) //IL_0476: Unknown result type (might be due to invalid IL or missing references) if (LocalPlanet == null || (int)LocalPlanet.type != 5) { return; } PlanetFactory factory = LocalPlanet.factory; if (factory != null) { StationComponent[] stationPool = factory.transport.stationPool; foreach (StationComponent val in stationPool) { if (val != null && val.isCollector) { UIMessageBox.Show("铺满轨道采集器失败", "当前星球存在采集器,请先清空所有建筑", "确定", 3); return; } } if (factory.prebuildCount > 0) { UIMessageBox.Show("铺满轨道采集器失败", "当前星球存在采集器,请先清空所有建筑", "确定", 3); return; } } StorageComponent package = player.package; int num = 0; for (int j = 0; j < package.size; j++) { if (package.grids[j].itemId == 2105) { num += package.grids[j].count; if (num >= 40) { break; } } } if (num >= 40) { int num2 = default(int); package.TakeItem(2105, 40, ref num2); Vector3 val2 = default(Vector3); for (int k = 0; k < 40; k++) { double num3 = 0.0; double num4 = 0.0; if (k % 10 == 0) { if (k < 20) { num3 = ((k == 0) ? Constant.posxz[0, 0] : (0.0 - Constant.posxz[0, 0])); num4 = ((k == 0) ? Constant.posxz[0, 1] : (0.0 - Constant.posxz[0, 1])); } else { num3 = ((k == 20) ? Constant.posxz[0, 1] : (0.0 - Constant.posxz[0, 1])); num4 = ((k == 20) ? Constant.posxz[0, 0] : (0.0 - Constant.posxz[0, 0])); } } else if (0 < k && k < 10) { num3 = Constant.posxz[k, 0]; num4 = Constant.posxz[k, 1]; } else if (k > 10 && k < 20) { num3 = 0.0 - Constant.posxz[k - 10, 0]; num4 = Constant.posxz[k - 10, 1]; } else if (k > 20 && k < 30) { num3 = Constant.posxz[k - 20, 0]; num4 = 0.0 - Constant.posxz[k - 20, 1]; } else if (k > 30) { num3 = 0.0 - Constant.posxz[k - 30, 0]; num4 = 0.0 - Constant.posxz[k - 30, 1]; } ((Vector3)(ref val2))..ctor((float)(num3 * (double)player.planetData.realRadius), 0f, (float)(num4 * (double)player.planetData.realRadius)); Vector3 val3 = 0.025f * ((Vector3)(ref val2)).normalized * player.planetData.realRadius; Quaternion val4 = Maths.SphericalRotation(val2, player.controller.actionBuild.clickTool.yaw); val2 += val3; PrebuildData val5 = default(PrebuildData); val5.protoId = 2105; val5.modelIndex = 117; val5.pos = val2 + val4 * Vector3.zero; val5.pos2 = val2 + val4 * Vector3.zero; val5.rot = val4 * Quaternion.identity; val5.rot2 = val4 * Quaternion.identity; val5.pickOffset = 0; val5.insertOffset = 0; val5.recipeId = 0; val5.filterId = 0; val5.paramCount = 0; PrebuildData val6 = val5; ((PrebuildData)(ref val6)).InitParametersArray(0); ((BuildTool)player.controller.actionBuild.clickTool).factory.AddPrebuildDataWithComponents(val6); } } else { UIMessageBox.Show("铺满轨道采集器失败", "背包里没有40个采集器,请重新准备", "确定", 3); } } public void Start() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Expected O, but got Unknown //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0095: 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_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_09a3: Unknown result type (might be due to invalid IL or missing references) //IL_09a8: Unknown result type (might be due to invalid IL or missing references) //IL_09ac: Unknown result type (might be due to invalid IL or missing references) //IL_09b3: Invalid comparison between Unknown and I4 //IL_09ba: Unknown result type (might be due to invalid IL or missing references) //IL_09bf: Unknown result type (might be due to invalid IL or missing references) //IL_09d5: Unknown result type (might be due to invalid IL or missing references) //IL_09da: Unknown result type (might be due to invalid IL or missing references) //IL_09e4: Unknown result type (might be due to invalid IL or missing references) //IL_09ee: Invalid comparison between Unknown and I4 //IL_0a0f: Unknown result type (might be due to invalid IL or missing references) harmony = new Harmony("cn.blacksnipe.dsp.Auxilaryfunction"); harmony.PatchAll(typeof(AuxilaryfunctionPatch)); AuxilaryTranslate.regallTranslate(); SpeedUpPatch.Enable = true; SpeedUpPatch.Enable = false; trashfunctiontime = Time.time; QuickKey = ((BaseUnityPlugin)this).Config.Bind<KeyboardShortcut>("打开窗口快捷键", "Key", new KeyboardShortcut((KeyCode)308, (KeyCode[])(object)new KeyCode[1] { (KeyCode)50 }), (ConfigDescription)null); BluePrintShowWindow = ((BaseUnityPlugin)this).Config.Bind<KeyboardShortcut>("打开蓝图窗口快捷键", "BluePrintQuickKey", new KeyboardShortcut((KeyCode)306, (KeyCode[])(object)new KeyCode[1] { (KeyCode)102 }), (ConfigDescription)null); GUIDraw.tempShowWindow = QuickKey.Value; GUIDraw.tempBluePrintShowWindow = BluePrintShowWindow.Value; auto_setejector_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("自动配置太阳帆弹射器", "auto_setejector_bool", false, (ConfigDescription)null); auto_supply_station = ((BaseUnityPlugin)this).Config.Bind<bool>("自动配置新运输站", "auto_supply_station", false, (ConfigDescription)null); autosetstationconfig = ((BaseUnityPlugin)this).Config.Bind<bool>("自动配置新运输站参数显示", "autosetstationconfig", true, (ConfigDescription)null); auto_supply_Courier = ((BaseUnityPlugin)this).Config.Bind<int>("自动填充配送机", "auto_supply_Courier", 10, (ConfigDescription)null); auto_supply_drone = ((BaseUnityPlugin)this).Config.Bind<int>("自动填充飞机数量", "auto_supply_drone", 10, (ConfigDescription)null); auto_supply_ship = ((BaseUnityPlugin)this).Config.Bind<int>("自动填充飞船数量", "auto_supply_ship", 5, (ConfigDescription)null); stationmaxpowerpertick = ((BaseUnityPlugin)this).Config.Bind<float>("自动设置最大充电功率", "autowarpdistance", 30f, (ConfigDescription)null); stationwarpdist = ((BaseUnityPlugin)this).Config.Bind<double>("自动设置物流站使用翘曲器距离", "stationwarpdist", 12.0, (ConfigDescription)null); DroneStartCarry = ((BaseUnityPlugin)this).Config.Bind<float>("自动设置物流站小飞机起送量", "DroneStartCarry", 0.1f, (ConfigDescription)null); ShipStartCarry = ((BaseUnityPlugin)this).Config.Bind<float>("自动设置物流站运输船起送量", "ShipStartCarry", 1f, (ConfigDescription)null); veincollectorspeed = ((BaseUnityPlugin)this).Config.Bind<int>("大型采矿机采矿速度", "veincollectorspeed", 10, (ConfigDescription)null); auto_supply_warp = ((BaseUnityPlugin)this).Config.Bind<int>("自动设置物流站翘曲器数量", "auto_supply_warp", 0, (ConfigDescription)null); stationdronedist = ((BaseUnityPlugin)this).Config.Bind<int>("自动设置物流站运输机最远距离", "stationdronedist", 180, (ConfigDescription)null); stationshipdist = ((BaseUnityPlugin)this).Config.Bind<int>("自动设置物流站运输船最远距离", "stationshipdist", 61, (ConfigDescription)null); GUIDraw.scale = ((BaseUnityPlugin)this).Config.Bind<int>("大小适配", "scale", 16, (ConfigDescription)null); SunLightOpen = ((BaseUnityPlugin)this).Config.Bind<bool>("夜灯", "SunLight", false, (ConfigDescription)null); closeplayerflyaudio = ((BaseUnityPlugin)this).Config.Bind<bool>("关闭玩家飞行声音", "closeplayerflyaudio", false, (ConfigDescription)null); BluePrintDelete = ((BaseUnityPlugin)this).Config.Bind<bool>("蓝图删除", "BluePrintDelete", false, (ConfigDescription)null); BluePrintSelectAll = ((BaseUnityPlugin)this).Config.Bind<bool>("蓝图全选", "BluePrintSelectAll", false, (ConfigDescription)null); stationcopyItem_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("物流站复制物品配方", "stationcopyItem_bool", false, (ConfigDescription)null); autocleartrash_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("30s间隔自动清除垃圾", "autocleartrash_bool", false, (ConfigDescription)null); autoabsorttrash_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("30s间隔自动吸收垃圾", "autoabsorttrash_bool", false, (ConfigDescription)null); onlygetbuildings = ((BaseUnityPlugin)this).Config.Bind<bool>("只回收建筑", "onlygetbuildings", false, (ConfigDescription)null); autowarpcommand = ((BaseUnityPlugin)this).Config.Bind<bool>("自动导航使用翘曲", "autowarpcommand", false, (ConfigDescription)null); CloseUIRandomTip = ((BaseUnityPlugin)this).Config.Bind<bool>("关闭建筑栏提示", "CloseUIRandomTip", false, (ConfigDescription)null); CloseUITutorialTip = ((BaseUnityPlugin)this).Config.Bind<bool>("关闭教学提示", "CloseUITutorialTip", false, (ConfigDescription)null); CloseUIAdvisor = ((BaseUnityPlugin)this).Config.Bind<bool>("关闭顾问", "CloseUIAdvisor", false, (ConfigDescription)null); CloseMilestone = ((BaseUnityPlugin)this).Config.Bind<bool>("关闭里程碑", "CloseMilestone", false, (ConfigDescription)null); autoAddwarp = ((BaseUnityPlugin)this).Config.Bind<bool>("自动添加翘曲器", "autoAddwarp", false, (ConfigDescription)null); autonavigation_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("自动导航", "autonavigation_bool", false, (ConfigDescription)null); autoAddPlayerVel = ((BaseUnityPlugin)this).Config.Bind<bool>("自动加速", "autoAddPlayerVel", false, (ConfigDescription)null); autowarpdistance = ((BaseUnityPlugin)this).Config.Bind<float>("自动使用翘曲器距离", "autowarpdistance", 0f, (ConfigDescription)null); autowarpdistanceEnergyPercent = ((BaseUnityPlugin)this).Config.Bind<float>("自动曲速能量阈值", "autowarpdistanceEnergyPercent", 0f, (ConfigDescription)null); autoaddtech_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("自动添加科技队列", "autoaddtech_bool", false, (ConfigDescription)null); auto_add_techid = ((BaseUnityPlugin)this).Config.Bind<int>("自动添加科技队列科技ID", "auto_add_techid", 0, (ConfigDescription)null); auto_add_techmaxLevel = ((BaseUnityPlugin)this).Config.Bind<int>("自动添加科技队列科技等级上限", "auto_add_techmaxLevel", 500, (ConfigDescription)null); ShowStationInfo = ((BaseUnityPlugin)this).Config.Bind<bool>("展示物流站信息", "ShowStationInfo", false, (ConfigDescription)null); ShowStationInfoMode = ((BaseUnityPlugin)this).Config.Bind<bool>("展示物流站信息模式", "ShowStationInfoMode", false, (ConfigDescription)null); SaveLastOpenBluePrintBrowserPathConfig = ((BaseUnityPlugin)this).Config.Bind<bool>("记录上次蓝图路径", "SaveLastOpenBluePrintBrowserPathConfig", false, (ConfigDescription)null); noscaleuitech_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("科技页面不缩放", "noscaleuitech_bool", false, (ConfigDescription)null); norender_shipdrone_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("不渲染飞机飞船", "norender_shipdrone_bool", false, (ConfigDescription)null); norender_lab_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("不渲染研究室", "norender_lab_bool", false, (ConfigDescription)null); norender_beltitem = ((BaseUnityPlugin)this).Config.Bind<bool>("不渲染传送带货物", "norender_beltitem", false, (ConfigDescription)null); norender_dysonshell_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("不渲染戴森壳", "norender_dysonshell_bool", false, (ConfigDescription)null); norender_dysonswarm_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("不渲染戴森云", "norender_dysonswarm_bool", false, (ConfigDescription)null); norender_DarkFog = ((BaseUnityPlugin)this).Config.Bind<bool>("不渲染黑雾", "norender_DarkFog", false, (ConfigDescription)null); norender_entity_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("不渲染实体", "norender_entity_bool", false, (ConfigDescription)null); norender_powerdisk_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("不渲染电网覆盖", "norender_powerdisk_bool", false, (ConfigDescription)null); Quickstop_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("ctrl+空格开启暂停工厂和戴森球", "Quickstop_bool", false, (ConfigDescription)null); automovetounbuilt = ((BaseUnityPlugin)this).Config.Bind<bool>("自动走向未完成建筑", "automovetounbuilt", false, (ConfigDescription)null); automovetoPrebuildSecondElapse = ((BaseUnityPlugin)this).Config.Bind<float>("自动走向未完成建筑时间间隔", "automovetoPrebuildSecondElapse", 1f, (ConfigDescription)null); automovetodarkfog = ((BaseUnityPlugin)this).Config.Bind<bool>("自动飞向地面黑雾基地", "automovetodarkfog", false, (ConfigDescription)null); upsquickset = ((BaseUnityPlugin)this).Config.Bind<bool>("快速设置逻辑帧倍数", "upsquickset", false, (ConfigDescription)null); autosetSomevalue_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("自动配置建筑", "autosetSomevalue_bool", false, (ConfigDescription)null); autosetCourier_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("自动填充配送运输机", "autosetCourier_bool", false, (ConfigDescription)null); auto_supply_starfuel = ((BaseUnityPlugin)this).Config.Bind<int>("人造恒星自动填充燃料数量", "auto_supply_starfuel", 4, (ConfigDescription)null); auto_supply_starfuelID = ((BaseUnityPlugin)this).Config.Bind<int>("人造恒星自动填充燃料ID", "auto_supply_starfuelID", 1803, (ConfigDescription)null); autosavetimechange = ((BaseUnityPlugin)this).Config.Bind<bool>("自动保存", "autosavetimechange", false, (ConfigDescription)null); KeepBeltHeight = ((BaseUnityPlugin)this).Config.Bind<bool>("保持传送带高度", "KeepBeltHeight", false, (ConfigDescription)null); autosavetime = ((BaseUnityPlugin)this).Config.Bind<int>("自动保存时间", "autosavetime", 25, (ConfigDescription)null); DysonPanelSingleLayer = ((BaseUnityPlugin)this).Config.Bind<bool>("单层壳列表", "DysonPanelSingleLayer", true, (ConfigDescription)null); DysonPanelLayers = ((BaseUnityPlugin)this).Config.Bind<bool>("多层壳列表", "DysonPanelLayers", true, (ConfigDescription)null); DysonPanelSwarm = ((BaseUnityPlugin)this).Config.Bind<bool>("戴森云列表", "DysonPanelSwarm", true, (ConfigDescription)null); DysonPanelDysonSphere = ((BaseUnityPlugin)this).Config.Bind<bool>("戴森壳列表", "DysonPanelDysonSphere", true, (ConfigDescription)null); TrashStorageWindow_bool = ((BaseUnityPlugin)this).Config.Bind<bool>("背包垃圾桶", "TrashStorageWindow_bool", false, (ConfigDescription)null); window_height = ((BaseUnityPlugin)this).Config.Bind<float>("窗口高度", "window_height", 660f, (ConfigDescription)null); window_width = ((BaseUnityPlugin)this).Config.Bind<float>("窗口宽度", "window_width", 830f, (ConfigDescription)null); LastOpenBluePrintBrowserPathConfig = ((BaseUnityPlugin)this).Config.Bind<string>("上次打开蓝图路径", "LastOpenBluePrintBrowserPathConfig", "", (ConfigDescription)null); AutoNavigateToDarkFogHive = ((BaseUnityPlugin)this).Config.Bind<bool>("自动导航至黑雾巢穴", "AutoNavigateToDarkFogHive", false, (ConfigDescription)null); AutoNavigateToDarkFogHiveKeepDistance = ((BaseUnityPlugin)this).Config.Bind<int>("自动导航至黑雾巢穴跟随距离", "AutoNavigateToDarkFogHiveKeepDistance", 400, (ConfigDescription)null); if (closeplayerflyaudio.Value) { PlayerAudioMutePatch.Enable = true; } closeplayerflyaudio.SettingChanged += delegate { PlayerAudioMutePatch.Enable = closeplayerflyaudio.Value; }; if (autonavigation_bool.Value) { PlayerOperation.Enable = true; } autonavigation_bool.SettingChanged += delegate { PlayerOperation.Enable = autonavigation_bool.Value; }; if (SunLightOpen.Value) { SunLightPatch.Enable = SunLightOpen.Value; } SunLightOpen.SettingChanged += delegate { SunLightPatch.Enable = SunLightOpen.Value; }; ((Vector2)(ref GUIDraw.scrollPosition))[0] = 0f; ((Vector2)(ref GUIDraw.dysonBluePrintscrollPosition))[0] = 0f; KeyboardShortcut value = QuickKey.Value; if ((int)((KeyboardShortcut)(ref value)).MainKey == 50) { value = QuickKey.Value; if (((KeyboardShortcut)(ref value)).Modifiers.Count() == 1) { value = QuickKey.Value; if ((int)((KeyboardShortcut)(ref value)).Modifiers.ElementAt(0) == 308) { QuickKey.Value = new KeyboardShortcut((KeyCode)308, (KeyCode[])(object)new KeyCode[1] { (KeyCode)50 }); } } } pointlayeridlist = new List<int>(); readyresearch = new List<int>(); GameObject val = AssetBundle.LoadFromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("Auxilaryfunction.auxilarypanel")).LoadAsset<GameObject>("AuxilaryPanel"); GameObject panel = Object.Instantiate<GameObject>(val, ((Component)UIRoot.instance.overlayCanvas).transform); guidraw = new GUIDraw(Math.Max(5, Math.Min(GUIDraw.scale.Value, 35)), panel); DysonBluePrintDataService.LoadDysonBluePrintData(); ThreadPool.QueueUserWorkItem(delegate { SecondEvent(); }); autoaddtechid = auto_add_techid.Value; } private static void FindItemAndMove(int itemId, int itemCount) { //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02c9: Unknown result type (might be due to invalid IL or missing references) //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) //IL_02de: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) if (LocalPlanet == null || LocalPlanet.factory == null || LocalPlanet.gasItems != null || (Object)(object)LDB.items == (Object)null || ((ProtoSet<ItemProto>)(object)LDB.items).Select(itemId) == null) { return; } int num = player.package.grids.Length; int num2 = 0; if (player.package.grids[num - 1].count != 0) { player.package.Sort(true); } int num3 = num - 1; while (num3 >= 0 && player.package.grids[num3].count == 0) { num3--; num2++; } int num4 = ((ProtoSet<ItemProto>)(object)LDB.items).Select(itemId).StackSize * num2; itemCount = ((num4 > itemCount) ? itemCount : num4); PlanetFactory factory = LocalPlanet.factory; if (factory.transport != null && factory.transport.stationPool != null) { int num5 = 0; int num6 = 0; StationComponent[] stationPool = factory.transport.stationPool; int num9 = default(int); foreach (StationComponent val in stationPool) { if (itemCount == 0) { break; } if (val != null && val.storage != null) { int num7 = itemCount; int num8 = itemId; val.TakeItem(ref num8, ref num7, ref num9); num5 += num7; itemCount -= num7; num6 += num9; } } player.TryAddItemToPackage(itemId, num5, num6, false, 0, false); } if (factory.factoryStorage == null || factory.factoryStorage.storagePool == null) { return; } if (factory.factoryStorage.storagePool != null) { StorageComponent[] storagePool = factory.factoryStorage.storagePool; int num10 = default(int); foreach (StorageComponent val2 in storagePool) { if (itemCount == 0) { break; } if (val2 != null) { int num11 = val2.TakeItem(itemId, itemCount, ref num10); itemCount -= num11; if (num11 > 0) { player.TryAddItemToPackage(itemId, num11, num10, false, 0, false); } } } } if (factory.factoryStorage.tankPool == null) { return; } TankComponent[] tankPool = factory.factoryStorage.tankPool; foreach (TankComponent val3 in tankPool) { if (itemCount == 0) { break; } if (val3.id > 0 && val3.fluidId > 0 && val3.fluidCount > 0 && itemId == val3.fluidId) { int num12 = ((val3.fluidCount > itemCount) ? itemCount : val3.fluidCount); int num13 = (int)((double)(val3.fluidInc / val3.fluidCount) + 0.5) * num12; factory.factoryStorage.tankPool[val3.id].fluidCount -= num12; factory.factoryStorage.tankPool[val3.id].fluidInc -= num13; itemCount -= num12; if (num12 > 0) { player.TryAddItemToPackage(itemId, num12, num13, false, 0, false); } } } } private void AutoAddwarp() { Player obj = player; if (((obj != null) ? obj.mecha : null) != null && player.mecha.thrusterLevel >= 3 && !player.mecha.HasWarper()) { int num = 1210; int num2 = 20; int num3 = default(int); player.package.TakeTailItems(ref num, ref num2, ref num3, false); if (num > 0 && num2 > 0) { int num4 = default(int); player.mecha.warpStorage.AddItem(num, num2, num3, ref num4, false); } } } private void AutoMoveToDarkfog() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Invalid comparison between Unknown and I4 //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: 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_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) autoRemoveRuinId = -1; if (GameMain.localPlanet == null || GameMain.mainPlayer == null || (int)GameMain.mainPlayer.movementState != 2 || !StartAutoMovetoDarkfog) { return; } EnemyDFGroundSystem enemySystem = GameMain.localPlanet.factory.enemySystem; float num = 100000000f; DFGBaseComponent val = null; for (int i = 1; i < enemySystem.bases.cursor; i++) { if (enemySystem.bases[i] == null || enemySystem.bases[i].id != i || (!autoRemoveRuin && enemySystem.CheckBaseCanRemoved(i) == 0)) { continue; } Vector3 val2 = VectorLF3.op_Implicit(GameMain.localPlanet.factory.enemyPool[enemySystem.bases[i].enemyId].pos); Vector3 val3; if (val != null) { float num2 = num; val3 = val2 - player.position; if (!(num2 > ((Vector3)(ref val3)).magnitude)) { continue; } } val = enemySystem.bases[i]; val3 = val2 - player.position; num = ((Vector3)(ref val3)).magnitude; } if (val != null) { Vector3 val4 = VectorLF3.op_Implicit(GameMain.localPlanet.factory.enemyPool[val.enemyId].pos); GameMain.mainPlayer.Order(OrderNode.MoveTo(((Vector3)(ref val4)).normalized * GameMain.localPlanet.realRadius), false); if (autoRemoveRuin && enemySystem.CheckBaseCanRemoved(val.id) == 0) { autoRemoveRuinId = val.ruinId; } } } private void AutoMovetounbuilt() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Invalid comparison between Unknown and I4 //IL_00a4: 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_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0169: 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_00db: 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_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_035f: Unknown result type (might be due to invalid IL or missing references) //IL_036e: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) if (!StartAutoMovetounbuilt || GameMain.localPlanet == null || GameMain.mainPlayer == null || (int)GameMain.mainPlayer.movementState != 2) { return; } automovetoPrebuildSecondElapseCounter++; if ((float)automovetoPrebuildSecondElapseCounter < automovetoPrebuildSecondElapse.Value) { return; } automovetoPrebuildSecondElapseCounter -= (int)automovetoPrebuildSecondElapse.Value; float num = 3000f; int num2 = -1; PrebuildData[] prebuildPool = GameMain.localPlanet.factory.prebuildPool; foreach (PrebuildData val in prebuildPool) { if (val.id == 0 || val.itemRequired > 0) { continue; } Vector3 val2; if (num2 != -1) { float num3 = num; val2 = val.pos - GameMain.mainPlayer.position; if (!(num3 > ((Vector3)(ref val2)).magnitude)) { continue; } } num2 = val.id; val2 = val.pos - GameMain.mainPlayer.position; num = ((Vector3)(ref val2)).magnitude; } if (num2 == -1) { bool flag = true; PrebuildData[] prebuildPool2 = GameMain.localPlanet.factory.prebuildPool; foreach (PrebuildData val3 in prebuildPool2) { if (val3.id != 0 && val3.protoId != 0 && GameMain.mainPlayer.package.GetItemCount((int)val3.protoId) > 0) { num2 = val3.id; flag = false; break; } } if (!flag || !autobuildgetitem) { return; } int[] warningCounts = GameMain.data.warningSystem.warningCounts; WarningData[] warningPool = GameMain.data.warningSystem.warningPool; List<int> list = new List<int>(); int num4 = 0; int num5 = player.package.grids.Length; int num6 = num5 - 1; while (num6 >= 0 && player.package.grids[num6].count == 0) { num6--; num4++; } for (int k = 1; k < GameMain.data.warningSystem.warningCursor; k++) { if (num4 <= 0) { break; } if (!list.Contains(warningPool[k].detailId)) { if (player.package.GetItemCount(warningPool[k].detailId) > 0) { break; } list.Add(warningPool[k].detailId); FindItemAndMove(warningPool[k].detailId, warningCounts[warningPool[k].signalId]); } } } else if (num2 != -1 && num2 != 0 && num2 == GameMain.localPlanet.factory.prebuildPool[num2].id) { GameMain.mainPlayer.Order(OrderNode.MoveTo(((Vector3)(ref GameMain.localPlanet.factory.prebuildPool[num2].pos)).normalized * GameMain.localPlanet.realRadius), false); } } private void AutoSaveTimeChange() { if (autosavetimechange.Value && UIAutoSave.autoSaveTime != (float)autosavetime.Value) { Debug.Log((object)"AutoSaveTimeChange"); DSPGame.globalOption.autoSaveTime = autosavetime.Value; ((GameOption)(ref DSPGame.globalOption)).Apply(); UIAutoSave.autoSaveTime = autosavetime.Value; } } private void BluePrintoptimize() { //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: 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_00f3: Unknown result type (might be due to invalid IL or missing references) GUIDraw.blueprintopen = false; Player obj = player; if (((obj == null) ? null : obj.controller?.actionBuild) == null) { return; } PlayerAction_Build actionBuild = player.controller.actionBuild; if (actionBuild.blueprintCopyTool != null && ((BuildTool)actionBuild.blueprintCopyTool).active && actionBuild.blueprintCopyTool.bpPool != null) { GUIDraw.blueprintopen = true; BuildTool_BlueprintCopy blueprintCopyTool = actionBuild.blueprintCopyTool; if (BluePrintSelectAll.Value && Input.GetKey((KeyCode)306) && Input.GetKeyDown((KeyCode)97)) { EntityData[] entityPool = LocalPlanet.factory.entityPool; foreach (EntityData val in entityPool) { if (val.id != 0) { blueprintCopyTool.preSelectObjIds.Add(val.id); blueprintCopyTool.selectedObjIds.Add(val.id); } } blueprintCopyTool.RefreshBlueprintData(); blueprintCopyTool.DeterminePreviews(); } if (BluePrintDelete.Value && Input.GetKey((KeyCode)306) && Input.GetKeyDown((KeyCode)120)) { BuildPreview[] bpPool = blueprintCopyTool.bpPool; foreach (BuildPreview val2 in bpPool) { if (val2 == null || val2.item == null || val2.objId <= 0) { continue; } int stationId = LocalPlanet.factory.entityPool[val2.objId].stationId; if (stationId > 0) { StationComponent val3 = LocalPlanet.factory.transport.stationPool[stationId]; for (int k = 0; k < val3.storage.Length; k++) { int num = player.TryAddItemToPackage(val3.storage[k].itemId, val3.storage[k].count, 0, true, val2.objId, false); UIItemup.Up(val3.storage[k].itemId, num); } val3.storage = (StationStore[])(object)new StationStore[val3.storage.Length]; val3.needs = new int[val3.needs.Length]; } actionBuild.DoDismantleObject(val2.objId); } blueprintCopyTool.ClearSelection(); blueprintCopyTool.ClearPreSelection(); blueprintCopyTool.ResetBlueprint(); blueprintCopyTool.ResetBuildPreviews(); blueprintCopyTool.RefreshBlueprintData(); } } if (actionBuild.blueprintPasteTool != null && ((BuildTool)actionBuild.blueprintPasteTool).active && actionBuild.blueprintPasteTool.bpPool != null) { BuildTool_BlueprintPaste blueprintPasteTool = actionBuild.blueprintPasteTool; if (Input.GetKey((KeyCode)306) && Input.GetKeyDown((KeyCode)122)) { blueprintPasteTool.ResetBuildPreviews(); blueprintPasteTool.ResetStatesOnClose(); blueprintPasteTool.RefreshBlueprintUI(); player.controller.OpenBlueprintCopyMode(); } } } private void ChangeQuickKeyMethod() { //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) if (ChangingQuickKey) { GUIDraw.ChangeBluePrintQuickKey = false; ChangingBluePrintQuickKey = false; } else if (ChangingBluePrintQuickKey) { GUIDraw.ChangeQuickKey = false; ChangingQuickKey = false; } if (GUIDraw.ChangeQuickKey) { setQuickKey(); ChangingQuickKey = true; } else if (!GUIDraw.ChangeQuickKey && ChangingQuickKey) { QuickKey.Value = GUIDraw.tempShowWindow; ChangingQuickKey = false; } if (GUIDraw.ChangeBluePrintQuickKey) { setBluePrintQuickKey(); ChangingBluePrintQuickKey = true; } else if (!GUIDraw.ChangeBluePrintQuickKey && ChangingBluePrintQuickKey) { BluePrintShowWindow.Value = GUIDraw.tempBluePrintShowWindow; ChangingBluePrintQuickKey = false; } } private void EnqueueTech() { if (readyresearch.Count <= 0) { return; } try { for (int i = 0; i < readyresearch.Count; i++) { if (GameMain.history.techQueueLength >= 7) { break; } if (GameMain.history.TechUnlocked(readyresearch[i])) { readyresearch.RemoveAt(i); } else if (!GameMain.history.TechInQueue(readyresearch[i])) { if (!GameMain.history.CanEnqueueTech(readyresearch[i])) { readyresearch.RemoveAt(i); } else { GameMain.history.EnqueueTech(readyresearch[i]); } } } } catch { } } private void GameUpdate() { if (!GameDataImported) { player = null; firstStart = true; readyresearch.Clear(); SpeedUpPatch.SpeedMultiple = 1f; autoaddtechid = 0; GUIDraw.blueprintopen = false; simulatorrender = false; PlayerOperation.FlyStatus = false; PlayerOperation.Enable = false; return; } if (GameMain.mainPlayer != null && player == null) { player = GameMain.mainPlayer; player.controller.actionInspect.onInspecteeChange += delegate(EObjectType _, int b) { if (b > 0) { guidraw.CloseTrashStorageWindow(); } }; if (autonavigation_bool.Value) { PlayerOperation.Enable = true; } } if (firstStart) { firstStart = false; PlayerOperation.ClearFollow(); trashfunctiontime = Time.time; ReLoadEjectorDic(); BluePrintBatchModifyBuild.Init(); return; } StartAndStopGame(); BluePrintoptimize(); TrashFunction(); EnqueueTech(); autoaddtechid = auto_add_techid.Value; SunLightSet(); if (autoRemoveRuin && autoRemoveRuinId >= 0) { Player obj = player; if (((obj == null) ? null : obj.controller?.actionBuild?.reformTool) != null) { player.controller.actionBuild.reformTool.RemoveBasePit(autoRemoveRuinId); } } autoRemoveRuinId = -1; } private void OnGUI() { guidraw.Draw(); } private void ReLoadEjectorDic() { //IL_00ac: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) EjectorDictionary = new Dictionary<int, List<int>>(); if (GameMain.galaxy == null || GameMain.galaxy.stars == null) { return; } StarData[] stars = GameMain.galaxy.stars; foreach (StarData val in stars) { PlanetData[] planets = val.planets; foreach (PlanetData val2 in planets) { if (val2.factory == null || val2.factory.factorySystem == null) { continue; } FactorySystem factorySystem = val2.factory.factorySystem; List<int> list = new List<int>(); int num = 0; EjectorComponent[] ejectorPool = factorySystem.ejectorPool; foreach (EjectorComponent val3 in ejectorPool) { if (val3.id > 0 && val3.entityId > 0) { int protoId = factorySystem.factory.entityPool[val3.entityId].protoId; list.Add(num); } num++; } if (list.Count > 0) { EjectorDictionary[val2.id] = list; } } } } private void ResetEjector() { //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Invalid comparison between Unknown and I4 if (GameMain.galaxy == null || GameMain.data == null || GameMain.data.dysonSpheres == null || EjectorDictionary == null || EjectorDictionary.Count == 0) { return; } foreach (int key in EjectorDictionary.Keys) { PlanetData val = GameMain.galaxy.PlanetById(key); if (val == null || val.factory == null || val.factory.factorySystem == null || GameMain.data.dysonSpheres[val.star.index] == null || GameMain.data.dysonSpheres[val.star.index].swarm == null || GameMain.data.dysonSpheres[val.star.index].swarm.orbits.Length == 0) { continue; } DysonSwarm swarm = GameMain.data.dysonSpheres[val.star.index].swarm; int orbitCursor = swarm.orbitCursor; List<int> list = EjectorDictionary[key]; FactorySystem factorySystem = val.factory.factorySystem; foreach (int item in list) { if (factorySystem.ejectorPool == null || factorySystem.ejectorPool.Length <= item || factorySystem.ejectorPool[item].id == 0 || (int)factorySystem.ejectorPool[item].targetState == 1 || orbitCursor <= 1) { continue; } int num = factorySystem.ejectorPool[item].orbitId + 1; while (!swarm.OrbitEnabled(num)) { num++; if (num >= orbitCursor) { num = 1; } } ((EjectorComponent)(ref factorySystem.ejectorPool[item])).SetOrbit(num); } } } private void SecondEvent() { //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) while (true) { if (!GameDataImported) { continue; } if (auto_setejector_bool.Value) { ResetEjector(); } if (autoAddwarp.Value) { AutoAddwarp(); } if (autoaddtech_bool.Value && autoaddtechid > 0 && GameMain.history != null && GameMain.history.techQueueLength == 0) { TechState val = GameMain.history.techStates[autoaddtechid]; if (val.curLevel == val.maxLevel) { autoaddtechid = 0; auto_add_techid.Value = 0; } else if (val.curLevel < auto_add_techmaxLevel.Value) { if (guidraw.AutoUnlockTechInSandBox) { GameMain.history.UnlockTechUnlimited(autoaddtechid, true); } else { GameMain.history.EnqueueTech(autoaddtechid); } } } if (automovetounbuilt.Value) { try { AutoMovetounbuilt(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } if (automovetodarkfog.Value) { try { AutoMoveToDarkfog(); } catch (Exception ex2) { Console.WriteLine(ex2.ToString()); } } Thread.Sleep(1000); } } private void setBluePrintQuickKey() { //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) bool flag = true; int[] array = new int[2]; if (Input.GetKey((KeyCode)304) && flag) { flag = false; array[0] = 304; } if (Input.GetKey((KeyCode)306) && flag) { flag = false; array[0] = 306; } if (Input.GetKey((KeyCode)308) && flag) { flag = false; array[0] = 308; } bool flag2 = true; for (int i = 48; i <= 57 && flag2; i++) { if (Input.GetKey((KeyCode)i)) { array[1] = i; flag2 = false; break; } } for (int j = 97; j <= 122 && flag2; j++) { if (Input.GetKey((KeyCode)j)) { array[1] = j; flag2 = false; break; } } for (int k = 282; k <= 291 && flag2; k++) { if (Input.GetKey((KeyCode)k)) { array[1] = k; flag2 = false; break; } } if (!(flag && flag2)) { if (!flag && !flag2) { GUIDraw.tempBluePrintShowWindow = new KeyboardShortcut((KeyCode)array[0], (KeyCode[])(object)new KeyCode[1] { (KeyCode)array[1] }); } else { GUIDraw.tempBluePrintShowWindow = new KeyboardShortcut((KeyCode)Math.Max(array[0], array[1]), Array.Empty<KeyCode>()); } } } private void setQuickKey() { //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) bool flag = true; int[] array = new int[2]; if (Input.GetKey((KeyCode)304) && flag) { flag = false; array[0] = 304; } if (Input.GetKey((KeyCode)306) && flag) { flag = false; array[0] = 306; } if (Input.GetKey((KeyCode)308) && flag) { flag = false; array[0] = 308; } bool flag2 = true; for (int i = 48; i <= 57 && flag2; i++) { if (Input.GetKey((KeyCode)i)) { array[1] = i; flag2 = false; break; } } for (int j = 97; j <= 122 && flag2; j++) { if (Input.GetKey((KeyCode)j)) { array[1] = j; flag2 = false; break; } } for (int k = 282; k <= 291 && flag2; k++) { if (Input.GetKey((KeyCode)k)) { array[1] = k; flag2 = false; break; } } if (!(flag && flag2)) { if (!flag && !flag2) { GUIDraw.tempShowWindow = new KeyboardShortcut((KeyCode)array[0], (KeyCode[])(object)new KeyCode[1] { (KeyCode)array[1] }); } else { GUIDraw.tempShowWindow = new KeyboardShortcut((KeyCode)Math.Max(array[0], array[1]), Array.Empty<KeyCode>()); } } } private void StartAndStopGame() { if (Quickstop_bool.Value && Input.GetKey((KeyCode)306) && Input.GetKeyDown((KeyCode)32)) { GameTickPatch.Enable = !GameTickPatch.Enable; } } private void SunLightSet() { //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: 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_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) if (SunLightOpen.Value && GameMain.localPlanet != null) { UniverseSimulator universeSimulator = GameMain.universeSimulator; if (!((Object)(object)((universeSimulator == null) ? null : universeSimulator.LocalStarSimulator()?.sunLight) == (Object)null)) { if ((Object)(object)SunLight == (Object)null) { SunLight = Object.Instantiate<Light>(GameMain.universeSimulator.LocalStarSimulator().sunLight, GameMain.mainPlayer.transform); ((Behaviour)SunLight).enabled = true; ((Component)SunLight).transform.position = GameMain.mainPlayer.position + GameMain.mainPlayer.transform.up * 5f; ((Component)SunLight).transform.rotation = Quaternion.LookRotation(-GameMain.mainPlayer.transform.up); ((Component)SunLight).transform.localPosition = new Vector3(0f, 5f, 0f); ((Object)SunLight).name = "PlayerLight"; SunLight.intensity = 1f; } if (FactoryModel.whiteMode0) { ((Behaviour)SunLight).enabled = false; } else { ((Behaviour)SunLight).enabled = true; } return; } } if ((Object)(object)SunLight != (Object)null) { Object.Destroy((Object)(object)((Component)SunLight).gameObject); SunLight = null; } } private void TrashFunction() { if (Time.time - trashfunctiontime < 30f || GameMain.data?.trashSystem == null) { return; } trashfunctiontime = Time.time; if (autoabsorttrash_bool.Value) { TrashContainer container = GameMain.data.trashSystem.container; for (int i = 0; i < container.trashCursor; i++) { int item = container.trashObjPool[i].item; if (item > 0 && container.trashObjPool[i].expire < 0) { if (onlygetbuildings.Value && !(((ProtoSet<ItemProto>)(object)LDB.items).Select(item)?.CanBuild ?? false)) { container.RemoveTrash(i); } else { container.trashObjPool[i].expire = 35; } } } } if (autocleartrash_bool.Value) { GameMain.data.trashSystem.ClearAllTrash(); } } private void Update() { AutoSaveTimeChange(); GameUpdate(); ChangeQuickKeyMethod(); guidraw.GUIUpdate(); if (upsquickset.Value && Input.GetKey((KeyCode)304)) { if (Input.GetKey((KeyCode)270)) { SpeedUpPatch.SpeedMultiple += 0.01f; } if (Input.GetKey((KeyCode)269)) { SpeedUpPatch.SpeedMultiple -= 0.01f; } if ((double)SpeedUpPatch.SpeedMultiple < 0.01) { SpeedUpPatch.SpeedMultiple = 0.01f; } else if (SpeedUpPatch.SpeedMultiple > 10f) { SpeedUpPatch.SpeedMultiple = 10f; } } if (!Input.GetKeyDown((KeyCode)290)) { } } } public class AuxilaryfunctionPatch { [HarmonyPrefix] [HarmonyPatch(typeof(GameLoader), "CreateLoader")] public static void GameLoaderCreateLoaderPrefix() { Auxilaryfunction.GameDataImported = false; } [HarmonyPostfix] [HarmonyPatch(typeof(GameLoader), "SelfDestroy")] public static void GameLoaderCreateLoaderPostfix() { Auxilaryfunction.GameDataImported = true; } [HarmonyPostfix] [HarmonyPatch(typeof(FactorySystem), "NewMinerComponent")] public static void NewMinerComponentPatch(ref int __result, FactorySystem __instance) { if (Auxilaryfunction.auto_supply_station.Value && __instance.factory.entityPool[__instance.minerPool[__result].entityId].protoId == 2316) { __instance.minerPool[__result].speed = Auxilaryfunction.veincollectorspeed.Value * 1000; } } [HarmonyPostfix] [HarmonyPatch(typeof(UIBlueprintInspector), "Refresh")] public static void UIBlueprintInspectorRefresh(bool refreshComponent) { BluePrintBatchModifyBuild.NeedRefresh = refreshComponent; } [HarmonyPostfix] [HarmonyPatch(typeof(PowerSystem), "NewGeneratorComponent")] public static void NewGeneratorComponentPatch(ref int __result, PowerSystem __instance) { if (__instance.genPool[__result].fuelMask != 4 || !Auxilaryfunction.autosetSomevalue_bool.Value) { return; } int value = Auxilaryfunction.auto_supply_starfuelID.Value; if (value >= 1803 && value <= 1804) { int num = default(int); short num2 = (short)Auxilaryfunction.player.package.TakeItem(value, Auxilaryfunction.auto_supply_starfuel.Value, ref num); if (num2 != 0) { ((PowerGeneratorComponent)(ref __instance.genPool[__result])).SetNewFuel(value, num2, (short)num); } } } [HarmonyPostfix] [HarmonyPatch(typeof(FactorySystem), "NewEjectorComponent")] public static void NewEjectorComponentPatch(ref int __result, FactorySystem __instance) { if (Auxilaryfunction.EjectorDictionary.ContainsKey(__instance.planet.id)) { Auxilaryfunction.EjectorDictionary[__instance.planet.id].Add(__result); } else { Auxilaryfunction.EjectorDictionary[__instance.planet.id] = new List<int> { __result }; } ((EjectorComponent)(ref __instance.ejectorPool[__result])).SetOrbit(1); } [HarmonyPostfix] [HarmonyPatch(typeof(PlanetTransport), "NewStationComponent")] public static void NewStationComponentPatch(ref StationComponent __result, PlanetTransport __instance) { if (Auxilaryfunction.auto_supply_station.Value && !__result.isCollector && !__result.isVeinCollector) { int num = default(int); __result.idleDroneCount = Auxilaryfunction.player.package.TakeItem(5001, __result.isStellar ? Auxilaryfunction.auto_supply_drone.Value : ((Auxilaryfunction.auto_supply_drone.Value > 50) ? 50 : Auxilaryfunction.auto_supply_drone.Value), ref num); __result.tripRangeDrones = Math.Cos((double)Auxilaryfunction.stationdronedist.Value * Math.PI / 180.0); __instance.planet.factory.powerSystem.consumerPool[__result.pcId].workEnergyPerTick = (long)Auxilaryfunction.stationmaxpowerpertick.Value * 16667; if (Auxilaryfunction.stationmaxpowerpertick.Value > 60f && !__result.isStellar) { __instance.planet.factory.powerSystem.consumerPool[__result.pcId].workEnergyPerTick = 1000020L; } __result.deliveryDrones = ((Auxilaryfunction.DroneStartCarry.Value == 0f) ? 1 : ((int)(Auxilaryfunction.DroneStartCarry.Value * 10f) * 10)); if (__result.isStellar) { __result.warperCount = Auxilaryfunction.player.package.TakeItem(1210, Auxilaryfunction.auto_supply_warp.Value, ref num); __result.warpEnableDist = Auxilaryfunction.stationwarpdist.Value * 40000.0; __result.deliveryShips = ((Auxilaryfunction.ShipStartCarry.Value == 0f) ? 1 : ((int)(Auxilaryfunction.ShipStartCarry.Value * 10f) * 10)); __result.idleShipCount = Auxilaryfunction.player.package.TakeItem(5002, Auxilaryfunction.auto_supply_ship.Value, ref num); __result.tripRangeShips = ((Auxilaryfunction.stationshipdist.Value > 60) ? 24000000000L : (Auxilaryfunction.stationshipdist.Value * 2400000)); if (GameMain.data.history.TechUnlocked(3404)) { __result.warperCount = Auxilaryfunction.player.package.TakeItem(1210, Auxilaryfunction.auto_supply_warp.Value, ref num); } } } if (Auxilaryfunction.auto_supply_station.Value && __result.isVeinCollector) { __instance.factory.factorySystem.minerPool[__result.minerId].speed = Auxilaryfunction.veincollectorspeed.Value * 1000; } } [HarmonyPrefix] [HarmonyPatch(typeof(FactorySystem), "RemoveEjectorComponent")] public static void RemoveEjectorComponentPatch(int id, FactorySystem __instance) { if (Auxilaryfunction.EjectorDictionary[__instance.planet.id].Contains(id)) { Auxilaryfunction.EjectorDictionary[__instance.planet.id].Remove(id); } } [HarmonyPostfix] [HarmonyPatch(typeof(PlanetTransport), "NewDispenserComponent")] public static void NewDispenserComponentPatch(int __result, PlanetTransport __instance) { if (Auxilaryfunction.autosetCourier_bool.Value) { int num = default(int); __instance.dispenserPool[__result].idleCourierCount = Auxilaryfunction.player.package.TakeItem(5003, Auxilaryfunction.auto_supply_Courier.Value, ref num); } } [HarmonyPostfix] [HarmonyPatch(typeof(UIBlueprintBrowser), "SetCurrentDirectory")] public static void UIBlueprintBrowserSetCurrentDirectory(string fullpath) { if (Auxilaryfunction.SaveLastOpenBluePrintBrowserPathConfig.Value) { Auxilaryfunction.LastOpenBluePrintBrowserPathConfig.Value = fullpath; } } [HarmonyPrefix] [HarmonyPatch(typeof(UIBlueprintBrowser), "_OnOpen")] public static void UIBlueprintBrowser_OnOpen(ref UIBlueprintBrowser __instance) { if (Auxilaryfunction.SaveLastOpenBluePrintBrowserPathConfig.Value && string.IsNullOrEmpty(__instance.openPath) && !string.IsNullOrEmpty(Auxilaryfunction.LastOpenBluePrintBrowserPathConfig.Value)) { __instance.openPath = Auxilaryfunction.LastOpenBluePrintBrowserPathConfig.Value; } } [HarmonyPrefix] [HarmonyPatch(typeof(FactoryModel), "Update")] public static bool FactoryModelUpdatePatch() { return !Auxilaryfunction.norender_entity_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(FactoryModel), "LateUpdate")] public static bool FactoryModelLateUpdatePatch() { return !Auxilaryfunction.norender_entity_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(LogisticDroneRenderer), "Draw")] public static bool DroneDrawPatch() { return !Auxilaryfunction.norender_shipdrone_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(LogisticShipUIRenderer), "Draw")] public static bool LogisticShipUIRendererDrawPatch() { return !Auxilaryfunction.norender_shipdrone_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(LogisticCourierRenderer), "Draw")] public static bool CourierDrawPatch() { return !Auxilaryfunction.norender_shipdrone_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(LogisticShipRenderer), "Draw")] public static bool ShipDrawPatch() { return !Auxilaryfunction.norender_shipdrone_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(LabRenderer), "Render")] public static bool LabRendererPatch(LabRenderer __instance) { if (((ObjectRenderer)__instance).modelId == 70 || ((ObjectRenderer)__instance).modelId == 455) { return !Auxilaryfunction.norender_lab_bool.Value && !Auxilaryfunction.simulatorrender; } return true; } [HarmonyPrefix] [HarmonyPatch(typeof(SectorModel), "LateUpdate")] public static bool EnemyDFGroundRendererRenderPatch() { return !Auxilaryfunction.norender_DarkFog.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(DysonSphere), "DrawModel")] public static bool DysonDrawModelPatch() { return !Auxilaryfunction.norender_dysonshell_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(DysonSphere), "DrawPost")] public static bool DysonDrawPostPatch() { return !Auxilaryfunction.norender_dysonswarm_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(UIPowerGizmo), "DrawArea")] public static bool UIPowerGizmoDrawAreaPatch() { return !Auxilaryfunction.norender_powerdisk_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(UIDarkFogMonitor), "Determine")] public static bool UIDarkFogMonitorDetermine() { return !Auxilaryfunction.HideDarkFogMonitor && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(UIDarkFogAssaultTip), "Determine")] public static bool UIDarkFogAssaultTipDetermine() { return !Auxilaryfunction.HideDarkFogAssaultTip && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(UIPowerGizmo), "DrawCover")] public static bool UIPowerGizmoDrawCoverPatch() { return !Auxilaryfunction.norender_powerdisk_bool.Value && !Auxilaryfunction.simulatorrender; } [HarmonyPrefix] [HarmonyPatch(typeof(CargoContainer), "Draw")] public static bool PathRenderingBatchDrawPatch() { return !Auxilaryfunction.norender_beltitem.Value; } [HarmonyPrefix] [HarmonyPatch(typeof(BuildingParameters), "CopyFromFactoryObject")] public static void CopyFromFactoryObjectPatch(int objectId, PlanetFactory factory) { //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Expected I4, but got Unknown //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Expected I4, but got Unknown if (!Auxilaryfunction.stationcopyItem_bool.Value) { return; } if (Auxilaryfunction.player != null && (Object)(object)Auxilaryfunction.player.controller != (Object)null && Auxilaryfunction.player.controller.actionBuild != null) { PlayerAction_Build actionBuild = Auxilaryfunction.player.controller.actionBuild; if ((actionBuild.blueprintCopyTool != null || actionBuild.blueprintPasteTool != null) && (((BuildTool)actionBuild.blueprintPasteTool).active || ((BuildTool)actionBuild.blueprintCopyTool).active)) { return; } } EntityData[] entityPool = factory.entityPool; if (objectId > entityPool.Length || objectId <= 0) { return; } int stationId = entityPool[objectId].stationId; if (stationId <= 0) { return; } StationComponent val = factory.transport.stationPool[stationId]; for (int i = 0; i < 5; i++) { for (int j = 0; j < 6; j++) { Auxilaryfunction.stationcopyItem[i, j] = 0; } } for (int k = 0; k < val.storage.Length && k < 5; k++) { if (val.storage[k].itemId > 0) { Auxilaryfunction.stationcopyItem[k, 0] = val.storage[k].itemId; Auxilaryfunction.stationcopyItem[k, 1] = val.storage[k].max; Auxilaryfunction.stationcopyItem[k, 2] = (int)val.storage[k].localLogic; Auxilaryfunction.stationcopyItem[k, 3] = (int)val.storage[k].remoteLogic; Auxilaryfunction.stationcopyItem[k, 4] = val.storage[k].localOrder; Auxilaryfunction.stationcopyItem[k, 5] = val.storage[k].remoteOrder; } } } [HarmonyPostfix] [HarmonyPatch(typeof(BuildTool_Path), "DeterminePreviews")] public static void BuildTool_PathPatch(BuildTool_Path __instance) { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) if (!Auxilaryfunction.KeepBeltHeight.Value || !Input.GetKey((KeyCode)304)) { return; } PlanetAuxData planetAux = Auxilaryfunction.player.controller.actionBuild.planetAux; if (planetAux != null && __instance.altitude == 0) { if (ObjectIsBeltOrSplitter(__instance, __instance.castObjectId)) { __instance.altitude = Altitude(__instance.castObjectPos, planetAux); } else if (__instance.startObjectId != 0) { __instance.altitude = Altitude(__instance.pathPoints[0], planetAux); } } } private static int Altitude(Vector3 pos, PlanetAuxData aux) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: 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) Vector3 val = aux.Snap(pos, true); return (int)Math.Round(Vector3.Distance(pos, val) / 1.3333333f); } private static bool ObjectIsBeltOrSplitter(BuildTool_Path tool, int objId) { if (objId == 0) { return false; } ItemProto val = ((ProtoSet<ItemProto>)(object)LDB.items).Select((int)((BuildTool)tool).factory.entityPool[Math.Abs(objId)].protoId); return val != null && val.prefabDesc != null && (val.prefabDesc.isBelt || val.prefabDesc.isSplitter); } [HarmonyPrefix] [HarmonyPatch(typeof(BuildingParameters), "PasteToFactoryObject")] public static void PasteToFactoryObjectPatch(int objectId, PlanetFactory factory) { if (!Auxilaryfunction.stationcopyItem_bool.Value) { return; } EntityData[] entityPool = factory.entityPool; if (objectId > entityPool.Length || objectId <= 0) { return; } int stationId = entityPool[objectId].stationId; if (stationId <= 0) { return; } StationComponent val = factory.transport.stationPool[stationId]; if (val.isVeinCollector || val.isCollector) { return; } for (int i = 0; i < val.storage.Length && i < 5; i++) { if (Auxilaryfunction.stationcopyItem[i, 0] > 0) { if (val.storage[i].count > 0 && val.storage[i].itemId != Auxilaryfunction.stationcopyItem[i, 0]) { Auxilaryfunction.player.TryAddItemToPackage(val.storage[i].itemId, val.storage[i].count, 0, false, 0, false); } factory.transport.SetStationStorage(stationId, i, Auxilaryfunction.stationcopyItem[i, 0], Auxilaryfunction.stationcopyItem[i, 1], (ELogisticStorage)Auxilaryfunction.stationcopyItem[i, 2], (ELogisticStorage)Auxilaryfunction.stationcopyItem[i, 3], Auxilaryfunction.player); } else { factory.transport.SetStationStorage(stationId, i, 0, 0, (ELogisticStorage)0, (ELogisticStorage)0, Auxilaryfunction.player); } } } [HarmonyPrefix] [HarmonyPatch(typeof(UIVariousPopupCard), "Refresh")] public static bool UIVariousPopupCardRefresh(UIVariousPopupCard __instance) { if (Auxilaryfunction.CloseMilestone.Value) { object data = ((ManualBehaviour)__instance).data; MilestoneProto val = (MilestoneProto)((data is MilestoneProto) ? data : null); if (val != null) { ((ManualBehaviour)__instance)._Close(); return false; } } return true; } [HarmonyPrefix] [HarmonyPatch(typeof(UIAdvisorTip), "RequestAdvisorTip")] public static bool UIAdvisorTipRequestAdvisorTip() { return !Auxilaryfunction.CloseUIAdvisor.Value; } [HarmonyPostfix] [HarmonyPatch(typeof(UIRandomTip), "_OnOpen")] public static void UIBuildMenu_OnOpenPatch(ref UIRandomTip __instance) { if (Auxilaryfunction.CloseUIRandomTip.Value) { ((ManualBehaviour)__instance)._Close(); } } [HarmonyPrefix] [HarmonyPatch(typeof(UITutorialTip), "PopupTutorialTip")] public static bool UITutorialTipPopupTutorialTip() { if (Auxilaryfunction.CloseUITutorialTip.Value) { return false; } return true; } [HarmonyPrefix] [HarmonyPatch(typeof(UITechTree), "UpdateScale")] public static bool UITechTreeUpdateScalePatch(UITechTree __instance) { if (Auxilaryfunction.noscaleuitech_bool.Value && ((Object)(object)__instance.selected != (Object)null || (Object)(object)__instance.centerViewNode != (Object)null)) { return false; } return true; } [HarmonyPrefix] [HarmonyPatch(typeof(UniverseSimulator), "GameTick")] public static void GameDataOnDrawPatch(UniverseSimulator __instance) { //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Invalid comparison between Unknown and I4 if (!Auxilaryfunction.simulatorchanging) { return; } int num = 0; ((Component)__instance.backgroundStars).gameObject.SetActive(!Auxilaryfunction.simulatorrender); while (__instance.planetSimulators != null && num < __instance.planetSimulators.Length) { if ((Object)(object)__instance.planetSimulators[num] != (Object)null) { ((Component)__instance.planetSimulators[num]).gameObject.SetActive(!Auxilaryfunction.simulatorrender); } num++; } num = 0; while (__instance.starSimulators != null && num < __instance.starSimulators.Length) { if ((Object)(object)__instance.starSimulators[num] != (Object)null) { if ((int)__instance.starSimulators[num].starData.type == 3 && (Object)(object)Configs.builtin.neutronStarPrefab.streamRenderer != (Object)null) { num++; continue; } ((Component)__instance.starSimulators[num]).gameObject.SetActive(!Auxilaryfunction.simulatorrender); } num++; } Auxilaryfunction.simulatorchanging = false; } } public class PlayerOperation { private static Harmony _patch; private static bool enable; public static float t = 20f; public static int AuDis = 40000; public static bool FlyStatus; private static PlanetData focusPlanet; private static StarData focusStar; private static ESpaceGuideType guidetype; public static bool Enable { get { return enable; } set { if (enable != value) { enable = value; if (enable) { _patch = Harmony.CreateAndPatchAll(typeof(PlayerOperation), (string)null); return; } _patch.UnpatchSelf(); FlyStatus = false; ClearFollow(); } } } private static Mecha mecha => Auxilaryfunction.player.mecha; public static bool NeedNavigation => GameMain.mainPlayer.navigation.indicatorAstroId > 0 || GameMain.mainPlayer.navigation._indicatorMsgId > 0 || GameMain.mainPlayer.navigation._indicatorEnemyId > 0; private static double max_acc => Auxilaryfunction.player.controller.actionSail.max_acc; private static float maxSailSpeed => Auxilaryfunction.player.controller.actionSail.maxSailSpeed; private static float maxWarpSpeed => Auxilaryfunction.player.controller.actionSail.maxWarpSpeed; private static int indicatorAstroId => Auxilaryfunction.player.navigation.indicatorAstroId; private static int indicatorMsgId => Auxilaryfunction.player.navigation.indicatorMsgId; private static int indicatorEnemyId => Auxilaryfunction.player.navigation.indicatorEnemyId; private static bool CanWarp => Auxilaryfunction.LocalPlanet == null && Auxilaryfunction.autowarpcommand.Value && !Auxilaryfunction.player.warping && mecha.thrusterLevel >= 3 && mecha.coreEnergy > mecha.warpStartPowerPerSpeed * (double)maxWarpSpeed; public static void ClearFollow() { Player player = Auxilaryfunction.player; if (((player != null) ? player.navigation : null) != null) { Auxilaryfunction.player.navigation.indicatorAstroId = 0; Auxilaryfunction.player.navigation.indicatorMsgId = 0; Auxilaryfunction.player.navigation.indicatorEnemyId = 0; } t = 20f; focusPlanet = null; focusStar = null; Debug.Log((object)"Auxilaryfunction.ClearFollow"); } [HarmonyPostfix] [HarmonyPatch(typeof(PlayerController), "GetInput")] public static void Postfix(PlayerController __instance) { //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_027c: Unknown result type (might be due to invalid IL or missing references) //IL_0281: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Unknown result type (might be due to invalid IL or missing references) //IL_03b3: Unknown result type (might be due to invalid IL or missing references) //IL_03b8: Unknown result type (might be due to invalid IL or missing references) //IL_03ba: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_02e6: Unknown result type (might be due to invalid IL or missing references) //IL_02eb: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_0379: Unknown result type (might be due to invalid IL or missing references) //IL_036f: Unknown result type (might be due to invalid IL or missing references) //IL_0444: Unknown result type (might be due to invalid IL or missing references) //IL_044a: Invalid comparison between Unknown and I4 //IL_039e: Unknown result type (might be due to invalid IL or missing references) //IL_03a3: Unknown result type (might be due to invalid IL or missing references) //IL_0474: Unknown result type (might be due to invalid IL or missing references) //IL_047a: Invalid comparison between Unknown and I4 //IL_0705: Unknown result type (might be due to invalid IL or missing references) //IL_070b: Invalid comparison between Unknown and I4 //IL_0716: Unknown result type (might be due to invalid IL or missing references) //IL_0740: Unknown result type (might be due to invalid IL or missing references) //IL_0742: Unknown result type (might be due to invalid IL or missing references) //IL_0744: Unknown result type (might be due to invalid IL or missing references) //IL_076b: Unknown result type (might be due to invalid IL or missing references) //IL_078d: Unknown result type (might be due to invalid IL or missing references) //IL_0793: Invalid comparison between Unknown and I4 //IL_07c1: Unknown result type (might be due to invalid IL or missing references) //IL_07dc: Unknown result type (might be due to invalid IL or missing references) //IL_07e1: Unknown result type (might be due to invalid IL or missing references) //IL_07a3: Unknown result type (might be due to invalid IL or missing references) //IL_0931: Unknown result type (might be due to invalid IL or missing references) //IL_0937: Invalid comparison between Unknown and I4 //IL_0940: Unknown result type (might be due to invalid IL or missing references) //IL_0944: Unknown result type (might be due to invalid IL or missing references) //IL_094a: Unknown result type (might be due to invalid IL or missing references) //IL_0925: Unknown result type (might be due to invalid IL or missing references) //IL_0860: Unknown result type (might be due to invalid IL or missing references) //IL_0867: Unknown result type (might be due to invalid IL or missing references) //IL_086c: Unknown result type (might be due to invalid IL or missing references) //IL_0871: Unknown result type (might be due to invalid IL or missing references) //IL_0875: Unknown result type (might be due to invalid IL or missing references) //IL_087a: Unknown result type (might be due to invalid IL or missing references) //IL_0886: Unknown result type (might be due to invalid IL or missing references) //IL_088b: Unknown result type (might be due to invalid IL or missing references) //IL_0890: Unknown result type (might be due to invalid IL or missing references) //IL_0892: Unknown result type (might be due to invalid IL or missing references) //IL_08af: Unknown result type (might be due to invalid IL or missing references) //IL_08b7: Unknown result type (might be due to invalid IL or missing references) //IL_08bc: Unknown result type (might be due to invalid IL or missing references) //IL_08eb: Unknown result type (might be due to invalid IL or missing references) //IL_08f0: Unknown result type (might be due to invalid IL or missing references) //IL_08f7: Unknown result type (might be due to invalid IL or missing references) //IL_08fc: Unknown result type (might be due to invalid IL or missing references) //IL_0901: Unknown result type (might be due to invalid IL or missing references) if (Auxilaryfunction.autonavigation_bool.Value) { if (indicatorAstroId <= 1000000 && indicatorAstroId > 0) { if (indicatorAstroId % 100 != 0) { if (focusPlanet == null) { FlyStatus = true; focusPlanet = GameMain.galaxy.PlanetById(indicatorAstroId); guidetype = (ESpaceGuideType)2; } else if (focusPlanet.id != indicatorAstroId) { FlyStatus = true; focusPlanet = GameMain.galaxy.PlanetById(indicatorAstroId); guidetype = (ESpaceGuideType)2; } } else if (focusStar == null) { focusPlanet = null; FlyStatus = true; focusStar = GameMain.galaxy.StarById(indicatorAstroId / 100); guidetype = (ESpaceGuideType)1; } else if (focusStar.id != indicatorAstroId / 100) { FlyStatus = true; focusStar = GameMain.galaxy.StarById(indicatorAstroId / 100); guidetype = (ESpaceGuideType)1; } } else if (indicatorAstroId > 1000000) { if (focusPlanet != null || focusStar != null) { focusStar = null; focusPlanet = null; } } else if (indicatorAstroId == 0 && (focusPlanet != null || focusStar != null)) { ClearFollow(); } } if (!Auxilaryfunction.autonavigation_bool.Value || !FlyStatus || !NeedNavigation) { return; } if (indicatorAstroId <= 1000000 && indicatorAstroId == Auxilaryfunction.LocalPlanet?.id) { FlyStatus = false; return; } if (indicatorAstroId > 1000000 && !Auxilaryfunction.AutoNavigateToDarkFogHive.Value) { FlyStatus = false; return; } if (!Auxilaryfunction.player.sailing) { FlyAwayPlanet(); return; } VectorLF3 val = default(VectorLF3); if (focusPlanet != null) { val = focusPlanet.uPosition; } else if (focusStar != null) { val = focusStar.uPosition; } else if (indicatorAstroId > 1000000) { val = GameMain.data.spaceSector.astros[Auxilaryfunction.player.navigation.indicatorAstroId - 1000000].uPos; guidetype = (ESpaceGuideType)6; } else if (indicatorEnemyId != 0) { ref EnemyData reference = ref GameMain.data.spaceSector.enemyPool[indicatorEnemyId]; GameMain.data.spaceSector.TransformFromAstro_ref(reference.astroId, ref val, ref reference.pos); guidetype = (ESpaceGuideType)7; } else { if (indicatorMsgId == 0) { return; } if (indicatorMsgId > CosmicMessageProto.maxProtoId) { guidetype = (ESpaceGuideType)8; } else { guidetype = (ESpaceGuideType)5; } val = GameMain.gameScenario.cosmicMessageManager.messages[Auxilaryfunction.player.navigation.indicatorMsgId].uPosition; } VectorLF3 targetVel = Auxilaryfunction.player.uPosition - val; double magnitude = ((VectorLF3)(ref targetVel)).magnitude; bool flag = magnitude > (double)(Auxilaryfunction.autowarpdistance.Value * 2400000f) && CanWarp && mecha.coreEnergy * 100.0 / mecha.coreEnergyCap >= (double)Auxilaryfunction.autowarpdistanceEnergyPercent.Value; bool flag2 = false; if (magnitude < 8000.0) { flag2 = true; } else if (magnitude < 100000.0 && (int)guidetype == 1) { flag2 = true; } else if (magnitude < (double)(Auxilaryfunction.AutoNavigateToDarkFogHiveKeepDistance.Value * 100 + 1000) && (int)guidetype == 6) { flag2 = true; } if (Auxilaryfunction.player.warping && __instance.actionSail.currentWarpSpeed > 15000.0 && magnitude < (double)(AuDis * 70)) { if (magnitude > (double)(AuDis * 26)) { if (__instance.actionSail.currentWarpSpeed > (double)(AuDis * 120)) { PlayerMove_Sail actionSail = __instance.actionSail; actionSail.warpSpeedControl -= 0.008; } } else if (magnitude > (double)(AuDis * 20)) { if (__instance.actionSail.currentWarpSpeed > (double)(AuDis * 80)) { PlayerMove_Sail actionSail2 = __instance.actionSail; actionSail2.warpSpeedControl -= 0.008; } } else if (magnitude > (double)(AuDis * 15)) { if (__instance.actionSail.currentWarpSpeed > (double)(AuDis * 40)) { PlayerMove_Sail actionSail3 = __instance.actionSail; actionSail3.warpSpeedControl -= 0.008; } if (__instance.actionSail.currentWarpSpeed > (double)(AuDis * 80)) { PlayerMove_Sail actionSail4 = __instance.actionSail; actionSail4.warpSpeedControl -= 0.016; } } else if (magnitude > (double)(AuDis * 6)) { if (__instance.actionSail.currentWarpSpeed > (double)(AuDis * 20)) { PlayerMove_Sail actionSail5 = __instance.actionSail; actionSail5.warpSpeedControl -= 0.008; } if (__instance.actionSail.currentWarpSpeed > (double)(AuDis * 40)) { PlayerMove_Sail actionSail6 = __instance.actionSail; actionSail6.warpSpeedControl -= 0.016; } } else if (magnitude > (double)AuDis) { if (__instance.actionSail.currentWarpSpeed > (double)AuDis) { PlayerMove_Sail actionSail7 = __instance.actionSail; actionSail7.warpSpeedControl -= 0.008; } if (__instance.actionSail.currentWarpSpeed > (double)(AuDis * 20)) { PlayerMove_Sail actionSail8 = __instance.actionSail; actionSail8.warpSpeedControl -= 0.016; } } } if ((int)guidetype == 6) { Vector3 val2 = default(Vector3); Vector3 val3 = default(Vector3); ((AstroData)(ref GameMain.spaceSector.astros[indicatorAstroId - 1000000])).VelocityU(ref val2, ref val3); FollowTaget(val, VectorLF3.op_Implicit(val3), targetIsStatic: false, isOrbit: true); } else if (magnitude > 100000.0) { FlyTo(val); } else if (magnitude > 5000.0) { if ((int)guidetype == 1) { FlyStatus = false; } FlyTo(val); } else if (indicatorEnemyId != 0) { FollowTaget(val, VectorLF3.op_Implicit(GameMain.data.spaceSector.enemyPool[indicatorEnemyId].vel), targetIsStatic: false); } else if (focusPlanet != null) { float radius = focusPlanet.radius; bool factoryLoaded = focusPlanet.factoryLoaded; if (magnitude < (double)(radius + 500f) && factoryLoaded) { FlyStatus = false; } else if (magnitude < (double)(radius + 1000f) && !factoryLoaded) { targetVel = val - Auxilaryfunction.player.uPosition; VectorLF3 normalized = ((VectorLF3)(ref targetVel)).normalized; if (Vector3.Angle(VectorLF3.op_Implicit(((VectorLF3)(ref Auxilaryfunction.player.uVelocity)).normalized), VectorLF3.op_Implicit(normalized)) < 10f) { Auxilaryfunction.player.uVelocity = normalized * (magnitude - (double)radius); } else if (((VectorLF3)(ref Auxilaryfunction.player.uVelocity)).magnitude < 1000.0) { Player player = Auxilaryfunction.player; player.uVelocity += normalized * max_acc; __instance.actionSail.UseSailEnergy(max_acc, 1.0); } } else { FlyTo(val); } } else if ((int)guidetype == 8) { VectorLF3 target = val; targetVel = default(VectorLF3); FollowTaget(target, targetVel, targetIsStatic: true); } if (Auxilaryfunction.player.warpCommand && flag2) { Auxilaryfunction.player.warpCommand = false; } if (flag && !flag2 && mecha.UseWarper() && magnitude > 10000.0) { Auxilaryfunction.player.warpCommand = true; } } [HarmonyPrefix] [HarmonyPatch(typeof(PlayerControlGizmo), "AddOrderGizmo")] public static bool DisableAddOrderGizmo() { if (Auxilaryfunction.StartAutoMovetounbuilt) { return false; } return true; } private static void FollowTaget(VectorLF3 target, VectorLF3 targetVel, bool targetIsStatic, bool isOrbit = false) { //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_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_06d3: Unknown result type (might be due to invalid IL or missing references) //IL_06d8: Unknown result type (might be due to invalid IL or missing references) //IL_06da: Unknown result type (might be due to invalid IL or missing references) //IL_06e0: Unknown result type (might be due to invalid IL or missing references) //IL_06e5: Unknown result type (might be due to invalid IL or missing references) //IL_06ea: Unknown result type (might be due to invalid IL or missing references) //IL_06ed: Unknown result type (might be due to invalid IL or missing references) //IL_06f2: Unknown result type (might be due to invalid IL or missing references) //IL_06fe: Unknown result type (might be due to invalid IL or missing references) //IL_0703: Unknown result type (might be due to invalid IL or missing references) //IL_0708: Unknown result type (might be due to invalid IL or missing references) //IL_070a: Unknown result type (might be due to invalid IL or missing references) //IL_0714: Unknown result type (might be due to invalid IL or missing references) //IL_0719: Unknown result type (might be due to invalid IL or missing references) //IL_071e: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_034a: Unknown result type (might be due to invalid IL or missing references) //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Unknown result type (might be due to invalid IL or missing references) //IL_035d: Unknown result type (might be due to invalid IL or missing references) //IL_0362: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_036b: Unknown result type (might be due to invalid IL or missing references) //IL_036d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_075c: Unknown result type (might be due to invalid IL or missing references) //IL_0392: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_078b: Unknown result type (might be due to invalid IL or missing references) //IL_0790: Unknown result type (might be due to invalid IL or missing references) //IL_0795: Unknown result type (might be due to invalid IL or missing references) //IL_0797: Unknown result type (might be due to invalid IL or missing references) //IL_07a1: Unknown result type (might be due to invalid IL or missing references) //IL_07a6: Unknown result type (might be due to invalid IL or missing references) //IL_07ab: Unknown result type (might be due to invalid IL or missing references) //IL_0394: Unknown result type (might be due to invalid IL or missing references) //IL_038e: Unknown result type (might be due to invalid IL or missing references) //IL_07c3: Unknown result type (might be due to invalid IL or missing references) //IL_07c8: Unknown result type (might be due to invalid IL or missing references) //IL_07d3: Unknown result type (might be due to invalid IL or missing references) //IL_07d8: Unknown result type (might be due to invalid IL or missing references) //IL_07dd: Unknown result type (might be due to invalid IL or missing references) //IL_0829: Unknown result type (might be due to invalid IL or missing references) //IL_082e: Unknown result type (might be due to invalid IL or missing references) //IL_0839: Unknown result type (might be due to invalid IL or missing references) //IL_083e: Unknown result type (might be due to invalid IL or missing references) //IL_0843: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_09e3: Unknown result type (might be due to invalid IL or missing references) //IL_09f4: Unknown result type (might be due to invalid IL or missing references) //IL_09f9: Unknown result type (might be due to invalid IL or missing references) //IL_03d2: Unknown result type (mig