Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of MondstadtMoon v1.0.5
MondstadtMoons.dll
Decompiled a year agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using UnityEngine; using UnityEngine.VFX; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("MondstadtMoons")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("MondstadtMoons")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("19ed81e0-0982-4f45-95a5-2ca2424cefeb")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] public class WindmillRotation : MonoBehaviour { public float rotationSpeed = 10f; private void Update() { ((Component)this).transform.Rotate(0f, 0f - rotationSpeed * Time.deltaTime, 0f); } } public class TeleportPlayers : MonoBehaviour { private StartOfRound startOfRound; public Transform teleportPoint; public float triggerDistance = 3f; public float timeToTeleport = 3f; public AudioSource teleportSound; private float[] timeNearObject; private bool[] soundPlayed; private GameObject[] allPlayerObjects; private bool hasResetOccurred = false; public VisualEffect visualEffect; private void Start() { startOfRound = Object.FindObjectOfType<StartOfRound>(); if ((Object)(object)startOfRound == (Object)null) { Debug.LogError((object)"StartOfRound class not found in the scene!"); return; } allPlayerObjects = startOfRound.allPlayerObjects; timeNearObject = new float[allPlayerObjects.Length]; soundPlayed = new bool[allPlayerObjects.Length]; if ((Object)(object)visualEffect != (Object)null) { visualEffect.Play(); } } private void Update() { //IL_0030: 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) if (allPlayerObjects == null) { return; } bool flag = false; bool flag2 = false; for (int i = 0; i < allPlayerObjects.Length; i++) { GameObject val = allPlayerObjects[i]; float num = Vector3.Distance(val.transform.position, ((Component)this).transform.position); if (num <= triggerDistance) { flag = true; if (!soundPlayed[i]) { PlayTeleportSound(); soundPlayed[i] = true; flag2 = true; } timeNearObject[i] += Time.deltaTime; if (timeNearObject[i] >= timeToTeleport) { TeleportPlayersInRange(); break; } } else { timeNearObject[i] = 0f; soundPlayed[i] = false; } } if (flag2 && !hasResetOccurred) { ResetTimersForAllPlayers(); hasResetOccurred = true; } if (!flag) { hasResetOccurred = false; } } private void TeleportPlayersInRange() { //IL_0015: 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_0048: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < allPlayerObjects.Length; i++) { GameObject val = allPlayerObjects[i]; float num = Vector3.Distance(val.transform.position, ((Component)this).transform.position); if (num <= triggerDistance) { val.transform.position = teleportPoint.position; Debug.Log((object)(((Object)val).name + " teleported!")); } } for (int j = 0; j < soundPlayed.Length; j++) { soundPlayed[j] = false; } for (int k = 0; k < timeNearObject.Length; k++) { timeNearObject[k] = 0f; } } private void ResetTimersForAllPlayers() { for (int i = 0; i < timeNearObject.Length; i++) { timeNearObject[i] = 0f; } } private void PlayTeleportSound() { if ((Object)(object)teleportSound != (Object)null) { teleportSound.Play(); } } }