Decompiled source of Multfuntion mod v3.4.5

Multifunction_mod.dll

Decompiled 2 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using Multifunction_mod.Models;
using Multifunction_mod.Patchs;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Multifunction_mod")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Multifunction_mod")]
[assembly: AssemblyCopyright("Copyright ©  2022")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("d898890a-6afd-4680-84d6-0b5ebf5656c9")]
[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 Multifunction_mod
{
	public class Constant
	{
		public static List<Vector3> nodepos = new List<Vector3>();

		public static double[,] posxz = new double[10, 2]
		{
			{ 0.0, 1.0 },
			{ 0.1563, -0.9877 },
			{ 0.3089, -0.9511 },
			{ 0.4539, -0.8911 },
			{ 0.5877, -0.8091 },
			{ 0.7071, -0.7071 },
			{ 0.8091, -0.5877 },
			{ 0.891, -0.454 },
			{ 0.9511, -0.3089 },
			{ 0.9877, -0.1564 }
		};

		public static double[,] dysonposxyz1 = new double[7, 2]
		{
			{ 7431.4, 6691.3 },
			{ 8090.2, 5877.9 },
			{ 8660.3, 5000.0 },
			{ 9135.5, 4067.4 },
			{ 9510.6, 3090.2 },
			{ 9781.5, 2079.1 },
			{ 9945.2, 1045.3 }
		};

		public static double[,] dysonposxyz2 = new double[14, 3]
		{
			{ -1045.3, 0.0, 9945.2 },
			{ -2079.1, 0.0, 9781.5 },
			{ -3090.2, 0.0, 9510.6 },
			{ -4067.4, 0.0, 9135.4 },
			{ -5000.0, 0.0, 8660.2 },
			{ -5877.9, 0.0, 8090.2 },
			{ -6691.3, 0.0, 7431.4 },
			{ -7431.5, 0.0, 6691.3 },
			{ -8090.2, 0.0, 5877.9 },
			{ -8660.3, 0.0, 5000.0 },
			{ -9135.5, 0.0, 4067.4 },
			{ -9510.6, 0.0, 3090.2 },
			{ -9781.5, 0.0, 2079.1 },
			{ -9945.2, 0.0, 1045.3 }
		};

		public static double[,] dysonposxyz3 = new double[98, 3]
		{
			{ 1143.5, 1149.8, 10879.8 },
			{ 1124.7, 2287.0, 10700.7 },
			{ 1093.5, 3399.2, 10404.3 },
			{ 1050.4, 4474.1, 9994.0 },
			{ 995.8, 5500.0, 9474.1 },
			{ 930.2, 6465.6, 8850.4 },
			{ 854.5, 7360.4, 8129.8 },
			{ 1699.6, 7360.4, 7996.0 },
			{ 1850.2, 6465.6, 8704.7 },
			{ 1980.6, 5500.0, 9318.1 },
			{ 2089.3, 4474.1, 9829.4 },
			{ 2175.1, 3399.2, 10233.0 },
			{ 2237.0, 2287.0, 10524.5 },
			{ 2274.5, 1149.8, 10700.7 },
			{ 3380.6, 1149.8, 10404.3 },
			{ 3324.9, 2287.0, 10233.0 },
			{ 3232.8, 3399.2, 9949.6 },
			{ 3105.3, 4474.1, 9557.2 },
			{ 2943.8, 5500.0, 9060.0 },
			{ 2750.0, 6465.6, 8463.6 },
			{ 2526.1, 7360.4, 7774.5 },
			{ 3324.9, 7360.4, 7467.9 },
			{ 3619.6, 6465.6, 8129.8 },
			{ 3874.7, 5500.0, 8702.7 },
			{ 4087.3, 4474.1, 9180.2 },
			{ 4255.1, 3399.2, 9557.2 },
			{ 4376.3, 2287.0, 9829.4 },
			{ 4449.6, 1149.8, 9993.9 },
			{ 5469.9, 1149.8, 9474.1 },
			{ 5379.8, 2287.0, 9318.1 },
			{ 5230.8, 3399.2, 9060.0 },
			{ 5024.5, 4474.1, 8702.7 },
			{ 4763.1, 5500.0, 8250.0 },
			{ 4449.6, 6465.6, 7706.9 },
			{ 4087.3, 7360.4, 7079.4 },
			{ 4804.9, 7360.4, 6613.4 },
			{ 5230.8, 6465.6, 7199.6 },
			{ 5599.4, 5500.0, 7706.9 },
			{ 5906.7, 4474.1, 8129.8 },
			{ 6149.2, 3399.2, 8463.6 },
			{ 6324.4, 2287.0, 8704.7 },
			{ 6430.2, 1149.8, 8850.4 },
			{ 7320.1, 1149.8, 8129.8 },
			{ 7199.6, 2287.0, 7995.9 },
			{ 7000.2, 3399.2, 7774.5 },
			{ 6724.1, 4474.1, 7467.9 },
			{ 6374.3, 5500.0, 7079.4 },
			{ 5954.7, 6465.6, 6613.4 },
			{ 5469.9, 7360.4, 6074.9 },
			{ 6074.9, 7360.4, 5469.9 },
			{ 6613.4, 6465.6, 5954.7 },
			{ 7079.4, 5500.0, 6374.3 },
			{ 7467.9, 4474.1, 6724.1 },
			{ 7774.5, 3399.2, 7000.2 },
			{ 7996.0, 2287.0, 7199.6 },
			{ 8129.8, 1149.8, 7320.1 },
			{ 8850.4, 1149.8, 6430.2 },
			{ 8704.7, 2287.0, 6324.3 },
			{ 8463.6, 3399.2, 6149.2 },
			{ 8129.8, 4474.1, 5906.6 },
			{ 7706.9, 5500.0, 5599.4 },
			{ 7199.6, 6465.6, 5230.8 },
			{ 6613.4, 7360.4, 4804.9 },
			{ 7079.4, 7360.4, 4087.3 },
			{ 7706.9, 6465.6, 4449.6 },
			{ 8250.0, 5500.0, 4763.1 },
			{ 8702.7, 4474.1, 5024.5 },
			{ 9060.0, 3399.2, 5230.8 },
			{ 9318.1, 2287.0, 5379.8 },
			{ 9474.1, 1149.8, 5469.9 },
			{ 9994.0, 1149.8, 4449.6 },
			{ 9829.4, 2287.0, 4376.3 },
			{ 9557.2, 3399.2, 4255.1 },
			{ 9180.2, 4474.1, 4087.3 },
			{ 8702.7, 5500.0, 3874.7 },
			{ 8129.8, 6465.6, 3619.6 },
			{ 7467.9, 7360.4, 3324.9 },
			{ 7774.5, 7360.4, 2526.1 },
			{ 8463.6, 6465.6, 2750.0 },
			{ 9060.0, 5500.0, 2943.8 },
			{ 9557.2, 4474.1, 3105.3 },
			{ 9949.6, 3399.2, 3232.8 },
			{ 10233.0, 2287.0, 3324.9 },
			{ 10404.3, 1149.8, 3380.6 },
			{ 10700.7, 1149.8, 2274.5 },
			{ 10524.5, 2287.0, 2237.0 },
			{ 10233.0, 3399.2, 2175.1 },
			{ 9829.4, 4474.1, 2089.3 },
			{ 9318.1, 5500.0, 1980.6 },
			{ 8704.7, 6465.6, 1850.2 },
			{ 7996.0, 7360.4, 1699.6 },
			{ 8129.8, 7360.4, 854.5 },
			{ 8850.4, 6465.6, 930.2 },
			{ 9474.1, 5500.0, 995.8 },
			{ 9994.0, 4474.1, 1050.4 },
			{ 10404.3, 3399.2, 1093.5 },
			{ 10700.7, 2287.0, 1124.7 },
			{ 10879.8, 1149.8, 1143.5 }
		};

		public static double[,] dysonposxyz4 = new double[244, 3]
		{
			{ 0.0, 9659.3, 2588.2 },
			{ -943.9, 8910.1, -4440.7 },
			{ -1846.5, 8910.1, -4147.4 },
			{ -2668.5, 8910.1, -3672.9 },
			{ -3373.8, 8910.1, -3037.8 },
			{ -3931.7, 8910.1, -2270.0 },
			{ -4317.7, 8910.1, -1402.9 },
			{ -4515.0, 8910.1, -474.6 },
			{ -4515.0, 8910.1, 474.5 },
			{ -4317.7, 8910.1, 1402.9 },
			{ -3931.7, 8910.1, 2269.9 },
			{ -3373.8, 8910.1, 3037.8 },
			{ -2668.5, 8910.1, 3672.9 },
			{ -1846.6, 8910.1, 4147.4 },
			{ -943.9, 8910.1, 4440.7 },
			{ 2588.2, 9659.3, 0.0 },
			{ 0.0, 10000.0, 0.0 },
			{ 2461.5, 9659.3, 799.8 },
			{ -745.1, 9335.8, 3505.4 },
			{ -1457.6, 9335.8, 3273.9 },
			{ -2106.4, 9335.8, 2899.3 },
			{ -2663.2, 9335.8, 2397.9 },
			{ -3103.6, 9335.8, 1791.8 },
			{ -3408.3, 9335.8, 1107.4 },
			{ -3564.1, 9335.8, 374.6 },
			{ -3564.0, 9335.8, -374.6 },
			{ -3408.3, 9335.8, -1107.4 },
			{ -3103.5, 9335.8, -1791.9 },
			{ -2663.2, 9335.8, -2398.0 },
			{ -2106.4, 9335.8, -2899.3 },
			{ -1457.6, 9335.8, -3273.9 },
			{ -745.1, 9335.8, -3505.4 },
			{ 799.8, 9659.3, 2461.5 },
			{ 1521.3, 9659.3, 2093.9 },
			{ -799.8, 9659.3, -2461.5 },
			{ -1521.3, 9659.3, -2093.9 },
			{ -2093.9, 9659.3, -1521.3 },
			{ -2461.5, 9659.3, -799.8 },
			{ -2588.2, 9659.3, 0.0 },
			{ -2461.5, 9659.3, 799.8 },
			{ -2093.9, 9659.3, 1521.3 },
			{ -1521.3, 9659.3, 2093.9 },
			{ -799.8, 9659.3, 2461.5 },
			{ 2093.9, 9659.3, 1521.3 },
			{ 163.5, 9876.9, -1555.8 },
			{ -636.3, 9876.9, 1429.1 },
			{ -1215.7, 9876.9, 984.5 },
			{ -1530.2, 9876.9, 325.2 },
			{ -1511.0, 9876.9, -404.9 },
			{ -1162.5, 9876.9, -1046.8 },
			{ -560.6, 9876.9, -1460.4 },
			{ 852.0, 9876.9, -1312.0 },
			{ 1354.8, 9876.9, -782.2 },
			{ 1562.2, 9876.9, -81.9 },
			{ 1429.1, 9876.9, 636.3 },
			{ 984.5, 9876.9, 1215.7 },
			{ 325.2, 9876.9, 1530.2 },
			{ 2461.5, 9659.3, -799.8 },
			{ 2093.9, 9659.3, -1521.3 },
			{ 1521.3, 9659.3, -2093.9 },
			{ 799.8, 9659.3, -2461.5 },
			{ 0.0, 9659.3, -2588.2 },
			{ 0.0, 9335.8, -3583.7 },
			{ 0.0, 8910.1, -4539.9 },
			{ 943.9, 8910.1, -4440.7 },
			{ 745.1, 9335.8, -3505.4 },
			{ 1457.6, 9335.8, -3273.9 },
			{ 1846.5, 8910.1, -4147.4 },
			{ 2668.5, 8910.1, -3672.9 },
			{ 2106.4, 9335.8, -2899.3 },
			{ 2663.2, 9335.8, -2397.9 },
			{ 3373.8, 8910.1, -3037.8 },
			{ 3103.6, 9335.8, -1791.8 },
			{ 3931.7, 8910.1, -2270.0 },
			{ 3408.3, 9335.8, -1107.4 },
			{ 4317.7, 8910.1, -1402.9 },
			{ 3564.0, 9335.8, -374.6 },
			{ 4515.0, 8910.1, -474.6 },
			{ 3564.0, 9335.8, 374.6 },
			{ 4515.0, 8910.1, 474.5 },
			{ 3408.3, 9335.8, 1107.4 },
			{ 4317.7, 8910.1, 1402.9 },
			{ 3103.6, 9335.8, 1791.8 },
			{ 3931.7, 8910.1, 2269.9 },
			{ 2663.2, 9335.8, 2397.9 },
			{ 3373.8, 8910.1, 3037.8 },
			{ 2106.4, 9335.8, 2899.3 },
			{ 2668.5, 8910.1, 3672.9 },
			{ 1457.6, 9335.8, 3273.9 },
			{ 1846.5, 8910.1, 4147.4 },
			{ 745.1, 9335.8, 3505.4 },
			{ 943.9, 8910.1, 4440.7 },
			{ 0.0, 9335.8, 3583.7 },
			{ 0.0, 8910.1, 4539.9 },
			{ -522.6, 8660.3, 4972.6 },
			{ 522.6, 8660.3, 4972.6 },
			{ 0.0, 8386.7, 5446.4 },
			{ 614.4, 8090.2, 5845.7 },
			{ -1545.1, 8660.3, 4755.3 },
			{ -2500.0, 8660.3, 4330.1 },
			{ -3345.7, 8660.3, 3715.7 },
			{ -4045.1, 8660.3, 2938.9 },
			{ -4567.7, 8660.3, 2033.7 },
			{ -4890.7, 8660.3, 1039.5 },
			{ -5000.0, 8660.3, 0.0 },
			{ -4890.7, 8660.3, -1039.6 },
			{ -4567.7, 8660.3, -2033.7 },
			{ -4045.1, 8660.3, -2939.0 },
			{ -3345.6, 8660.3, -3715.8 },
			{ -2500.0, 8660.3, -4330.2 },
			{ -1545.0, 8660.3, -4755.3 },
			{ -522.6, 8660.3, -4972.6 },
			{ 522.6, 8660.3, -4972.6 },
			{ 1545.1, 8660.3, -4755.3 },
			{ 2500.0, 8660.3, -4330.1 },
			{ 3345.7, 8660.3, -3715.7 },
			{ 4045.1, 8660.3, -2938.9 },
			{ 4567.7, 8660.3, -2033.7 },
			{ 4890.7, 8660.3, -1039.6 },
			{ 5000.0, 8660.3, 0.0 },
			{ 4890.7, 8660.3, 1039.6 },
			{ 4567.7, 8660.3, 2033.7 },
			{ 4045.1, 8660.3, 2938.9 },
			{ 3345.7, 8660.3, 3715.7 },
			{ 2500.0, 8660.3, 4330.1 },
			{ 1545.1, 8660.3, 4755.3 },
			{ 1132.4, 8386.7, 5327.4 },
			{ 1816.4, 8090.2, 5590.2 },
			{ 2215.2, 8386.7, 4975.5 },
			{ 3201.3, 8386.7, 4406.2 },
			{ 2938.9, 8090.2, 5090.4 },
			{ 2559.7, 7771.5, 5749.1 },
			{ 1308.4, 7771.5, 6155.7 },
			{ 0.0, 7771.5, 6293.2 },
			{ -614.4, 8090.2, 5845.7 },
			{ -1132.4, 8386.7, 5327.4 },
			{ -1816.4, 8090.2, 5590.2 },
			{ -1308.4, 7771.5, 6155.7 },
			{ -699.4, 7431.4, 6654.7 },
			{ -2067.7, 7431.4, 6363.8 },
			{ -2559.7, 7771.5, 5749.1 },
			{ -2215.3, 8386.7, 4975.5 },
			{ -3345.7, 7431.4, 5794.8 },
			{ -2938.9, 8090.2, 5090.4 },
			{ -3201.3, 8386.7, 4406.2 },
			{ -3699.1, 7771.5, 5091.3 },
			{ -4477.4, 7431.4, 4972.6 },
			{ -3933.1, 8090.2, 4368.1 },
			{ -4047.5, 8386.7, 3644.3 },
			{ -4676.8, 7771.5, 4211.0 },
			{ -5413.4, 7431.4, 3933.0 },
			{ -4755.3, 8090.2, 3454.9 },
			{ -4716.7, 8386.7, 2723.2 },
			{ -5450.1, 7771.5, 3146.6 },
			{ -6112.8, 7431.4, 2721.6 },
			{ -5369.7, 8090.2, 2390.7 },
			{ -5179.8, 8386.7, 1683.0 },
			{ -5985.2, 7771.5, 1944.7 },
			{ -6545.1, 7431.4, 1391.2 },
			{ -5749.4, 8090.2, 1222.0 },
			{ -5416.6, 8386.7, 569.3 },
			{ -6258.7, 7771.5, 657.8 },
			{ -6691.3, 7431.4, 0.0 },
			{ -5877.9, 8090.2, 0.0 },
			{ -5416.6, 8386.7, -569.3 },
			{ -6258.7, 7771.5, -657.9 },
			{ -6545.1, 7431.4, -1391.2 },
			{ -5749.4, 8090.2, -1222.1 },
			{ -5179.8, 8386.7, -1683.1 },
			{ -5985.2, 7771.5, -1944.8 },
			{ -6112.8, 7431.4, -2721.6 },
			{ -5369.7, 8090.2, -2390.8 },
			{ -4716.7, 8386.7, -2723.2 },
			{ -5450.0, 7771.5, -3146.6 },
			{ -5413.3, 7431.4, -3933.1 },
			{ -4755.3, 8090.2, -3455.0 },
			{ -4047.4, 8386.7, -3644.4 },
			{ -4676.7, 7771.5, -4211.0 },
			{ -4477.3, 7431.4, -4972.7 },
			{ -3933.0, 8090.2, -4368.1 },
			{ -3201.3, 8386.7, -4406.3 },
			{ -3699.0, 7771.5, -5091.3 },
			{ -3345.6, 7431.4, -5794.9 },
			{ -2938.9, 8090.2, -5090.4 },
			{ -2215.2, 8386.7, -4975.5 },
			{ -2559.6, 7771.5, -5749.2 },
			{ -2067.7, 7431.4, -6363.8 },
			{ -1816.3, 8090.2, -5590.2 },
			{ -1132.3, 8386.7, -5327.4 },
			{ -1308.4, 7771.5, -6155.7 },
			{ -699.4, 7431.4, -6654.7 },
			{ -614.3, 8090.2, -5845.7 },
			{ 0.0, 8386.7, -5446.4 },
			{ 0.0, 7771.5, -6293.2 },
			{ 699.4, 7431.4, -6654.7 },
			{ 614.4, 8090.2, -5845.7 },
			{ 1132.4, 8386.7, -5327.4 },
			{ 1308.4, 7771.5, -6155.7 },
			{ 2067.7, 7431.4, -6363.8 },
			{ 1816.4, 8090.2, -5590.2 },
			{ 2215.2, 8386.7, -4975.5 },
			{ 2559.7, 7771.5, -5749.1 },
			{ 3345.7, 7431.4, -5794.8 },
			{ 2938.9, 8090.2, -5090.4 },
			{ 3201.3, 8386.7, -4406.2 },
			{ 3699.1, 7771.5, -5091.3 },
			{ 4477.4, 7431.4, -4972.6 },
			{ 3933.1, 8090.2, -4368.1 },
			{ 4047.5, 8386.7, -3644.3 },
			{ 4676.8, 7771.5, -4211.0 },
			{ 5413.4, 7431.4, -3933.1 },
			{ 4755.3, 8090.2, -3454.9 },
			{ 4716.7, 8386.7, -2723.2 },
			{ 5450.1, 7771.5, -3146.6 },
			{ 6112.8, 7431.4, -2721.6 },
			{ 5369.7, 8090.2, -2390.7 },
			{ 5179.8, 8386.7, -1683.0 },
			{ 5985.2, 7771.5, -1944.7 },
			{ 6545.1, 7431.4, -1391.2 },
			{ 5749.4, 8090.2, -1222.1 },
			{ 5416.6, 8386.7, -569.3 },
			{ 6258.7, 7771.5, -657.8 },
			{ 6691.3, 7431.4, 0.0 },
			{ 5877.9, 8090.2, 0.0 },
			{ 5416.6, 8386.7, 569.3 },
			{ 6258.7, 7771.5, 657.8 },
			{ 6545.1, 7431.4, 1391.2 },
			{ 5749.4, 8090.2, 1222.1 },
			{ 5179.8, 8386.7, 1683.0 },
			{ 5985.2, 7771.5, 1944.7 },
			{ 6112.8, 7431.4, 2721.6 },
			{ 5369.7, 8090.2, 2390.7 },
			{ 4716.7, 8386.7, 2723.2 },
			{ 5450.1, 7771.5, 3146.6 },
			{ 5413.4, 7431.4, 3933.0 },
			{ 4755.3, 8090.2, 3454.9 },
			{ 4047.5, 8386.7, 3644.3 },
			{ 4676.8, 7771.5, 4211.0 },
			{ 4477.4, 7431.4, 4972.6 },
			{ 3933.1, 8090.2, 4368.1 },
			{ 3699.1, 7771.5, 5091.3 },
			{ 3345.7, 7431.4, 5794.8 },
			{ 2067.7, 7431.4, 6363.8 },
			{ 699.4, 7431.4, 6654.7 }
		};

		public static void preparedraw()
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e3: 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_0136: Unknown result type (might be due to invalid IL or missing references)
			//IL_0140: Unknown result type (might be due to invalid IL or missing references)
			//IL_0145: Unknown result type (might be due to invalid IL or missing references)
			//IL_014c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0158: Unknown result type (might be due to invalid IL or missing references)
			//IL_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_0171: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_021b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0225: Unknown result type (might be due to invalid IL or missing references)
			//IL_022a: Unknown result type (might be due to invalid IL or missing references)
			//IL_024f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0259: Unknown result type (might be due to invalid IL or missing references)
			//IL_025e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0265: Unknown result type (might be due to invalid IL or missing references)
			//IL_0272: Unknown result type (might be due to invalid IL or missing references)
			//IL_027f: Unknown result type (might be due to invalid IL or missing references)
			//IL_028c: Unknown result type (might be due to invalid IL or missing references)
			//IL_02dc: 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_0318: Unknown result type (might be due to invalid IL or missing references)
			//IL_0322: Unknown result type (might be due to invalid IL or missing references)
			//IL_0327: Unknown result type (might be due to invalid IL or missing references)
			//IL_032e: Unknown result type (might be due to invalid IL or missing references)
			//IL_033b: 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_0398: Unknown result type (might be due to invalid IL or missing references)
			//IL_039d: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ca: 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_03e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0478: Unknown result type (might be due to invalid IL or missing references)
			//IL_0482: Unknown result type (might be due to invalid IL or missing references)
			//IL_0487: Unknown result type (might be due to invalid IL or missing references)
			//IL_048e: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0500: Unknown result type (might be due to invalid IL or missing references)
			//IL_052d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0537: Unknown result type (might be due to invalid IL or missing references)
			//IL_053c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0543: Unknown result type (might be due to invalid IL or missing references)
			//IL_0550: Unknown result type (might be due to invalid IL or missing references)
			nodepos.Add(new Vector3(0f, 0f, 1f));
			nodepos.Add(new Vector3(0f, 0f, -1f));
			nodepos.Add(new Vector3(1f, 0f, 0f));
			nodepos.Add(new Vector3(-1f, 0f, 0f));
			for (int i = 0; i < 7; i++)
			{
				Vector3 item = new Vector3((float)dysonposxyz1[i, 0], (float)dysonposxyz1[i, 1], 0f) / 10000f;
				Vector3 item2 = new Vector3((float)dysonposxyz1[i, 0], 0f - (float)dysonposxyz1[i, 1], 0f) / 10000f;
				Vector3 item3 = new Vector3(0f - (float)dysonposxyz1[i, 0], (float)dysonposxyz1[i, 1], 0f) / 10000f;
				Vector3 item4 = new Vector3(0f - (float)dysonposxyz1[i, 0], 0f - (float)dysonposxyz1[i, 1], 0f) / 10000f;
				nodepos.Add(item);
				nodepos.Add(item3);
				nodepos.Add(item2);
				nodepos.Add(item4);
			}
			for (int j = 0; j < 7; j++)
			{
				Vector3 item5 = new Vector3(0f, (float)dysonposxyz1[j, 1], (float)dysonposxyz1[j, 0]) / 10000f;
				Vector3 item6 = new Vector3(0f, (float)dysonposxyz1[j, 1], 0f - (float)dysonposxyz1[j, 0]) / 10000f;
				Vector3 item7 = new Vector3(0f, 0f - (float)dysonposxyz1[j, 1], (float)dysonposxyz1[j, 0]) / 10000f;
				Vector3 item8 = new Vector3(0f, 0f - (float)dysonposxyz1[j, 1], 0f - (float)dysonposxyz1[j, 0]) / 10000f;
				nodepos.Add(item5);
				nodepos.Add(item6);
				nodepos.Add(item7);
				nodepos.Add(item8);
			}
			for (int k = 0; k < 14; k++)
			{
				Vector3 item9 = new Vector3((float)dysonposxyz2[k, 0], (float)dysonposxyz2[k, 1], (float)dysonposxyz2[k, 2]) / 10000f;
				Vector3 item10 = new Vector3(0f - (float)dysonposxyz2[k, 0], (float)dysonposxyz2[k, 1], (float)dysonposxyz2[k, 2]) / 10000f;
				nodepos.Add(item9);
				nodepos.Add(item10);
			}
			for (int l = 0; l < 14; l++)
			{
				Vector3 item11 = new Vector3(0f - (float)dysonposxyz2[l, 0], (float)dysonposxyz2[l, 1], 0f - (float)dysonposxyz2[l, 2]) / 10000f;
				Vector3 item12 = new Vector3((float)dysonposxyz2[l, 0], (float)dysonposxyz2[l, 1], 0f - (float)dysonposxyz2[l, 2]) / 10000f;
				nodepos.Add(item11);
				nodepos.Add(item12);
			}
			int[,] array = new int[8, 3]
			{
				{ 1, 1, 1 },
				{ 1, 1, -1 },
				{ 1, -1, 1 },
				{ 1, -1, -1 },
				{ -1, 1, 1 },
				{ -1, 1, -1 },
				{ -1, -1, 1 },
				{ -1, -1, -1 }
			};
			for (int m = 0; m < 8; m++)
			{
				for (int n = 0; n < 98; n++)
				{
					Vector3 item13 = new Vector3((float)dysonposxyz3[n, 0] * (float)array[m, 0], (float)dysonposxyz3[n, 1] * (float)array[m, 1], (float)dysonposxyz3[n, 2] * (float)array[m, 2]) / 11000f;
					nodepos.Add(item13);
				}
			}
			for (int num = 0; num < 244; num++)
			{
				Vector3 item14 = new Vector3((float)dysonposxyz4[num, 0], (float)dysonposxyz4[num, 1], (float)dysonposxyz4[num, 2]) / 10000f;
				Vector3 item15 = new Vector3((float)dysonposxyz4[num, 0], 0f - (float)dysonposxyz4[num, 1], (float)dysonposxyz4[num, 2]) / 10000f;
				nodepos.Add(item14);
				nodepos.Add(item15);
			}
		}
	}
	public class GUIDraw
	{
		private bool firstDraw;

		private string stackmultipleStr;

		private Multifunction MainFunction;

		private int whichpannel;

		private Vector2 scrollPosition;

		private Vector2 TabscrollPosition;

		private GameObject ui_MultiFunctionPanel;

		private bool RefreshBaseSize;

		private bool ChangePlayerbool;

		private int baseSize;

		private int heightdis;

		private float mainWindow_x;

		private float mainWindow_y;

		private float mainWindowWidth;

		private float mainWindowHeight;

		private string[] menus;

		private Color textColor;

		private Color mainWindowTextureColor;

		private Texture2D mainWindowTexture;

		public bool ColorChanged;

		public bool MouseInWindow;

		private GUIStyle style;

		private GUIStyle normalStyle;

		private GUIStyle selectedIconStyle;

		private Texture2D selectedTexture;

		private GUIStyle labelmarginStyle;

		private GUIStyle selectedButtonStyle;

		private GUILayoutOption[] slideroptions;

		private GUILayoutOption[] MoreWidthslideroptions;

		private GUILayoutOption[] textfieldoptions;

		private GUILayoutOption[] menusbuttonoptions;

		private GUILayoutOption[] iconbuttonoptions;

		private float MainWindow_x_move;

		private float MainWindow_y_move;

		private float temp_MainWindow_x;

		private float temp_MainWindow_y;

		private bool moving;

		private bool leftscaling;

		private bool rightscaling;

		private bool bottomscaling;

		public int BaseSize
		{
			get
			{
				return baseSize;
			}
			set
			{
				baseSize = value;
				Multifunction.scale.Value = value;
				RefreshBaseSize = true;
				heightdis = value * 2;
			}
		}

		public float MainWindow_x
		{
			get
			{
				return mainWindow_x;
			}
			set
			{
				mainWindow_x = value;
				Multifunction.MainWindow_x_config.Value = value;
			}
		}

		public float MainWindow_y
		{
			get
			{
				return mainWindow_y;
			}
			set
			{
				mainWindow_y = value;
				Multifunction.MainWindow_y_config.Value = value;
			}
		}

		public float MainWindowWidth
		{
			get
			{
				return mainWindowWidth;
			}
			set
			{
				mainWindowWidth = value;
				Multifunction.MainWindow_width.Value = value;
			}
		}

		public float MainWindowHeight
		{
			get
			{
				return mainWindowHeight;
			}
			set
			{
				mainWindowHeight = value;
				Multifunction.MainWindow_height.Value = value;
			}
		}

		public bool DisplayingWindow { get; private set; }

		public Color TextColor
		{
			get
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				return textColor;
			}
			set
			{
				//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_0014: Unknown result type (might be due to invalid IL or missing references)
				ColorChanged = true;
				textColor = value;
				Multifunction.Textcolor.Value = value;
			}
		}

		public Color MainWindowTextureColor
		{
			get
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				return mainWindowTextureColor;
			}
			set
			{
				//IL_0002: Unknown result type (might be due to invalid IL or missing references)
				//IL_0003: Unknown result type (might be due to invalid IL or missing references)
				//IL_000d: Unknown result type (might be due to invalid IL or missing references)
				mainWindowTextureColor = value;
				Multifunction.mainWindowTextureColor_config.Value = value;
			}
		}

		public Texture2D MainWindowTexture
		{
			get
			{
				return mainWindowTexture;
			}
			set
			{
				mainWindowTexture = value;
			}
		}

		public GUIDraw(int baseSize, GameObject panel, Multifunction multifunction)
		{
			BaseSize = baseSize;
			ui_MultiFunctionPanel = panel;
			MainFunction = multifunction;
			Init();
		}

		private void Init()
		{
			//IL_00a4: 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_00c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cf: Expected O, but got Unknown
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Expected O, but got Unknown
			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0112: Unknown result type (might be due to invalid IL or missing references)
			//IL_015b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0160: Unknown result type (might be due to invalid IL or missing references)
			whichpannel = 1;
			((Vector2)(ref scrollPosition))[0] = 0f;
			((Vector2)(ref TabscrollPosition))[0] = 0f;
			RefreshBaseSize = true;
			ColorChanged = true;
			stackmultipleStr = Multifunction.StackMultiple.Value.ToString();
			menus = new string[8] { "", "人物", "战斗", "建筑", "星球", "戴森球", "其它功能", "机甲物流" };
			TextColor = Multifunction.Textcolor.Value;
			MainWindowTextureColor = Multifunction.mainWindowTextureColor_config.Value;
			MainWindowTexture = new Texture2D(10, 10);
			selectedTexture = new Texture2D(1, 1);
			selectedTexture.SetPixel(0, 0, new Color(10f / 51f, 10f / 51f, 10f / 51f));
			selectedTexture.Apply();
			mainWindowTexture.SetPixels(Enumerable.Repeat<Color>(MainWindowTextureColor, 100).ToArray());
			mainWindowTexture.Apply();
			mainWindowWidth = Multifunction.MainWindow_width.Value;
			mainWindowHeight = Multifunction.MainWindow_height.Value;
			textColor = Multifunction.Textcolor.Value;
			MainWindow_x = Multifunction.MainWindow_x_config.Value;
			MainWindow_y = Multifunction.MainWindow_y_config.Value;
		}

		public void MainWindowKeyInvoke()
		{
			DisplayingWindow = !DisplayingWindow;
			if (DisplayingWindow)
			{
				firstDraw = true;
			}
			ui_MultiFunctionPanel.SetActive(DisplayingWindow);
		}

		public void OpenMainWindow()
		{
			DisplayingWindow = true;
			ui_MultiFunctionPanel.SetActive(true);
		}

		public void CloseMainWindow()
		{
			DisplayingWindow = false;
			ui_MultiFunctionPanel.SetActive(false);
		}

		public void Draw()
		{
			//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_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e1: Expected O, but got Unknown
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f6: Expected O, but got Unknown
			//IL_0115: 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_0126: Unknown result type (might be due to invalid IL or missing references)
			//IL_0130: Expected O, but got Unknown
			//IL_0131: Unknown result type (might be due to invalid IL or missing references)
			//IL_013b: Expected O, but got Unknown
			//IL_0159: Unknown result type (might be due to invalid IL or missing references)
			//IL_015e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0163: Unknown result type (might be due to invalid IL or missing references)
			//IL_016d: Expected O, but got Unknown
			//IL_0173: Expected O, but got Unknown
			//IL_02f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_030d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0328: 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_035e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0375: Unknown result type (might be due to invalid IL or missing references)
			//IL_038c: Unknown result type (might be due to invalid IL or missing references)
			//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ef: 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_0416: Expected O, but got Unknown
			//IL_0411: Unknown result type (might be due to invalid IL or missing references)
			if (firstDraw)
			{
				firstDraw = false;
				BaseSize = GUI.skin.label.fontSize;
			}
			if (DisplayingWindow && Input.GetKey((KeyCode)306))
			{
				int num = (int)(Input.GetAxis("Mouse Wheel") * 10f);
				int num2 = BaseSize + num;
				if (Input.GetKeyDown((KeyCode)273))
				{
					num2++;
				}
				if (Input.GetKeyDown((KeyCode)274))
				{
					num2--;
				}
				num2 = Math.Max(5, Math.Min(num2, 35));
				BaseSize = num2;
			}
			if (style == null)
			{
				style = new GUIStyle
				{
					wordWrap = true,
					fontSize = baseSize - 2
				};
				selectedButtonStyle = new GUIStyle(GUI.skin.button);
				selectedButtonStyle.normal.textColor = Color32.op_Implicit(new Color32((byte)215, (byte)186, (byte)245, byte.MaxValue));
				normalStyle = new GUIStyle();
				selectedIconStyle = new GUIStyle();
				selectedIconStyle.normal.background = selectedTexture;
				labelmarginStyle = new GUIStyle(style)
				{
					margin = new RectOffset(0, 0, 3, 0)
				};
			}
			if (RefreshBaseSize)
			{
				RefreshBaseSize = false;
				GUI.skin.label.fontSize = BaseSize;
				GUI.skin.button.fontSize = BaseSize;
				GUI.skin.toggle.fontSize = BaseSize;
				GUI.skin.textField.fontSize = BaseSize;
				GUI.skin.textArea.fontSize = BaseSize;
				style.fontSize = BaseSize;
				labelmarginStyle.fontSize = BaseSize;
				slideroptions = (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width((float)(heightdis * 6)) };
				MoreWidthslideroptions = (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width((float)(heightdis * 8)) };
				textfieldoptions = (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width((float)(heightdis * 3)) };
				menusbuttonoptions = (GUILayoutOption[])(object)new GUILayoutOption[2]
				{
					GUILayout.Height((float)heightdis),
					GUILayout.Width((float)(heightdis * 4))
				};
				iconbuttonoptions = (GUILayoutOption[])(object)new GUILayoutOption[2]
				{
					GUILayout.Height((float)heightdis),
					GUILayout.Width((float)heightdis)
				};
			}
			if (ColorChanged)
			{
				ColorChanged = false;
				GUI.skin.button.normal.textColor = TextColor;
				GUI.skin.textArea.normal.textColor = TextColor;
				GUI.skin.textField.normal.textColor = TextColor;
				GUI.skin.toggle.normal.textColor = TextColor;
				GUI.skin.toggle.onNormal.textColor = TextColor;
				style.normal.textColor = TextColor;
				labelmarginStyle.normal.textColor = TextColor;
			}
			if (DisplayingWindow)
			{
				UIPanelSet();
				MoveWindow();
				Scaling_window();
				Rect val = default(Rect);
				((Rect)(ref val))..ctor(MainWindow_x, MainWindow_y, MainWindowWidth, MainWindowHeight);
				GUI.DrawTexture(val, (Texture)(object)mainWindowTexture);
				GUI.Window(20210218, val, new WindowFunction(MainWindow), "OP面板".getTranslate() + "(3.4.5)ps:ctrl+↑↓");
				if (MainWindow_x < 0f || MainWindow_x > (float)Screen.width)
				{
					MainWindow_x = 100f;
				}
				if (MainWindow_y < 0f || MainWindow_y > (float)Screen.height)
				{
					MainWindow_y = 100f;
				}
			}
		}

		private void UIPanelSet()
		{
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: 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_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: 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)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			RectTransform component = ui_MultiFunctionPanel.GetComponent<RectTransform>();
			RectTransform component2 = ((Component)UIRoot.instance.overlayCanvas).GetComponent<RectTransform>();
			float num = component2.sizeDelta.x * 1f / (float)Screen.width;
			float num2 = component2.sizeDelta.y * 1f / (float)Screen.height;
			component.sizeDelta = new Vector2(num * MainWindowWidth, num2 * MainWindowHeight);
			((Transform)component).localPosition = Vector2.op_Implicit(new Vector2((0f - component2.sizeDelta.x) / 2f + MainWindow_x * num, component2.sizeDelta.y / 2f - MainWindow_y * num2 - component.sizeDelta.y));
		}

		private void MainWindow(int winId)
		{
			//IL_0017: 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)
			//IL_00e4: 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)
			GUILayout.BeginArea(new Rect(10f, 20f, MainWindowWidth, MainWindowHeight));
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			for (int i = 1; i <= 7; i++)
			{
				if (whichpannel == i)
				{
					GUILayout.Button(menus[i].getTranslate(), selectedButtonStyle, menusbuttonoptions);
				}
				else if (GUILayout.Button(menus[i].getTranslate(), menusbuttonoptions))
				{
					whichpannel = i;
				}
			}
			GUILayout.EndHorizontal();
			scrollPosition = GUILayout.BeginScrollView(scrollPosition, (GUILayoutOption[])(object)new GUILayoutOption[2]
			{
				GUILayout.Width(MainWindowWidth - 20f),
				GUILayout.Height(MainWindowHeight - (float)(heightdis * 2))
			});
			switch (whichpannel)
			{
			case 1:
				PlayerPannel();
				break;
			case 2:
				BattlePannel();
				break;
			case 3:
				BuildPannel();
				break;
			case 4:
				PlanetPannel();
				break;
			case 5:
				DysonPannel();
				break;
			case 6:
				OtherPannel();
				break;
			case 7:
				LogisticsPannel();
				break;
			}
			GUILayout.EndScrollView();
			GUILayout.EndVertical();
			GUILayout.EndArea();
		}

		public float PropertyDataUIDraw(float num, float left, float right, string propertyName, int resulttype = 0, bool morewidth = false)
		{
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			float result = GUILayout.HorizontalSlider(num, left, right, morewidth ? MoreWidthslideroptions : slideroptions);
			string text;
			switch (resulttype)
			{
			case 0:
				text = ((int)result).ToString() ?? "";
				break;
			case 1:
				text = TGMKinttostring(GameMain.mainPlayer.mecha.reactorPowerGen, "W");
				break;
			case 2:
				text = $"{result:N2}";
				break;
			case 3:
				text = TGMKinttostring(result, "J");
				break;
			default:
				return 0f;
			}
			string text2 = GUILayout.TextField(text, textfieldoptions);
			if (text2 != text)
			{
				if (resulttype != 0)
				{
					result = ConvertToNumber(text2);
				}
				else
				{
					float.TryParse(Regex.Replace(text2, "^[^0-9]", ""), out result);
				}
			}
			GUILayout.Label(propertyName.getTranslate(), labelmarginStyle, Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			return Math.Max(left, Math.Min(right, result));
		}

		private static float ConvertToNumber(string input)
		{
			string text = "";
			string text2 = "";
			bool flag = false;
			for (int i = 0; i < input.Length; i++)
			{
				char c = input[i];
				if (char.IsDigit(c))
				{
					text += c;
				}
				else if (c == '.')
				{
					if (!flag)
					{
						flag = true;
						text += c;
					}
				}
				else
				{
					text2 += c;
				}
			}
			input = text2;
			string text3 = input.Replace(text, "").Replace(".", "").Replace("W", "")
				.Replace("J", "");
			float num = float.Parse(text);
			string text4 = text3;
			string text5 = text4;
			if (text5 == null || text5.Length != 0)
			{
				switch (text5)
				{
				case "K":
					num *= 1000f;
					break;
				case "M":
					num *= 1000000f;
					break;
				case "G":
					num *= 1E+09f;
					break;
				case "T":
					num *= 1E+12f;
					break;
				}
			}
			return num;
		}

		private void PlayerPannel()
		{
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.BeginVertical((GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width((float)(Multifunction.IsEnglish ? (18 * heightdis) : (14 * heightdis))) });
			if (GameMain.mainPlayer != null && Multifunction.propertyData != null)
			{
				PropertyData propertyData = Multifunction.propertyData;
				if (ChangePlayerbool != GUILayout.Toggle(ChangePlayerbool, "启动属性修改".getTranslate(), Array.Empty<GUILayoutOption>()))
				{
					ChangePlayerbool = !ChangePlayerbool;
					if (ChangePlayerbool)
					{
						Multifunction.propertyData.SetContent(Multifunction.player.mecha, GameMain.history, Multifunction.player.deliveryPackage.stackSizeMultiplier);
					}
				}
				if (ChangePlayerbool)
				{
					propertyData.WalkSpeed = PropertyDataUIDraw(propertyData.WalkSpeed, 1f, 100f, "走路速度", 2);
					propertyData.TechSpeed = PropertyDataUIDraw(propertyData.TechSpeed, 1f, 10000f, "研发速度");
					propertyData.DroneSpeed = PropertyDataUIDraw(propertyData.DroneSpeed, 1f, 100f, "小飞机速度");
					propertyData.DroneCount = PropertyDataUIDraw(propertyData.DroneCount, 1f, 256f, "小飞机数量");
					propertyData.MaxSailSpeed = PropertyDataUIDraw(propertyData.MaxSailSpeed, 1f, 10f, "最大航行速度");
					propertyData.MaxWarpSpeed = PropertyDataUIDraw(propertyData.MaxWarpSpeed, 1f, 100f, "最大曲速");
					propertyData.BuildArea = PropertyDataUIDraw(propertyData.BuildArea, 80f, 400f, "建造范围");
					propertyData.ReactorPowerGen = PropertyDataUIDraw(propertyData.ReactorPowerGen, 800000f, 1E+10f, "核心功率", 1);
					propertyData.LogisticCourierSpeed = PropertyDataUIDraw(propertyData.LogisticCourierSpeed, 1f, 100f, "配送机速度");
					propertyData.LogisticDroneSpeedScale = PropertyDataUIDraw(propertyData.LogisticDroneSpeedScale, 1f, 10000f, "运输机速度", 2);
					propertyData.LogisticShipSpeedScale = PropertyDataUIDraw(propertyData.LogisticShipSpeedScale, 1f, 10000f, "运输船速度", 2);
					propertyData.LogisticCourierCarries = PropertyDataUIDraw(propertyData.LogisticCourierCarries, 1f, 10000f, "配送机载量");
					propertyData.LogisticDroneCarries = PropertyDataUIDraw(propertyData.LogisticDroneCarries, 20f, 10000f, "运输机载量");
					propertyData.LogisticShipCarries = PropertyDataUIDraw(propertyData.LogisticShipCarries, 100f, 100000f, "运输船载量");
					propertyData.MiningSpeedScale = PropertyDataUIDraw(propertyData.MiningSpeedScale, 1f, 10000f, "采矿机速度倍率", 2);
					propertyData.LabLevel = PropertyDataUIDraw(propertyData.LabLevel, 2f, 100f, "建筑堆叠高度");
					propertyData.StorageLevel = PropertyDataUIDraw(propertyData.StorageLevel, 1f, 20f, "货物集装数量");
					propertyData.StackSizeMultiplier = PropertyDataUIDraw(propertyData.StackSizeMultiplier, 1f, 20f, "物流背包堆叠倍率");
				}
				else
				{
					PropertyDataUIDraw(propertyData.WalkSpeed, 1f, 100f, "走路速度", 2);
					PropertyDataUIDraw(propertyData.TechSpeed, 1f, 10000f, "研发速度");
					PropertyDataUIDraw(propertyData.DroneSpeed, 1f, 100f, "小飞机速度");
					PropertyDataUIDraw(propertyData.DroneCount, 1f, 400f, "小飞机数量");
					PropertyDataUIDraw(propertyData.MaxSailSpeed, 1f, 10f, "最大航行速度");
					PropertyDataUIDraw(propertyData.MaxWarpSpeed, 1f, 100f, "最大曲速");
					PropertyDataUIDraw(propertyData.BuildArea, 80f, 400f, "建造范围");
					PropertyDataUIDraw(propertyData.ReactorPowerGen, 1000000f, 1E+10f, "核心功率", 1);
					PropertyDataUIDraw(propertyData.LogisticCourierSpeed, 1f, 100f, "配送机速度");
					PropertyDataUIDraw(propertyData.LogisticDroneSpeedScale, 1f, 10000f, "运输机速度", 2);
					PropertyDataUIDraw(propertyData.LogisticShipSpeedScale, 1f, 10000f, "运输船速度", 2);
					PropertyDataUIDraw(propertyData.LogisticCourierCarries, 1f, 10000f, "配送机载量");
					PropertyDataUIDraw(propertyData.LogisticDroneCarries, 20f, 10000f, "运输机载量");
					PropertyDataUIDraw(propertyData.LogisticShipCarries, 100f, 100000f, "运输船载量");
					PropertyDataUIDraw(propertyData.MiningSpeedScale, 1f, 10000f, "采矿机速度倍率", 2);
					PropertyDataUIDraw(propertyData.LabLevel, 2f, 100f, "建筑堆叠高度");
					PropertyDataUIDraw(propertyData.StorageLevel, 1f, 20f, "货物集装数量");
					PropertyDataUIDraw(propertyData.StackSizeMultiplier, 1f, 20f, "物流背包堆叠倍率");
				}
			}
			GUILayout.EndVertical();
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			Multifunction.Infinitething.Value = GUILayout.Toggle(Multifunction.Infinitething.Value, "无限物品".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.InfiniteSand.Value = GUILayout.Toggle(Multifunction.InfiniteSand.Value, "无限沙土".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.Property9999999 = GUILayout.Toggle(Multifunction.Property9999999, "无限元数据".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.DroneNoenergy_bool.Value = GUILayout.Toggle(Multifunction.DroneNoenergy_bool.Value, "小飞机不耗能".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.Infiniteplayerpower.Value = GUILayout.Toggle(Multifunction.Infiniteplayerpower.Value, "无限机甲能量".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.EnableTp.Value = GUILayout.Toggle(Multifunction.EnableTp.Value, "启用传送".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.unlockpointtech = GUILayout.Toggle(Multifunction.unlockpointtech, "科技点击解锁".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.dismantle_but_nobuild.Value = GUILayout.Toggle(Multifunction.dismantle_but_nobuild.Value, "不往背包放东西".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.MiddleMouseLockGrid.Value = GUILayout.Toggle(Multifunction.MiddleMouseLockGrid.Value, "鼠标中键锁定玩家背包格子Max".getTranslate(), Array.Empty<GUILayoutOption>());
			if (Multifunction.QuickHandcraft.Value != GUILayout.Toggle(Multifunction.QuickHandcraft.Value, "机甲制造MAX".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				Multifunction.QuickHandcraft.Value = !Multifunction.QuickHandcraft.Value;
				if (Multifunction.QuickHandcraft.Value)
				{
					GameMain.mainPlayer.mecha.replicateSpeed = 100f;
				}
				else
				{
					GameMain.mainPlayer.mecha.replicateSpeed = Configs.freeMode.mechaMiningSpeed;
				}
			}
			if (Multifunction.QuickPlayerMine.Value != GUILayout.Toggle(Multifunction.QuickPlayerMine.Value, "机甲采矿MAX".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				Multifunction.QuickPlayerMine.Value = !Multifunction.QuickPlayerMine.Value;
				if (Multifunction.QuickPlayerMine.Value)
				{
					GameMain.mainPlayer.mecha.miningSpeed = 100f;
				}
				else
				{
					GameMain.mainPlayer.mecha.miningSpeed = Configs.freeMode.mechaReplicateSpeed;
				}
			}
			Multifunction.isInstantItem.Value = GUILayout.Toggle(Multifunction.isInstantItem.Value, "直接获取物品".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.noneedwarp.Value = GUILayout.Toggle(Multifunction.noneedwarp.Value, "无需翘曲器曲速飞行".getTranslate(), Array.Empty<GUILayoutOption>());
			if (GUILayout.Button("清空背包".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				MainFunction.Clearpackage();
			}
			if (GUILayout.Button("初始化玩家".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				MainFunction.InitPlayer();
			}
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.Button("背包".getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)(heightdis * 2)) });
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			if (GUILayout.Button("加一行".getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) }))
			{
				MainFunction.Operatepackagesize(1, 0);
			}
			if (GUILayout.Button("加一列".getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) }))
			{
				MainFunction.Operatepackagesize(0, 1);
			}
			GUILayout.EndVertical();
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			if (GUILayout.Button("减一行".getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) }))
			{
				MainFunction.Operatepackagesize(1, 0, add: false);
			}
			if (GUILayout.Button("减一列".getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) }))
			{
				MainFunction.Operatepackagesize(0, 1, add: false);
			}
			GUILayout.EndVertical();
			GUILayout.EndHorizontal();
			if (GUILayout.Button("解锁全部科技".getTranslate() + "(" + "补充原料".getTranslate() + ")", Array.Empty<GUILayoutOption>()))
			{
				MainFunction.UnlockallTech(addstat: true);
			}
			if (GUILayout.Button("解锁全部科技".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				MainFunction.UnlockallTech();
			}
			if (GUILayout.Button("回退无穷科技".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				MainFunction.lockTech();
			}
			GUILayout.EndVertical();
			GUILayout.FlexibleSpace();
			GUILayout.EndHorizontal();
		}

		private void BattlePannel()
		{
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			Multifunction.LockPlayerHp.Value = GUILayout.Toggle(Multifunction.LockPlayerHp.Value, "玩家锁血".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.LockBuildHp.Value = GUILayout.Toggle(Multifunction.LockBuildHp.Value, "建筑锁血".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.LockEnemyHp.Value = GUILayout.Toggle(Multifunction.LockEnemyHp.Value, "怪物锁血".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.PlayerQuickAttack.Value = GUILayout.Toggle(Multifunction.PlayerQuickAttack.Value, "玩家攻速Max".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.PlayerFakeDeath.Value = GUILayout.Toggle(Multifunction.PlayerFakeDeath.Value, "玩家隐身".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.TurrentKeepSuperNoval.Value = GUILayout.Toggle(Multifunction.TurrentKeepSuperNoval.Value, "炮塔永久超新星".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.Space(20f);
			Multifunction.TurrentKeepSuperNovalQuickKey.Value = GUILayout.Toggle(Multifunction.TurrentKeepSuperNovalQuickKey.Value, "启用快捷键(ctrl+s)".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			Multifunction.ClickGenerateDFRelay = GUILayout.Toggle(Multifunction.ClickGenerateDFRelay, "点击生成中继站".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.ClickKillEnemy.Value = GUILayout.Toggle(Multifunction.ClickKillEnemy.Value, "点击杀死敌人".getTranslate(), Array.Empty<GUILayoutOption>());
			if (Multifunction.ClickKillEnemy.Value)
			{
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				GUILayout.Label("点击模式".getTranslate(), Array.Empty<GUILayoutOption>());
				bool flag = GUILayout.Toggle(Multifunction.ClickKillEnemyMode.Value == 0, "点按".getTranslate(), Array.Empty<GUILayoutOption>());
				bool flag2 = GUILayout.Toggle(Multifunction.ClickKillEnemyMode.Value == 1, "按压".getTranslate(), Array.Empty<GUILayoutOption>());
				if (flag && Multifunction.ClickKillEnemyMode.Value == 1)
				{
					Multifunction.ClickKillEnemyMode.Value = 0;
				}
				else if (flag2 && Multifunction.ClickKillEnemyMode.Value == 0)
				{
					Multifunction.ClickKillEnemyMode.Value = 1;
				}
				GUILayout.EndHorizontal();
				Multifunction.ClickKillEnemyBaseChain = GUILayout.Toggle(Multifunction.ClickKillEnemyBaseChain, "基地核心连锁拆除".getTranslate(), Array.Empty<GUILayoutOption>());
			}
			Multifunction.LocalAlwaysClearThreat.Value = GUILayout.Toggle(Multifunction.LocalAlwaysClearThreat.Value, "星球永远0威胁".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.LocalAlwaysMaxThreat.Value = GUILayout.Toggle(Multifunction.LocalAlwaysMaxThreat.Value, "玩家所在星球永远满威胁".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.SpaceAlwaysClearThreat.Value = GUILayout.Toggle(Multifunction.SpaceAlwaysClearThreat.Value, "太空永远0威胁".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.SpaceAlwaysMaxThreat.Value = GUILayout.Toggle(Multifunction.SpaceAlwaysMaxThreat.Value, "玩家所在星系永远满威胁".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.ModifyDarkFogLevel.Value = GUILayout.Toggle(Multifunction.ModifyDarkFogLevel.Value, "调整黑雾怪物等级".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.Label("黑雾怪物等级".getTranslate() + ":" + Multifunction.ModifyDarkFogLevelValue.Value, style, Array.Empty<GUILayoutOption>());
			Multifunction.ModifyDarkFogLevelValue.Value = (int)GUILayout.HorizontalSlider((float)Multifunction.ModifyDarkFogLevelValue.Value, 0f, 30f, Array.Empty<GUILayoutOption>());
			if (GUILayout.Button("设置当前星球黑雾等级", Array.Empty<GUILayoutOption>()))
			{
				ObjectPool<DFGBaseComponent> val = GameMain.localPlanet?.factory?.enemySystem?.bases;
				if (val != null)
				{
					for (int i = 1; i < val.cursor; i++)
					{
						DFGBaseComponent val2 = val[i];
						if (val2 != null && val2.id == i)
						{
							Debug.Log((object)i);
							val2.evolve.level = Multifunction.ModifyDarkFogLevelValue.Value;
						}
					}
				}
			}
			if (GUILayout.Button("设置当前星系太空黑雾等级", Array.Empty<GUILayoutOption>()) && GameMain.localStar != null)
			{
				EnemyDFHiveSystem[] array = GameMain.data?.spaceSector?.dfHives;
				if (array != null)
				{
					EnemyDFHiveSystem[] array2 = array;
					foreach (EnemyDFHiveSystem val3 in array2)
					{
						if (val3 != null && val3.starData != null && val3.starData.id == GameMain.localStar.id)
						{
							val3.evolve.level = Multifunction.ModifyDarkFogLevelValue.Value;
						}
					}
				}
			}
			GUILayout.EndVertical();
			GUILayout.Space(10f);
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			PropertyData propertyData = Multifunction.propertyData;
			if (GameMain.mainPlayer != null && Multifunction.propertyData != null)
			{
				if (ChangePlayerbool != GUILayout.Toggle(ChangePlayerbool, "启动属性修改".getTranslate(), Array.Empty<GUILayoutOption>()))
				{
					ChangePlayerbool = !ChangePlayerbool;
					if (ChangePlayerbool)
					{
						Multifunction.propertyData.SetContent(Multifunction.player.mecha, GameMain.history, Multifunction.player.deliveryPackage.stackSizeMultiplier);
					}
				}
				ModeConfig freeMode = Configs.freeMode;
				if (ChangePlayerbool)
				{
					propertyData.KineticDamageScale = PropertyDataUIDraw(propertyData.KineticDamageScale, 1f, 100f, "动能武器伤害系数", 2, morewidth: true);
					propertyData.EnergyDamageScale = PropertyDataUIDraw(propertyData.EnergyDamageScale, 1f, 100f, "能量武器伤害系数", 2, morewidth: true);
					propertyData.BlastDamageScale = PropertyDataUIDraw(propertyData.BlastDamageScale, 1f, 100f, "爆破武器伤害系数", 2, morewidth: true);
					propertyData.MagneticDamageScale = PropertyDataUIDraw(propertyData.MagneticDamageScale, 1f, 100f, "电磁武器伤害系数", 2, morewidth: true);
					propertyData.GlobalHpEnhancement = PropertyDataUIDraw(propertyData.GlobalHpEnhancement, 0f, 100f, "全局耐久度倍率", 2, morewidth: true);
					propertyData.EnemyDropScale = PropertyDataUIDraw(propertyData.EnemyDropScale, 0f, 1000f, "残骸产出倍率", 2, morewidth: true);
					propertyData.EnergyShieldRadius = PropertyDataUIDraw(propertyData.EnergyShieldRadius, freeMode.energyShieldRadius, 450f, "玩家护盾半径", 2, morewidth: true);
					propertyData.EnergyShieldCapacity = (long)PropertyDataUIDraw(propertyData.EnergyShieldCapacity, freeMode.energyShieldCapacity, 1E+11f, "玩家护盾能量上限", 3, morewidth: true);
					propertyData.HpMaxUpgrade = (int)PropertyDataUIDraw(propertyData.HpMaxUpgrade, 0f, 100000f, "玩家额外血量", 0, morewidth: true);
					propertyData.LaserAttackLocalRange = PropertyDataUIDraw(propertyData.LaserAttackLocalRange, freeMode.mechaLocalLaserAttackRange, 150f, "机甲激光本地攻击范围", 2, morewidth: true);
					propertyData.LaserAttackSpaceRange = PropertyDataUIDraw(propertyData.LaserAttackSpaceRange, freeMode.mechaSpaceLaserAttackRange, 15000f, "机甲激光太空攻击范围", 2, morewidth: true);
					propertyData.LaserAttackDamage = PropertyDataUIDraw(propertyData.LaserAttackDamage, 0f, 10000f, "机甲激光伤害", 2, morewidth: true);
					propertyData.LaserEnergyCost = PropertyDataUIDraw(propertyData.LaserEnergyCost, 0f, freeMode.mechaLocalLaserEnergyCost, "机甲激光消耗能量", 3, morewidth: true);
					propertyData.CombatDroneDamageRatio = PropertyDataUIDraw(propertyData.CombatDroneDamageRatio, 1f, 100f, "战斗飞机伤害倍率", 2, morewidth: true);
					propertyData.CombatDroneROFRatio = PropertyDataUIDraw(propertyData.CombatDroneROFRatio, 1f, 100f, "战斗飞机攻击速度倍率", 2, morewidth: true);
					propertyData.CombatDroneDurabilityRatio = PropertyDataUIDraw(propertyData.CombatDroneDurabilityRatio, 1f, 100f, "战斗飞机耐久度倍率", 2, morewidth: true);
					propertyData.CombatDroneSpeedRatio = PropertyDataUIDraw(propertyData.CombatDroneSpeedRatio, 1f, 100f, "战斗飞机速度倍率", 2, morewidth: true);
					propertyData.CombatShipDamageRatio = PropertyDataUIDraw(propertyData.CombatShipDamageRatio, 1f, 100f, "战斗飞船伤害倍率", 2, morewidth: true);
					propertyData.CombatShipROFRatio = PropertyDataUIDraw(propertyData.CombatShipROFRatio, 1f, 100f, "战斗飞船攻击速度倍率", 2, morewidth: true);
					propertyData.CombatShipDurabilityRatio = PropertyDataUIDraw(propertyData.CombatShipDurabilityRatio, 1f, 100f, "战斗飞船耐久度倍率", 2, morewidth: true);
					propertyData.CombatShipSpeedRatio = PropertyDataUIDraw(propertyData.CombatShipSpeedRatio, 1f, 100f, "战斗飞船速度倍率", 2, morewidth: true);
					propertyData.PlanetaryATFieldEnergyRate = (int)PropertyDataUIDraw(propertyData.PlanetaryATFieldEnergyRate, 1f, 100f, "星球防御盾能量倍率", 2, morewidth: true);
				}
				else
				{
					PropertyDataUIDraw(propertyData.KineticDamageScale, 1f, 100f, "动能武器伤害系数", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.EnergyDamageScale, 1f, 100f, "能量武器伤害系数", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.BlastDamageScale, 1f, 100f, "爆破武器伤害系数", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.MagneticDamageScale, 1f, 100f, "电磁武器伤害系数", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.GlobalHpEnhancement, 0f, 100f, "全局耐久度倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.EnemyDropScale, 0f, 1000f, "残骸产出倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.EnergyShieldRadius, freeMode.energyShieldRadius, 450f, "玩家护盾半径", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.EnergyShieldCapacity, freeMode.energyShieldCapacity, 1E+11f, "玩家护盾能量上限", 3, morewidth: true);
					PropertyDataUIDraw(propertyData.HpMaxUpgrade, 0f, 100000f, "玩家额外血量", 1, morewidth: true);
					PropertyDataUIDraw(propertyData.LaserAttackLocalRange, freeMode.mechaLocalLaserAttackRange, 150f, "机甲激光本地攻击范围", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.LaserAttackSpaceRange, freeMode.mechaSpaceLaserAttackRange, 15000f, "机甲激光太空攻击范围", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.LaserAttackDamage, 0f, 10000f, "机甲激光伤害", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.LaserEnergyCost, 0f, freeMode.mechaLocalLaserEnergyCost, "机甲激光消耗能量", 3, morewidth: true);
					PropertyDataUIDraw(propertyData.CombatDroneDamageRatio, 1f, 100f, "战斗飞机伤害倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.CombatDroneROFRatio, 1f, 100f, "战斗飞机攻击速度倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.CombatDroneDurabilityRatio, 1f, 100f, "战斗飞机耐久度倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.CombatDroneSpeedRatio, 1f, 100f, "战斗飞机速度倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.CombatShipDamageRatio, 1f, 100f, "战斗飞船伤害倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.CombatShipROFRatio, 1f, 100f, "战斗飞船攻击速度倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.CombatShipDurabilityRatio, 1f, 100f, "战斗飞船耐久度倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.CombatShipSpeedRatio, 1f, 100f, "战斗飞船速度倍率", 2, morewidth: true);
					PropertyDataUIDraw(propertyData.PlanetaryATFieldEnergyRate, 1f, 100f, "星球防御盾能量倍率", 2, morewidth: true);
				}
			}
			GUILayout.EndVertical();
			GUILayout.EndHorizontal();
		}

		private void BuildPannel()
		{
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			GUILayout.Label("物流站功能".getTranslate() + ":", style, Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.Space((float)BaseSize);
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			GUILayout.Label("额外存储倍率".getTranslate() + ":" + Multifunction.StationStoExtra.Value, style, Array.Empty<GUILayoutOption>());
			Multifunction.StationStoExtra.Value = (int)GUILayout.HorizontalSlider((float)Multifunction.StationStoExtra.Value, 0f, 100f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width((float)(heightdis * 4)) });
			Multifunction.Stationfullenergy.Value = GUILayout.Toggle(Multifunction.Stationfullenergy.Value, "永久满电".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.StationfullCount = GUILayout.Toggle(Multifunction.StationfullCount, "要啥有啥".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.StationMaxproliferator.Value = GUILayout.Toggle(Multifunction.StationMaxproliferator.Value, "无限增产".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.StationSpray.Value = GUILayout.Toggle(Multifunction.StationSpray.Value, "内置喷涂".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.StationPowerGen.Value = GUILayout.Toggle(Multifunction.StationPowerGen.Value, "内置发电".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.Station_infiniteWarp_bool.Value = GUILayout.Toggle(Multifunction.Station_infiniteWarp_bool.Value, "无限翘曲".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.build_station_nocondition.Value = GUILayout.Toggle(Multifunction.build_station_nocondition.Value, "建造无需条件".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.Label("以下功能需改名".getTranslate() + ":", style, Array.Empty<GUILayoutOption>());
			Multifunction.StationfullCount_bool.Value = GUILayout.Toggle(Multifunction.StationfullCount_bool.Value, "星球无限供货机".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.StationTrash.Value = GUILayout.Toggle(Multifunction.StationTrash.Value, "垃圾站".getTranslate(), Array.Empty<GUILayoutOption>());
			if (Multifunction.StationTrash.Value)
			{
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				GUILayout.Space((float)BaseSize);
				Multifunction.needtrashsand.Value = GUILayout.Toggle(Multifunction.needtrashsand.Value, "需要沙土".getTranslate(), Array.Empty<GUILayoutOption>());
				GUILayout.EndHorizontal();
			}
			Multifunction.StationMiner.Value = GUILayout.Toggle(Multifunction.StationMiner.Value, "星球矿机".getTranslate(), Array.Empty<GUILayoutOption>());
			if (Multifunction.StationMiner.Value)
			{
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				GUILayout.Space((float)BaseSize);
				GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
				GUILayout.Label("采矿速率".getTranslate() + ":" + Multifunction.Stationminenumber.Value, style, Array.Empty<GUILayoutOption>());
				Multifunction.Stationminenumber.Value = (int)GUILayout.HorizontalSlider((float)Multifunction.Stationminenumber.Value, 1f, 100f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width((float)(heightdis * 4)) });
				GUILayout.EndVertical();
				GUILayout.EndHorizontal();
			}
			Multifunction.StationSprayer.Value = GUILayout.Toggle(Multifunction.StationSprayer.Value, "喷涂加工厂".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.StationMinerSmelter.Value = GUILayout.Toggle(Multifunction.StationMinerSmelter.Value, "星球熔炉矿机".getTranslate(), Array.Empty<GUILayoutOption>());
			if (Multifunction.StationMinerSmelter.Value)
			{
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				GUILayout.Space((float)BaseSize);
				GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
				GUILayout.Label("等价高级熔炉数量".getTranslate() + ":" + Multifunction.StationMinerSmelterNum.Value, style, Array.Empty<GUILayoutOption>());
				int num = (int)GUILayout.HorizontalSlider((float)Multifunction.StationMinerSmelterNum.Value, 30f, 1000f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width((float)(heightdis * 4)) });
				if (num % 100 <= num % 30)
				{
					Multifunction.StationMinerSmelterNum.Value = num / 100 * 100;
				}
				else
				{
					Multifunction.StationMinerSmelterNum.Value = num / 30 * 30;
				}
				GUILayout.EndVertical();
				GUILayout.EndHorizontal();
			}
			GUILayout.Label("自动改名".getTranslate() + ":", style, Array.Empty<GUILayoutOption>());
			string[] array = new string[7] { "星球无限供货机", "垃圾站", "星球矿机", "喷涂加工厂", "星球熔炉矿机", "星球量子传输站", "星系量子传输站" };
			for (int i = 0; i < array.Length; i++)
			{
				bool flag = GUILayout.Toggle(Multifunction.AutoChangeStationName.Value == array[i], array[i].getTranslate(), Array.Empty<GUILayoutOption>());
				if (flag && Multifunction.AutoChangeStationName.Value != array[i])
				{
					Multifunction.AutoChangeStationName.Value = array[i];
				}
				else if (!flag && Multifunction.AutoChangeStationName.Value == array[i])
				{
					Multifunction.AutoChangeStationName.Value = "";
				}
			}
			GUILayout.EndVertical();
			GUILayout.EndHorizontal();
			GUILayout.EndVertical();
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			GUILayout.Label("其它建筑功能".getTranslate() + ":", style, Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.Space((float)BaseSize);
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			GUILayout.Label("建造数量最大值".getTranslate() + ":" + Multifunction.Buildmaxlen.Value, style, Array.Empty<GUILayoutOption>());
			int num2 = (int)GUILayout.HorizontalSlider((float)Multifunction.Buildmaxlen.Value, 15f, 100f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width((float)(heightdis * 4)) });
			if (num2 != Multifunction.Buildmaxlen.Value)
			{
				Multifunction.Buildmaxlen.Value = num2;
				GameMain.mainPlayer.controller.actionBuild.clickTool.dotsSnapped = (Vector3[])(object)new Vector3[num2];
			}
			Multifunction.InspectDisNoLimit.Value = GUILayout.Toggle(Multifunction.InspectDisNoLimit.Value, "操作范围不受限制".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.BuildNotime_bool.Value = GUILayout.Toggle(Multifunction.BuildNotime_bool.Value, "建筑秒完成".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.blueprintpastenoneed_bool.Value = GUILayout.Toggle(Multifunction.blueprintpastenoneed_bool.Value, "蓝图建造无需材料".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.ArchitectMode.Value = GUILayout.Toggle(Multifunction.ArchitectMode.Value, "建筑师模式".getTranslate(), Array.Empty<GUILayoutOption>());
			if (Multifunction.DriftBuildings != GUILayout.Toggle(Multifunction.DriftBuildings, "建筑抬升".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				Multifunction.DriftBuildings = !Multifunction.DriftBuildings;
				if (Multifunction.DriftBuildings && !DriftBuildingsPatch.IsPatched)
				{
					DriftBuildingsPatch.IsPatched = true;
					Multifunctionpatch.harmony.PatchAll(typeof(DriftBuildingsPatch));
				}
			}
			if (Multifunction.DriftBuildings)
			{
				GUILayout.Label("抬升层数:" + Multifunction.DriftBuildingLevel, style, Array.Empty<GUILayoutOption>());
			}
			if (Multifunction.BeltSignalFunction.Value != GUILayout.Toggle(Multifunction.BeltSignalFunction.Value, "传送带信号功能".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				Multifunction.BeltSignalFunction.Value = !Multifunction.BeltSignalFunction.Value;
				if (Multifunction.BeltSignalFunction.Value)
				{
					MainFunction.InitBeltSignalDiction();
				}
			}
			GUILayout.EndVertical();
			GUILayout.EndHorizontal();
			GUILayout.Label("电力设备".getTranslate() + ":", style, Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.Space((float)BaseSize);
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			Multifunction.Buildingnoconsume.Value = GUILayout.Toggle(Multifunction.Buildingnoconsume.Value, "新建设备不耗电".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.InfineteStarPower.Value = GUILayout.Toggle(Multifunction.InfineteStarPower.Value, "人造恒星无限能源".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.PlanetPower_bool.Value = GUILayout.Toggle(Multifunction.PlanetPower_bool.Value, "星球电网(人造恒星)".getTranslate(), Array.Empty<GUILayoutOption>());
			if (Multifunction.PlanetPower_bool.Value)
			{
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				GUILayout.Space((float)BaseSize);
				GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
				Multifunction.PlanetPower_bool.Value = GUILayout.Toggle(Multifunction.PlanetPower_bool.Value, "覆盖全球".getTranslate(), Array.Empty<GUILayoutOption>());
				Multifunction.farconnectdistance = GUILayout.Toggle(Multifunction.farconnectdistance, "超长连接".getTranslate(), Array.Empty<GUILayoutOption>());
				GUILayout.EndVertical();
				GUILayout.EndHorizontal();
			}
			Multifunction.WindturbinesUnlimitedEnergy.Value = GUILayout.Toggle(Multifunction.WindturbinesUnlimitedEnergy.Value, "风力涡轮机无限能源".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.Windturbinescovertheglobe.Value = GUILayout.Toggle(Multifunction.Windturbinescovertheglobe.Value, "风力涡轮机覆盖全球".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.EndVertical();
			GUILayout.EndHorizontal();
			GUILayout.Label("储液站功能".getTranslate() + ":", style, Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.Space((float)BaseSize);
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			Multifunction.Tankcontentall.Value = GUILayout.Toggle(Multifunction.Tankcontentall.Value, "储液站任意存".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.Infinitestoragetank.Value = GUILayout.Toggle(Multifunction.Infinitestoragetank.Value, "无限储液站".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.TankMaxproliferator.Value = GUILayout.Toggle(Multifunction.TankMaxproliferator.Value, "储液站无限增产".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.EndVertical();
			GUILayout.EndHorizontal();
			GUILayout.EndVertical();
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			Multifunction.Quantumtransport_bool.Value = GUILayout.Toggle(Multifunction.Quantumtransport_bool.Value, "量子传输站".getTranslate(), Array.Empty<GUILayoutOption>());
			if (Multifunction.Quantumtransport_bool.Value)
			{
				Multifunction.Quantumtransportpdwarp_bool.Value = GUILayout.Toggle(Multifunction.Quantumtransportpdwarp_bool.Value, "星球级翘曲全面供应".getTranslate(), Array.Empty<GUILayoutOption>());
				Multifunction.Quantumtransportstarwarp_bool.Value = GUILayout.Toggle(Multifunction.Quantumtransportstarwarp_bool.Value, "星系级翘曲全面供应".getTranslate(), Array.Empty<GUILayoutOption>());
				Multifunction.Quantumtransportbuild_bool.Value = GUILayout.Toggle(Multifunction.Quantumtransportbuild_bool.Value, "星球级材料供应".getTranslate(), Array.Empty<GUILayoutOption>());
				if (Multifunction.Quantumtransportbuild_bool.Value)
				{
					GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
					GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportCollectorSupply.Value = GUILayout.Toggle(Multifunction.QuantumtransportCollectorSupply.Value, "采集器拿取", Array.Empty<GUILayoutOption>());
					GUILayout.EndHorizontal();
					GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportstationSupply.Value = GUILayout.Toggle(Multifunction.QuantumtransportstationSupply.Value, "物流站供应", Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportstationDemand.Value = GUILayout.Toggle(Multifunction.QuantumtransportstationDemand.Value, "物流站拿取", Array.Empty<GUILayoutOption>());
					GUILayout.EndHorizontal();
					GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportminerDemand.Value = GUILayout.Toggle(Multifunction.QuantumtransportminerDemand.Value, "矿机拿取", Array.Empty<GUILayoutOption>());
					GUILayout.EndHorizontal();
					GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportsiloDemand.Value = GUILayout.Toggle(Multifunction.QuantumtransportsiloDemand.Value, "发射井弹射器供应", Array.Empty<GUILayoutOption>());
					GUILayout.EndHorizontal();
					GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportlabSupply.Value = GUILayout.Toggle(Multifunction.QuantumtransportlabSupply.Value, "研究站供应", Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportlabDemand.Value = GUILayout.Toggle(Multifunction.QuantumtransportlabDemand.Value, "研究站拿取", Array.Empty<GUILayoutOption>());
					GUILayout.EndHorizontal();
					GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportpowerSupply.Value = GUILayout.Toggle(Multifunction.QuantumtransportpowerSupply.Value, "电力设备供应", Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportpowerDemand.Value = GUILayout.Toggle(Multifunction.QuantumtransportpowerDemand.Value, "电力设备拿取", Array.Empty<GUILayoutOption>());
					GUILayout.EndHorizontal();
					GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportassembleSupply.Value = GUILayout.Toggle(Multifunction.QuantumtransportassembleSupply.Value, "组装机供应", Array.Empty<GUILayoutOption>());
					Multifunction.QuantumtransportassembleDemand.Value = GUILayout.Toggle(Multifunction.QuantumtransportassembleDemand.Value, "组装机拿取", Array.Empty<GUILayoutOption>());
					GUILayout.EndHorizontal();
					GUILayout.EndVertical();
				}
				GUILayoutOption[] array2 = (GUILayoutOption[])(object)new GUILayoutOption[2]
				{
					GUILayout.Height((float)heightdis),
					GUILayout.Width((float)(heightdis * 5))
				};
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				int num3 = (int)GUILayout.HorizontalSlider(Multifunction.planetquamaxpowerpertick.Value, 60f, 10000f, array2);
				GUILayout.Label((num3 > 1000) ? (num3 / 1000 + "G") : (num3 + "MW " + "星球量子充电功率".getTranslate()), style, Array.Empty<GUILayoutOption>());
				GUILayout.EndHorizontal();
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				int num4 = (int)GUILayout.HorizontalSlider(Multifunction.starquamaxpowerpertick.Value, 60f, 10000f, array2);
				GUILayout.Label((num4 > 1000) ? (num4 / 1000 + "G") : (num4 + "MW " + "星系量子充电功率".getTranslate()), style, Array.Empty<GUILayoutOption>());
				GUILayout.EndHorizontal();
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				Multifunction.Quantumenergy.Value = (int)GUILayout.HorizontalSlider((float)Multifunction.Quantumenergy.Value, 0f, 1000000f, array2);
				GUILayout.Label(TGMKinttostring(Multifunction.Quantumenergy.Value, "J") + " " + "量子耗能/个".getTranslate(), style, Array.Empty<GUILayoutOption>());
				GUILayout.EndHorizontal();
				if ((float)num3 != Multifunction.planetquamaxpowerpertick.Value || (float)num4 != Multifunction.starquamaxpowerpertick.Value)
				{
					Multifunction.changequapowerpertick = true;
					Multifunction.planetquamaxpowerpertick.Value = num3;
					Multifunction.starquamaxpowerpertick.Value = num4;
				}
			}
			GUILayout.EndVertical();
			GUILayout.FlexibleSpace();
			GUILayout.EndHorizontal();
		}

		private void PlanetPannel()
		{
			GUILayout.Label("\"生成矿物\":鼠标左键生成矿物,鼠标右键取消。\"删除矿物\":按x键进入拆除模式可拆除矿物。".getTranslate(), style, Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			VeinControlProperty veinproperty = Multifunction.veinproperty;
			veinproperty.DeleteVein = GUILayout.Toggle(veinproperty.DeleteVein, "删除矿物".getTranslate(), Array.Empty<GUILayoutOption>());
			veinproperty.Changeveinpos = GUILayout.Toggle(veinproperty.Changeveinpos, "移动单矿".getTranslate(), Array.Empty<GUILayoutOption>());
			veinproperty.Changeveingrouppos = GUILayout.Toggle(veinproperty.Changeveingrouppos, "移动矿堆".getTranslate(), Array.Empty<GUILayoutOption>());
			veinproperty.NotTidyVein = GUILayout.Toggle(veinproperty.NotTidyVein, "不排列".getTranslate(), Array.Empty<GUILayoutOption>());
			veinproperty.GetallVein = GUILayout.Toggle(veinproperty.GetallVein, "整理所有矿".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.Label("整理为".getTranslate() + veinproperty.VeinLines + "行".getTranslate(), Array.Empty<GUILayoutOption>());
			veinproperty.VeinLines = (int)GUILayout.HorizontalSlider((float)veinproperty.VeinLines, 1f, 20f, Array.Empty<GUILayoutOption>());
			veinproperty.Changexveinspos = GUILayout.Toggle(veinproperty.Changexveinspos, "切割矿脉".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.Label("切割出".getTranslate() + veinproperty.CuttingVeinNumbers + "个".getTranslate(), Array.Empty<GUILayoutOption>());
			veinproperty.CuttingVeinNumbers = (int)GUILayout.HorizontalSlider((float)veinproperty.CuttingVeinNumbers, 2f, 72f, Array.Empty<GUILayoutOption>());
			GUILayout.EndVertical();
			GUILayout.Space((float)heightdis);
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			GUILayoutOption[] array = (GUILayoutOption[])(object)new GUILayoutOption[2]
			{
				GUILayout.Height((float)heightdis),
				GUILayout.Width((float)heightdis)
			};
			int num = 8;
			int num2 = ((ProtoSet<VeinProto>)(object)LDB.veins).dataArray.Length;
			int num3 = num2 / num + ((num2 % num > 0) ? 1 : 0);
			for (int i = 0; i < num3; i++)
			{
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				for (int j = 0; j < num; j++)
				{
					int num4 = i * num + j + 1;
					if (num4 == num2 + 1)
					{
						break;
					}
					ItemProtoSet items = LDB.items;
					object obj;
					if (items == null)
					{
						obj = null;
					}
					else
					{
						ItemProto obj2 = ((ProtoSet<ItemProto>)(object)items).Select(((ProtoSet<VeinProto>)(object)LDB.veins).Select(num4).MiningItem);
						if (obj2 == null)
						{
							obj = null;
						}
						else
						{
							Sprite iconSprite = obj2.iconSprite;
							obj = ((iconSprite != null) ? iconSprite.texture : null);
						}
					}
					if (GUILayout.Button((Texture)obj, (veinproperty.VeinType == num4) ? selectedIconStyle : normalStyle, array))
					{
						veinproperty.VeinType = ((veinproperty.VeinType != num4) ? num4 : 0);
					}
				}
				GUILayout.EndHorizontal();
			}
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.Label("生成矿物模式".getTranslate(), Array.Empty<GUILayoutOption>());
			bool flag = GUILayout.Toggle(veinproperty.AddVeinMode == 0, "点按".getTranslate(), Array.Empty<GUILayoutOption>());
			bool flag2 = GUILayout.Toggle(veinproperty.AddVeinMode == 1, "按压".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			if (flag && veinproperty.AddVeinMode == 1)
			{
				veinproperty.AddVeinMode = 0;
			}
			else if (flag2 && veinproperty.AddVeinMode == 0)
			{
				veinproperty.AddVeinMode = 1;
			}
			if (veinproperty.VeinType == 7)
			{
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				GUILayout.Label("添加油井速率".getTranslate(), Array.Empty<GUILayoutOption>());
				for (int k = 0; k < 3; k++)
				{
					bool flag3 = GUILayout.Toggle(veinproperty.OilAddIntervalBool[k], veinproperty.OilAddIntervalValue[k] + "/s", Array.Empty<GUILayoutOption>());
					if (flag3 != veinproperty.OilAddIntervalBool[k] && flag3)
					{
						veinproperty.SetOilAddInterval(k);
					}
				}
				GUILayout.EndHorizontal();
			}
			else
			{
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				GUILayout.Label("添加矿脉数量".getTranslate(), Array.Empty<GUILayoutOption>());
				bool flag4 = GUILayout.Toggle(veinproperty.AddVeinNumber == 500, "500", Array.Empty<GUILayoutOption>());
				bool flag5 = GUILayout.Toggle(veinproperty.AddVeinNumber != 500, "无穷".getTranslate(), Array.Empty<GUILayoutOption>());
				if (flag4 && veinproperty.AddVeinNumber != 500)
				{
					veinproperty.AddVeinNumber = 500;
				}
				else if (flag5 && veinproperty.AddVeinNumber == 500)
				{
					veinproperty.AddVeinNumber = 1000000000;
				}
				GUILayout.EndHorizontal();
			}
			GUILayout.EndVertical();
			GUILayout.Space((float)heightdis);
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			Multifunction.restorewater = GUILayout.Toggle(Multifunction.restorewater, "还原海洋".getTranslate(), Array.Empty<GUILayoutOption>());
			string[] array2 = new string[8]
			{
				(!Multifunction.restorewater) ? "铺平整个星球" : "还原全部海洋",
				"掩埋全部矿",
				"删除全部矿",
				"超密铺采集器",
				"删除当前星球所有建筑",
				"删除当前星球所有建筑(不掉落)",
				"初始化当前星球",
				"初始化当前星球(不要海洋)"
			};
			for (int l = 0; l < array2.Length; l++)
			{
				if (GUILayout.Button(array2[l].getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) }))
				{
					switch (l)
					{
					case 0:
						MainFunction.OnSetBase();
						break;
					case 1:
						veinproperty.BuryAllvein();
						break;
					case 2:
						veinproperty.RemoveAllvein();
						break;
					case 3:
						MainFunction.SetMaxGasStation();
						break;
					case 4:
						MainFunction.RemoveAllBuild(0);
						break;
					case 5:
						MainFunction.RemoveAllBuild(1);
						break;
					case 6:
						MainFunction.RemoveAllBuild(2);
						break;
					case 7:
						MainFunction.RemoveAllBuild(3);
						break;
					}
				}
			}
			MainFunction.currentPlanetWaterType = GUILayout.TextField(MainFunction.currentPlanetWaterType, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.MinWidth((float)(heightdis * 3)) });
			if (GUILayout.Button("设置当前星球海洋类型".getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) }))
			{
				MainFunction.SetWaterType();
			}
			if (GUILayout.Button("恢复所有星球海洋类型".getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) }))
			{
				MainFunction.RestoreWaterType();
			}
			GUILayout.EndVertical();
			GUILayout.FlexibleSpace();
			GUILayout.EndHorizontal();
		}

		private void DysonPannel()
		{
			//IL_02cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d2: Expected O, but got Unknown
			//IL_06e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e6: Invalid comparison between Unknown and I4
			GUILayout.Label("注意事项:戴森云和戴森壳不要出现一层轨道都没有的情况(用前存档)".getTranslate(), style, Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			if (GameMain.localStar != null && GameMain.data.dysonSpheres != null && GameMain.data.dysonSpheres[GameMain.localStar.index] != null)
			{
				DysonSphere val = GameMain.data.dysonSpheres[GameMain.localStar.index];
				List<int> list = new List<int>();
				DysonSphereLayer[] layersIdBased = GameMain.data.dysonSpheres[GameMain.localStar.index].layersIdBased;
				foreach (DysonSphereLayer val2 in layersIdBased)
				{
					if (val2 != null)
					{
						list.Add(val2.id);
					}
				}
				GUILayout.Label("点击删除下列戴森壳层级".getTranslate(), style, Array.Empty<GUILayoutOption>());
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				for (int j = 1; j <= 5; j++)
				{
					bool flag = list.Contains(j);
					bool flag2 = GUILayout.Button(flag ? j.ToString() : "", iconbuttonoptions);
					if (!(flag2 && flag))
					{
						continue;
					}
					for (int k = 1; k < val.rocketCursor; k++)
					{
						if (val.rocketPool[k].id == k)
						{
							val.RemoveDysonRocket(k);
						}
					}
					val.RemoveLayer(j);
				}
				GUILayout.EndHorizontal();
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				for (int l = 6; l <= 10; l++)
				{
					bool flag3 = list.Contains(l);
					bool flag4 = GUILayout.Button(flag3 ? l.ToString() : "", iconbuttonoptions);
					if (!(flag4 && flag3))
					{
						continue;
					}
					for (int m = 1; m < val.rocketCursor; m++)
					{
						if (val.rocketPool[m].id == m)
						{
							val.RemoveDysonRocket(m);
						}
					}
					val.RemoveLayer(l);
				}
				GUILayout.EndHorizontal();
				if (GUILayout.Button("初始化当前戴森球".getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) }) && GameMain.localStar != null && GameMain.data.dysonSpheres[GameMain.localStar.index] != null)
				{
					int index = GameMain.localStar.index;
					GameMain.data.dysonSpheres[index] = new DysonSphere();
					GameMain.data.dysonSpheres[index].Init(GameMain.data, GameMain.localStar);
					GameMain.data.dysonSpheres[index].ResetNew();
				}
				if (GUILayout.Button("瞬间完成戴森球(用前存档)".getTranslate(), (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) }))
				{
					MainFunction.FinishDysonShell();
				}
			}
			Multifunction.quickEjector = GUILayout.Toggle(Multifunction.quickEjector, "极速轨道弹射器(慎用)".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.quicksilo = GUILayout.Toggle(Multifunction.quicksilo, "极速垂直发射井(慎用)".getTranslate(), Array.Empty<GUILayoutOption>());
			if (Multifunction.cancelsolarbullet.Value != GUILayout.Toggle(Multifunction.cancelsolarbullet.Value, "跳过太阳帆子弹阶段".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				Multifunction.cancelsolarbullet.Value = !Multifunction.cancelsolarbullet.Value;
				Multifunction.playcancelsolarbullet = Multifunction.cancelsolarbullet.Value;
			}
			Multifunction.quickabsorbsolar.Value = GUILayout.Toggle(Multifunction.quickabsorbsolar.Value, "跳过太阳帆吸收阶段".getTranslate(), Array.Empty<GUILayoutOption>());
			Multifunction.QuickabortSwarm.Value = GUILayout.Toggle(Multifunction.QuickabortSwarm.Value, "太阳帆帧吸收".getTranslate() + ":" + Multifunction.Solarsailsabsorbeveryframe.Value, Array.Empty<GUILayoutOption>());
			if (Multifunction.QuickabortSwarm.Value)
			{
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				GUILayout.Space(10f);
				Multifunction.Solarsailsabsorbeveryframe.Value = (int)GUILayout.HorizontalSlider((float)Multifunction.Solarsailsabsorbeveryframe.Value, 1f, 100f, Array.Empty<GUILayoutOption>());
				GUILayout.EndHorizontal();
			}
			if (Multifunction.alwaysemission.Value != GUILayout.Toggle(Multifunction.alwaysemission.Value, "全球打帆".getTranslate(), Array.Empty<GUILayoutOption>()))
			{
				Multifunction.alwaysemission.Value = !Multifunction.alwaysemission.Value;
				Multifunction.alwaysemissiontemp = Multifunction.alwaysemission.Value;
			}
			bool flag5 = GUILayout.Toggle(Multifunction.ChangeDysonradius.Value, "开放戴森壳半径上下限(用前存档)".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.Label("最小半径".getTranslate() + ":100", style, Array.Empty<GUILayoutOption>());
			GUILayout.Label("最大半径".getTranslate() + ":" + TGMKinttostring(Multifunction.MaxOrbitRadiusConfig.Value, ""), style, Array.Empty<GUILayoutOption>());
			string valueStr = Regex.Replace(GUILayout.TextField(Multifunction.MaxOrbitRadiusConfig.Value.ToString() ?? "", 10, Array.Empty<GUILayoutOption>()), "[^0-9]", "");
			Multifunction.MaxOrbitRadiusConfig.Value = IntParseLimit(valueStr, 100000, 10000000);
			if (flag5 != Multifunction.ChangeDysonradius.Value)
			{
				Multifunction.ChangeDysonradius.Value = flag5;
				DysonSphere val3 = UIRoot.instance?.uiGame?.dysonEditor?.selection?.viewDysonSphere;
				DysonSphere[] array = GameMain.data?.dysonSpheres;
				foreach (DysonSphere val4 in array)
				{
					if (val4 == null)
					{
						continue;
					}
					if (flag5)
					{
						val4.maxOrbitRadius = Multifunction.MaxOrbitRadiusConfig.Value;
						val4.minOrbitRadius = 100f;
					}
					else
					{
						val4.minOrbitRadius = val4.starData.physicsRadius * 1.5f;
						if (val4.minOrbitRadius < 4000f)
						{
							val4.minOrbitRadius = 4000f;
						}
						val4.maxOrbitRadius = val4.defOrbitRadius * 2f;
						if ((int)val4.starData.type == 1)
						{
							val4.minOrbitRadius *= 0.6f;
						}
						val4.minOrbitRadius = Mathf.Ceil(val4.minOrbitRadius / 100f) * 100f;
						val4.maxOrbitRadius = Mathf.Round(val4.maxOrbitRadius / 100f) * 100f;
					}
					if (val3 == val4)
					{
						UIRoot.instance.uiGame.dysonEditor.controlPanel.OnViewStarChange(val4);
					}
				}
			}
			GUILayout.EndVertical();
			GUILayout.FlexibleSpace();
			GUILayout.EndHorizontal();
		}

		private void OtherPannel()
		{
			//IL_062c: Unknown result type (might be due to invalid IL or missing references)
			//IL_069c: Unknown result type (might be due to invalid IL or missing references)
			//IL_070c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0773: Unknown result type (might be due to invalid IL or missing references)
			//IL_058a: Unknown result type (might be due to invalid IL or missing references)
			//IL_058f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0782: Unknown result type (might be due to invalid IL or missing references)
			//IL_0791: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ab: Unknown result type (might be due to invalid IL or missing references)
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			GUILayout.Label("以下设置需要进入存档".getTranslate(), style, Array.Empty<GUILayoutOption>());
			if (GameMain.mainPlayer != null)
			{
				Multifunction.CloseUIAbnormalityTip.Value = GUILayout.Toggle(Multifunction.CloseUIAbnormalityTip.Value, "关闭异常提示".getTranslate(), Array.Empty<GUILayoutOption>());
				Multifunction.IgnoreControlPanelLocalLimit.Value = GUILayout.Toggle(Multifunction.IgnoreControlPanelLocalLimit.Value, "取消总控面板本地限制".getTranslate(), Array.Empty<GUILayoutOption>());
				Multifunction.Maxproliferator.Value = GUILayout.Toggle(Multifunction.Maxproliferator.Value, "增产点数上限10".getTranslate(), Array.Empty<GUILayoutOption>());
				Multifunction.incAbility = (Multifunction.Maxproliferator.Value ? 10 : 4);
				Multifunction.pasteanyway = GUILayout.Toggle(Multifunction.pasteanyway, "蓝图强制粘贴".getTranslate(), Array.Empty<GUILayoutOption>());
				if (Multifunction.PasteBuildAnyWay != GUILayout.Toggle(Multifunction.PasteBuildAnyWay, "建筑铺设无需条件".getTranslate(), Array.Empty<GUILayoutOption>()))
				{
					Multifunction.PasteBuildAnyWay = !Multifunction.PasteBuildAnyWay;
					if (Multifunction.PasteBuildAnyWay && !PasteAnywayPatch.IsPatched)
					{
						PasteAnywayPatch.IsPatched = true;
						Multifunctionpatch.harmony.PatchAll(typeof(PasteAnywayPatch));
					}
				}
				if (Multifunction.closeallcollider != GUILayout.Toggle(Multifunction.closeallcollider, "关闭所有碰撞体".getTranslate(), Array.Empty<GUILayoutOption>()))
				{
					Multifunction.closeallcollider = !Multifunction.closeallcollider;
					((Component)ColliderPool.instance).gameObject.SetActive(!Multifunction.closeallcollider);
				}
				if (Multifunction.allhandcraft.Value != GUILayout.Toggle(Multifunction.allhandcraft.Value, "全部手搓".getTranslate(), Array.Empty<GUILayoutOption>()))
				{
					Multifunction.allhandcraft.Value = !Multifunction.allhandcraft.Value;
					Multifunction.refreshLDB = true;
				}
				if (Multifunction.quickproduce.Value != GUILayout.Toggle(Multifunction.quickproduce.Value, "快速生产".getTranslate(), Array.Empty<GUILayoutOption>()))
				{
					Multifunction.quickproduce.Value = !Multifunction.quickproduce.Value;
					Multifunction.refreshLDB = true;
				}
				GUILayout.Label("堆叠倍率".getTranslate() + ":", style, Array.Empty<GUILayoutOption>());
				GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
				stackmultipleStr = Regex.Replace(GUILayout.TextField(stackmultipleStr, 10, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.MinWidth((float)(heightdis * 3)) }), "[^0-9]", "");
				int multiple = IntParseLimit(stackmultipleStr, 1, 5000000);
				stackmultipleStr = multiple.ToString();
				if (GUILayout.Button("设置".getTranslate(), Array.Empty<GUILayoutOption>()))
				{
					MainFunction.SetmultipleItemStatck(multiple);
				}
				GUILayout.EndHorizontal();
				if (GUILayout.Button("取消所有勾选".getTranslate(), Array.Empty<GUILayoutOption>()))
				{
					MainFunction.CancelAllToggle();
				}
			}
			GUILayout.EndVertical();
			GUILayout.Space((float)heightdis);
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			GUILayout.Label("窗口颜色及透明度".getTranslate() + " RGBA", style, Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			float num = GUILayout.HorizontalSlider(mainWindowTextureColor.r, 0f, 1f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.MinWidth((float)(4 * heightdis)) });
			GUILayout.Label("R:" + $"{num:N2}", style, Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			float num2 = GUILayout.HorizontalSlider(mainWindowTextureColor.g, 0f, 1f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.MinWidth((float)(4 * heightdis)) });
			GUILayout.Label("G:" + $"{num2:N2}", style, Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			float num3 = GUILayout.HorizontalSlider(mainWindowTextureColor.b, 0f, 1f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.MinWidth((float)(4 * heightdis)) });
			GUILayout.Label("B:" + $"{num3:N2}", style, Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			float num4 = GUILayout.HorizontalSlider(mainWindowTextureColor.a, 0f, 1f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.MinWidth((float)(4 * heightdis)) });
			GUILayout.Label("A:" + $"{num4:N2}", style, Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			if (num != mainWindowTextureColor.r || num2 != mainWindowTextureColor.g || num3 != mainWindowTextureColor.b || num4 != mainWindowTextureColor.a)
			{
				mainWindowTextureColor = new Color(num, num2, num3, num4);
				for (int i = 0; i < ((Texture)MainWindowTexture).width; i++)
				{
					for (int j = 0; j < ((Texture)MainWindowTexture).height; j++)
					{
						MainWindowTexture.SetPixel(i, j, mainWindowTextureColor);
					}
				}
				MainWindowTexture.Apply();
			}
			GUILayout.Label("窗口字体颜色".getTranslate() + " RGB", style, Array.Empty<GUILayoutOption>());
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			float num5 = GUILayout.HorizontalSlider(TextColor.r, 0f, 1f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.MinWidth((float)(4 * heightdis)) });
			GUILayout.Label("R:" + $"{num5:N2}", style, Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			float num6 = GUILayout.HorizontalSlider(TextColor.g, 0f, 1f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.MinWidth((float)(4 * heightdis)) });
			GUILayout.Label("G:" + $"{num6:N2}", style, Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			float num7 = GUILayout.HorizontalSlider(TextColor.b, 0f, 1f, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.MinWidth((float)(4 * heightdis)) });
			GUILayout.Label("B:" + $"{num7:N2}", style, Array.Empty<GUILayoutOption>());
			GUILayout.EndHorizontal();
			if (num5 != TextColor.r || num6 != TextColor.g || num7 != TextColor.b)
			{
				TextColor = new Color(num5, num6, num7);
			}
			Multifunction.ChangeQuickKey = GUILayout.Toggle(Multifunction.ChangeQuickKey, (!Multifunction.ChangeQuickKey) ? "改变窗口快捷键".getTranslate() : "点击确认".getTranslate(), Array.Empty<GUILayoutOption>());
			GUILayout.Label("快捷键".getTranslate() + ":" + ((object)(KeyboardShortcut)(ref Multifunction.tempShowWindow)).ToString(), Array.Empty<GUILayoutOption>());
			GUILayout.EndVertical();
			GUILayout.FlexibleSpace();
			GUILayout.EndHorizontal();
		}

		private void LogisticsPannel()
		{
			GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
			GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
			GUILayout.Label("如果启动机甲物流,物流背包没有解锁会自动解锁一列。", style, Array.Empty<GUILayoutOption>());
			GUILayout.Label("物流背包里的设置可以直接从全星系的存储设备中获取或回收", style, Array.Empty<GUILayoutOption>());
			GUILayout.Label("设置机甲物流专用星后,只有名字是\"机甲物流\"的星球才会进行物流操作", style, Array.Empty<GUILayoutOption>());
			GUILayoutOption[] array = (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height((float)heightdis) };
			if (Multifunction.Mechalogistics_bool.Value != GUILayout.Toggle(Multifunction.Mechalogistics_bool.Value, "强化机甲物流".getTranslate(), array))
			{
				Multifunction.Mechalogistics_bool.Value = !Multifunction.Mechalogistics_bool.Value;
				if (Multifunction.Mechalogistics_bool.Value && !Multifunction.player.deliveryPackage.unlocked)
				{
					Multifunction.player.deliveryPackage.unlocked = true;
					Multifunction.player.deliveryPackage.colCount = 1;
					Multifunction.player.deliveryPackage.NotifySizeChange();
				}
			}
			Multifunction.MechalogisticsPlanet_bool.Value = GUILayout.Toggle(Multifunction.MechalogisticsPlanet_bool.Value, "机甲物流专用星".getTranslate(), array);
			Multifunction.MechalogStoragerecycle_bool.Value = GUILayout.Toggle(Multifunction.MechalogStoragerecycle_bool.Value, "回收使用储物仓".getTranslate(), array);
			Multifunction.MechalogStorageprovide_bool.Value = GUILayout.Toggle(Multifunction.MechalogStorageprovide_bool.Value, "需求使用储物仓".getTranslate(), array);
			Multifunction.MechalogStationrecycle_bool.Value = GUILayout.Toggle(Multifunction.MechalogStationrecycle_bool.Value, "回收使用物流站".getTranslate(), array);
			Multifunction.MechalogStationprovide_bool.Value = GUILayout.Toggle(Multifunction.MechalogStationprovide_bool.Value, "需求使用物流站".getTranslate(), array);
			GUILayout.EndVertical();
			GUILayout.FlexibleSpace();
			GUILayout.EndHorizontal();
		}

		public Rect RectChanged(Rect rect, int changevalue, int index)
		{
			//IL_0010: 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_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			if (index <= 0 || index > 4)
			{
				return rect;
			}
			switch (index)
			{
			case 1:
				((Rect)(ref rect)).x = ((Rect)(ref rect)).x + (float)changevalue;
				break;
			case 2:
				((Rect)(ref rect)).y = ((Rect)(ref rect)).y + (float)changevalue;
				break;
			case 3:
				((Rect)(ref rect)).width = ((Rect)(ref rect)).width + (float)changevalue;
				break;
			case 4:
				((Rect)(ref rect)).height = ((Rect)(ref rect)).height + (float)changevalue;
				break;
			}
			return rect;
		}

		private void MoveWindow()
		{
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: 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_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_015f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0180: Unknown result type (might be due to invalid IL or missing references)
			//IL_0132: Unknown result type (might be due to invalid IL or missing references)
			//IL_0144: Unknown result type (might be due to invalid IL or missing references)
			if (leftscaling || rightscaling || bottomscaling)
			{
				return;
			}
			Vector2 val = Vector2.op_Implicit(Input.mousePosition);
			bool flag = MainWindow_x <= val.x && MainWindow_x + MainWindowWidth >= val.x;
			bool flag2 = (float)Screen.height >= MainWindow_y + val.y && (float)Screen.height <= MainWindowHeight + MainWindow_y + val.y;
			MouseInWindow = flag && flag2;
			if (val.x > MainWindow_x && val.x < MainWindow_x + MainWindowWidth && (float)Screen.height - val.y > MainWindow_y && (float)Screen.height - val.y < MainWindow_y + 20f)
			{
				if (Input.GetMouseButton(0))
				{
					if (!moving)
					{
						MainWindow_x_move = MainWindow_x;
						MainWindow_y_move = MainWindow_y;
						temp_MainWindow_x = val.x;
						temp_MainWindow_y = (float)Screen.height - val.y;
					}
					moving = true;
					MainWindow_x = MainWindow_x_move + val.x - temp_MainWindow_x;