using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text.RegularExpressions;
using BepInEx;
using BepInEx.Configuration;
using BoplFixedMath;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;
using UnityEngine.SceneManagement;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyCompany("MapRandomiser")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("My first plugin")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("MapRandomiser")]
[assembly: AssemblyTitle("MapRandomiser")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace MapMaker
{
public static class PluginInfo
{
public const string PLUGIN_GUID = "MapRandomiser";
public const string PLUGIN_NAME = "MapRandomiser";
public const string PLUGIN_VERSION = "1.0.0";
}
}
namespace MapRandomiser
{
[BepInPlugin("com.MLT.MapRandomiser", "MapRandomiser", "1.1.0")]
public class Plugin : BaseUnityPlugin
{
public static GameObject PlatformAbility;
public static Transform levelt;
public static StickyRoundedRectangle platformPrefab;
public static int CurrentMapId;
public static Fix[][][] SpaceTakenUp;
public static ConfigEntry<double> min_dist;
public static ConfigEntry<int> PlatPlaceAttempts;
public static ConfigEntry<double> ChanceYouAttemptToPlaceAPlatformAgien;
public static ConfigEntry<double> CirclePlatformChance;
public static Fix MinX = (Fix)(-97.27);
public static Fix MinY = (Fix)(-26L);
public static Fix MaxX = (Fix)97.6;
public static Fix MaxY = (Fix)40L;
public static ConfigEntry<double> MinScaleX;
public static ConfigEntry<double> MaxScaleX;
public static ConfigEntry<double> MinScaleY;
public static ConfigEntry<double> MaxScaleY;
public static ConfigEntry<double> MinRadius;
public static ConfigEntry<double> MaxRadius;
public static ConfigEntry<bool> Rotate;
public static ConfigEntry<bool> RandomColors;
public static ConfigEntry<double> OneByOneBlockMass;
public static ConfigFile config;
private void Awake()
{
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Expected O, but got Unknown
((BaseUnityPlugin)this).Logger.LogInfo((object)"MapRandomiser Has been loaded");
Harmony val = new Harmony("com.MLT.MapRandomiser");
((BaseUnityPlugin)this).Logger.LogInfo((object)"Harmony harmony = new Harmony -- Melon, 2024");
val.PatchAll();
((BaseUnityPlugin)this).Logger.LogInfo((object)"MapRandomiser Patch Compleate!");
SceneManager.sceneLoaded += OnSceneLoaded;
config = ((BaseUnityPlugin)this).Config;
min_dist = config.Bind<double>("Settings", "Minimum distance", 2.0, "the minimum distance betreen platforms allowed in bopl units. below 2 there is a chance you could be squished on spawn.");
PlatPlaceAttempts = config.Bind<int>("Settings", "Platform Place Attempts", 30, "how many platforms it will attempt to place. if it fails there will be a chance it attempts to place agien.");
ChanceYouAttemptToPlaceAPlatformAgien = config.Bind<double>("Chances", "Chance It Attempts To Place A Platform Agien", 2.0, "chance of attempting to place a platform agien if it fails. with a 1/x chance where x is this value.");
CirclePlatformChance = config.Bind<double>("Chances", "Circle Platform Chance", 5.0, "chance a platform is a circle platform as 1/x where x is this value.");
MinScaleX = config.Bind<double>("Width", "Minimum Width", 0.25, "Minimum Platform Width in bopl units");
MaxScaleX = config.Bind<double>("Width", "Maximum Width", 5.0, "Maximum Platform Width in bopl units");
MinScaleY = config.Bind<double>("Height", "Minimum Height", 0.25, "Minimum Platform Height in bopl units");
MaxScaleY = config.Bind<double>("Height", "Maximum Height", 5.0, "Maximum Platform Height in bopl units");
MinRadius = config.Bind<double>("Radius", "Minimum Radius", 0.25, "Minimum Platform Radius in bopl units");
MaxRadius = config.Bind<double>("Radius", "Maximum Radius", 5.0, "Maximum Platform Radius in bopl units");
Rotate = config.Bind<bool>("Rotate", "Rotate", true, "can platforms spawn rotated.");
RandomColors = config.Bind<bool>("Colors", "Random Colors", true, "Use Random Colors (note that this is the one value you dont need everyone to have the same value for.)");
OneByOneBlockMass = config.Bind<double>("Mass", "1 by 1 block mass", 1.0, "the mass of a platform that is 1 by 1 units");
}
private static void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
//IL_0104: Unknown result type (might be due to invalid IL or missing references)
//IL_010b: Expected O, but got Unknown
//IL_0185: Unknown result type (might be due to invalid IL or missing references)
//IL_018a: Unknown result type (might be due to invalid IL or missing references)
//IL_018d: Unknown result type (might be due to invalid IL or missing references)
//IL_018f: Unknown result type (might be due to invalid IL or missing references)
//IL_0194: Unknown result type (might be due to invalid IL or missing references)
//IL_0196: Unknown result type (might be due to invalid IL or missing references)
//IL_019d: Unknown result type (might be due to invalid IL or missing references)
//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
//IL_01a9: Unknown result type (might be due to invalid IL or missing references)
//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
//IL_01be: Unknown result type (might be due to invalid IL or missing references)
Debug.Log((object)("OnSceneLoaded: " + ((Scene)(ref scene)).name));
if (!IsLevelName(((Scene)(ref scene)).name))
{
return;
}
CurrentMapId = GetMapIdFromSceneName(((Scene)(ref scene)).name);
GameObject[] array = Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[];
Debug.Log((object)"getting platform object");
GameObject[] array2 = array;
foreach (GameObject val in array2)
{
if (((Object)val).name == "Platform")
{
PlatformAbility = val;
Debug.Log((object)("Found the object: " + ((Object)val).name));
break;
}
}
Component component = PlatformAbility.GetComponent(typeof(PlatformTransform));
PlatformTransform val2 = (PlatformTransform)(object)((component is PlatformTransform) ? component : null);
platformPrefab = val2.platformPrefab;
levelt = GameObject.Find("Level").transform;
foreach (Transform item in levelt)
{
Transform val3 = item;
Updater.DestroyFix(((Component)val3).gameObject);
}
SpaceTakenUp = Array.Empty<Fix[][]>();
GameObject val4 = GameObject.Find("PlayerList");
if ((Object)(object)val4 == (Object)null)
{
val4 = GameObject.Find("PlayerList (1)");
}
Vec2[] teamSpawns = val4.GetComponent<GameSessionHandler>().teamSpawns;
Vec2[] array3 = teamSpawns;
foreach (Vec2 val5 in array3)
{
SpawnPlatform(val5.x, val5.y - (Fix)3L, (Fix)2L, (Fix)2L, (Fix)1L, (Fix)0L);
}
for (int k = 0; k < PlatPlaceAttempts.Value; k++)
{
AttemptToSpawnRandomPlatform();
}
}
public static void SpawnPlatform(Fix X, Fix Y, Fix Width, Fix Height, Fix Radius, Fix rotatson)
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
//IL_00da: Unknown result type (might be due to invalid IL or missing references)
//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
//IL_010c: Unknown result type (might be due to invalid IL or missing references)
//IL_010d: Unknown result type (might be due to invalid IL or missing references)
//IL_0127: Unknown result type (might be due to invalid IL or missing references)
//IL_0128: Unknown result type (might be due to invalid IL or missing references)
//IL_0142: Unknown result type (might be due to invalid IL or missing references)
//IL_0143: Unknown result type (might be due to invalid IL or missing references)
//IL_015d: 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_0179: Unknown result type (might be due to invalid IL or missing references)
//IL_017b: Unknown result type (might be due to invalid IL or missing references)
//IL_0196: Unknown result type (might be due to invalid IL or missing references)
//IL_0197: Unknown result type (might be due to invalid IL or missing references)
//IL_0198: Unknown result type (might be due to invalid IL or missing references)
//IL_019a: Unknown result type (might be due to invalid IL or missing references)
//IL_01a4: Unknown result type (might be due to invalid IL or missing references)
//IL_01a9: Unknown result type (might be due to invalid IL or missing references)
//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
//IL_01b3: Unknown result type (might be due to invalid IL or missing references)
//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
//IL_01bc: Unknown result type (might be due to invalid IL or missing references)
//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
//IL_01da: Unknown result type (might be due to invalid IL or missing references)
//IL_01dc: Unknown result type (might be due to invalid IL or missing references)
//IL_01dd: Unknown result type (might be due to invalid IL or missing references)
//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
//IL_01e6: Unknown result type (might be due to invalid IL or missing references)
//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
//IL_0204: Unknown result type (might be due to invalid IL or missing references)
//IL_0206: Unknown result type (might be due to invalid IL or missing references)
//IL_0207: Unknown result type (might be due to invalid IL or missing references)
//IL_020a: Unknown result type (might be due to invalid IL or missing references)
//IL_020f: Unknown result type (might be due to invalid IL or missing references)
//IL_0214: Unknown result type (might be due to invalid IL or missing references)
//IL_0223: Unknown result type (might be due to invalid IL or missing references)
//IL_0228: Unknown result type (might be due to invalid IL or missing references)
//IL_022d: Unknown result type (might be due to invalid IL or missing references)
//IL_022f: Unknown result type (might be due to invalid IL or missing references)
//IL_0230: Unknown result type (might be due to invalid IL or missing references)
//IL_0234: Unknown result type (might be due to invalid IL or missing references)
//IL_0239: Unknown result type (might be due to invalid IL or missing references)
//IL_023e: Unknown result type (might be due to invalid IL or missing references)
//IL_024d: Unknown result type (might be due to invalid IL or missing references)
//IL_0252: Unknown result type (might be due to invalid IL or missing references)
//IL_0257: Unknown result type (might be due to invalid IL or missing references)
//IL_0261: Unknown result type (might be due to invalid IL or missing references)
//IL_0263: Unknown result type (might be due to invalid IL or missing references)
//IL_026a: Unknown result type (might be due to invalid IL or missing references)
//IL_026c: Unknown result type (might be due to invalid IL or missing references)
//IL_027b: Unknown result type (might be due to invalid IL or missing references)
//IL_027d: Unknown result type (might be due to invalid IL or missing references)
//IL_0284: Unknown result type (might be due to invalid IL or missing references)
//IL_0286: 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)
StickyRoundedRectangle val = FixTransform.InstantiateFixed<StickyRoundedRectangle>(platformPrefab, new Vec2(X, Y));
val.rr.Scale = Fix.One;
ResizablePlatform component = ((Component)val).GetComponent<ResizablePlatform>();
((Component)component).GetComponent<DPhysicsRoundedRect>().ManualInit();
ResizePlatform(component, Width, Height, Radius);
val.GetGroundBody().up = new Vec2(rotatson);
if (RandomColors.Value)
{
((Component)val).GetComponent<SpriteRenderer>().color = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f));
}
AccessTools.Field(typeof(BoplBody), "mass").SetValue(val.GetGroundBody(), CalculateMassOfPlatform(Width, Height, Radius));
Debug.Log((object)("Set mass to " + (double)CalculateMassOfPlatform(Width, Height, Radius)));
string[] obj = new string[10] { "Spawned platform at position (", null, null, null, null, null, null, null, null, null };
Fix val2 = X;
obj[1] = ((object)(Fix)(ref val2)).ToString();
obj[2] = ", ";
val2 = Y;
obj[3] = ((object)(Fix)(ref val2)).ToString();
obj[4] = ") with dimensions (";
val2 = Width;
obj[5] = ((object)(Fix)(ref val2)).ToString();
obj[6] = ", ";
val2 = Height;
obj[7] = ((object)(Fix)(ref val2)).ToString();
obj[8] = ") and radius ";
val2 = Radius;
obj[9] = ((object)(Fix)(ref val2)).ToString();
Debug.Log((object)string.Concat(obj));
Fix[] array = TrueWidthAndHight(Width, Height, Radius, rotatson);
Fix val3 = array[0];
Fix val4 = array[1];
Fix val5 = X - val3 / (Fix)2L - (Fix)min_dist.Value;
Fix val6 = Y - val4 / (Fix)2L - (Fix)min_dist.Value;
Fix val7 = X + val3 / (Fix)2L + (Fix)min_dist.Value;
Fix val8 = Y + val4 / (Fix)2L + (Fix)min_dist.Value;
Fix[] array2 = (Fix[])(object)new Fix[2] { val5, val6 };
Fix[] array3 = (Fix[])(object)new Fix[2] { val7, val8 };
Fix[][] rect = new Fix[2][] { array2, array3 };
SpaceTakenUp = AppendRect(rect);
}
public static void Update()
{
}
public static void ResizePlatform(ResizablePlatform platform, Fix newWidth, Fix newHeight, Fix newRadius)
{
//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_0004: Unknown result type (might be due to invalid IL or missing references)
platform.ResizePlatform(newWidth, newHeight, newRadius, true);
}
public static bool IsLevelName(string input)
{
Regex regex = new Regex("Level[0-9]+", RegexOptions.IgnoreCase);
return regex.IsMatch(input);
}
public static double ConvertToRadians(double angle)
{
return Math.PI / 180.0 * angle;
}
public static int GetMapIdFromSceneName(string s)
{
Regex regex = new Regex("[^\\d]+");
if (string.IsNullOrEmpty(s))
{
return 0;
}
string s2 = regex.Replace(s, "");
return int.Parse(s2) - 1;
}
public static Fix[][][] AppendRect(Fix[][] rect)
{
Array.Resize(ref SpaceTakenUp, SpaceTakenUp.Length + 1);
SpaceTakenUp[SpaceTakenUp.Length - 1] = rect;
return SpaceTakenUp;
}
public static Fix[] TrueWidthAndHight(Fix Width, Fix Height, Fix Radius, Fix rotatson)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_0011: Unknown result type (might be due to invalid IL or missing references)
//IL_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_0093: Unknown result type (might be due to invalid IL or missing references)
//IL_0109: 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_0110: Unknown result type (might be due to invalid IL or missing references)
//IL_0111: 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_0117: Unknown result type (might be due to invalid IL or missing references)
//IL_0118: Unknown result type (might be due to invalid IL or missing references)
//IL_011a: Unknown result type (might be due to invalid IL or missing references)
//IL_011b: Unknown result type (might be due to invalid IL or missing references)
//IL_0120: Unknown result type (might be due to invalid IL or missing references)
//IL_012a: Unknown result type (might be due to invalid IL or missing references)
//IL_012d: 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_0137: Unknown result type (might be due to invalid IL or missing references)
//IL_013e: Unknown result type (might be due to invalid IL or missing references)
//IL_0142: Unknown result type (might be due to invalid IL or missing references)
//IL_0147: 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)
double x = (double)Width;
double num = (double)Height;
double num2 = (double)rotatson;
Fix val = (Fix)Math.Max(Math.Abs(Math.Sqrt(Math.Pow(x, 2.0) + Math.Pow(num, 2.0)) * Math.Cos(num2 + Math.Atan2(num, x))), Math.Abs(Math.Sqrt(Math.Pow(x, 2.0) + Math.Pow(num, 2.0)) * Math.Cos(num2 - Math.Atan2(num, x))));
Fix val2 = (Fix)Math.Max(Math.Abs(Math.Sqrt(Math.Pow(x, 2.0) + Math.Pow(num, 2.0)) * Math.Sin(num2 + Math.Atan2(num, x))), Math.Abs(Math.Sqrt(Math.Pow(x, 2.0) + Math.Pow(num, 2.0)) * Math.Sin(num2 - Math.Atan2(num, x))));
val += Radius;
val2 += Radius;
return (Fix[])(object)new Fix[2]
{
val * (Fix)2L,
val2 * (Fix)2L
};
}
public static bool IsValidPlacement(Fix X, Fix Y, Fix Width, Fix Height, Fix Radius, Fix rotatson)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//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_0005: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: 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)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_0046: Unknown result type (might be due to invalid IL or missing references)
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
//IL_0054: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0064: Unknown result type (might be due to invalid IL or missing references)
//IL_0069: Unknown result type (might be due to invalid IL or missing references)
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
//IL_0099: Unknown result type (might be due to invalid IL or missing references)
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: 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_00c4: Unknown result type (might be due to invalid IL or missing references)
//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
//IL_00da: Unknown result type (might be due to invalid IL or missing references)
//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: 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_00e5: Unknown result type (might be due to invalid IL or missing references)
//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
Fix[] array = TrueWidthAndHight(Width, Height, Radius, rotatson);
Fix val = array[0];
Fix val2 = array[1];
Fix val3 = X - val / (Fix)2L;
Fix val4 = Y - val2 / (Fix)2L;
Fix val5 = X + val / (Fix)2L;
Fix val6 = Y + val2 / (Fix)2L;
Fix[][][] spaceTakenUp = SpaceTakenUp;
foreach (Fix[][] array2 in spaceTakenUp)
{
Fix val7 = array2[0][0];
Fix val8 = array2[0][1];
Fix val9 = array2[1][0];
Fix val10 = array2[1][1];
Fix val11 = Fix.Max(val3, val7);
Fix val12 = Fix.Max(val4, val8);
Fix val13 = Fix.Min(val5, val9);
Fix val14 = Fix.Min(val6, val10);
if (!(val11 > val13) && !(val12 > val14))
{
return false;
}
}
return true;
}
public static void AttemptToSpawnRandomPlatform()
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_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_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_001b: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
//IL_002c: 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_003c: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
//IL_005e: 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_0072: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: 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_0091: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Unknown result type (might be due to invalid IL or missing references)
//IL_009b: Unknown result type (might be due to invalid IL or missing references)
//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
//IL_00e2: 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)
//IL_010e: Unknown result type (might be due to invalid IL or missing references)
//IL_010f: Unknown result type (might be due to invalid IL or missing references)
//IL_0110: Unknown result type (might be due to invalid IL or missing references)
//IL_0111: 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_0114: Unknown result type (might be due to invalid IL or missing references)
//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
//IL_0101: Unknown result type (might be due to invalid IL or missing references)
//IL_0106: Unknown result type (might be due to invalid IL or missing references)
//IL_010b: Unknown result type (might be due to invalid IL or missing references)
//IL_0134: Unknown result type (might be due to invalid IL or missing references)
//IL_0143: Unknown result type (might be due to invalid IL or missing references)
//IL_0148: Unknown result type (might be due to invalid IL or missing references)
//IL_014f: Unknown result type (might be due to invalid IL or missing references)
//IL_0122: Unknown result type (might be due to invalid IL or missing references)
//IL_0123: Unknown result type (might be due to invalid IL or missing references)
//IL_0124: Unknown result type (might be due to invalid IL or missing references)
//IL_0125: 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_0128: Unknown result type (might be due to invalid IL or missing references)
Fix x = Updater.RandomFix(MinX, MaxX);
Fix y = Updater.RandomFix(MinY, MaxY);
Fix zero = Fix.Zero;
Fix zero2 = Fix.Zero;
if (Updater.RandomFix(Fix.Zero, (Fix)CirclePlatformChance.Value) > 1L)
{
zero = Updater.RandomFix((Fix)MinScaleX.Value, (Fix)MaxScaleX.Value);
zero2 = Updater.RandomFix((Fix)MinScaleY.Value, (Fix)MaxScaleY.Value);
}
else
{
zero = (Fix)0.05;
zero2 = (Fix)0.05;
}
Fix radius = Updater.RandomFix((Fix)MinRadius.Value, (Fix)MaxRadius.Value);
Fix rotatson = Fix.Zero;
if (Rotate.Value)
{
rotatson = Updater.RandomFix(Fix.Zero, Fix.PiTimes2);
}
if (IsValidPlacement(x, y, zero, zero2, radius, rotatson))
{
SpawnPlatform(x, y, zero, zero2, radius, rotatson);
}
else if (Updater.RandomFix(Fix.Zero, (Fix)ChanceYouAttemptToPlaceAPlatformAgien.Value) < (Fix)1L)
{
AttemptToSpawnRandomPlatform();
}
}
public static Fix CalculateMassOfPlatform(Fix Width, Fix Height, Fix Radius)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0004: Unknown result type (might be due to invalid IL or missing references)
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: 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)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
//IL_0028: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_0076: Unknown result type (might be due to invalid IL or missing references)
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Unknown result type (might be due to invalid IL or missing references)
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0069: Unknown result type (might be due to invalid IL or missing references)
//IL_006e: Unknown result type (might be due to invalid IL or missing references)
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
//IL_008f: Unknown result type (might be due to invalid IL or missing references)
Fix val = Width * (Fix)2L + Radius;
Fix val2 = Height * (Fix)2L + Radius;
Fix val3 = val * val2;
if (Width == (Fix)0.05 && Height == (Fix)0.05)
{
val3 = Fix.Pi * Radius * Radius;
}
return val3 * (Fix)OneByOneBlockMass.Value;
}
}
}