using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
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: AssemblyTitle("ClassLibrary7")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ClassLibrary7")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("4ee0ce42-511a-4b37-8cec-421415119138")]
[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 Foddy.UltimateChaosOS;
[BepInPlugin("com.user.goi.ultimatechaos", "\ud83d\udea8 GOI: BENNOS ULTRAPLEX DESKTOP ENVIRONMENT \ud83d\udea8", "11.0.0")]
[BepInProcess("GettingOverIt.exe")]
public class UltimateChaosMod : BaseUnityPlugin
{
[CompilerGenerated]
private sealed class <ClearMemorySelectionBuffer>d__99 : IEnumerator<object>, IDisposable, IEnumerator
{
private int <>1__state;
private object <>2__current;
public UltimateChaosMod <>4__this;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <ClearMemorySelectionBuffer>d__99(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<>1__state = -2;
}
private bool MoveNext()
{
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Expected O, but got Unknown
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
<>2__current = (object)new WaitForSeconds(0.7f);
<>1__state = 1;
return true;
case 1:
<>1__state = -1;
<>4__this.firstSelectedCardIndex = -1;
<>4__this.secondSelectedCardIndex = -1;
return false;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
[CompilerGenerated]
private sealed class <SearchUnityHierarchyPipeline>d__76 : IEnumerator<object>, IDisposable, IEnumerator
{
private int <>1__state;
private object <>2__current;
public UltimateChaosMod <>4__this;
private Rigidbody2D[] <bodies>5__1;
private GameObject <pingObj>5__2;
private Rigidbody2D[] <>s__3;
private int <>s__4;
private Rigidbody2D <body>5__5;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <SearchUnityHierarchyPipeline>d__76(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<bodies>5__1 = null;
<pingObj>5__2 = null;
<>s__3 = null;
<body>5__5 = null;
<>1__state = -2;
}
private bool MoveNext()
{
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Expected O, but got Unknown
//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
//IL_013b: 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)
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
<>2__current = (object)new WaitForSeconds(1f);
<>1__state = 1;
return true;
case 1:
<>1__state = -1;
if ((Object)(object)<>4__this.discordPingSource == (Object)null)
{
<pingObj>5__2 = new GameObject("DiscordPingSystem");
<>4__this.discordPingSource = <pingObj>5__2.AddComponent<AudioSource>();
<>4__this.discordPingSource.clip = <>4__this.CreateDiscordPingClip();
Object.DontDestroyOnLoad((Object)(object)<pingObj>5__2);
<pingObj>5__2 = null;
}
<bodies>5__1 = Object.FindObjectsOfType<Rigidbody2D>();
<>s__3 = <bodies>5__1;
for (<>s__4 = 0; <>s__4 < <>s__3.Length; <>s__4++)
{
<body>5__5 = <>s__3[<>s__4];
if ((Object)(object)<body>5__5 != (Object)null && (int)<body>5__5.bodyType == 0 && <body>5__5.mass > 1f)
{
<>4__this.playerPhysics = <body>5__5;
<>4__this.originalPlayerScale = ((Component)<body>5__5).transform.localScale;
break;
}
<body>5__5 = null;
}
<>s__3 = null;
if ((Object)(object)<>4__this.playerPhysics != (Object)null)
{
<>4__this.isSystemReady = true;
}
return false;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
[CompilerGenerated]
private sealed class <SpinSlots>d__101 : IEnumerator<object>, IDisposable, IEnumerator
{
private int <>1__state;
private object <>2__current;
public UltimateChaosMod <>4__this;
private int <spins>5__1;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <SpinSlots>d__101(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<>1__state = -2;
}
private bool MoveNext()
{
//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
//IL_00d0: Expected O, but got Unknown
//IL_0188: Unknown result type (might be due to invalid IL or missing references)
//IL_0192: Unknown result type (might be due to invalid IL or missing references)
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
<>4__this.isSpinning = true;
<spins>5__1 = 0;
break;
case 1:
<>1__state = -1;
<spins>5__1++;
break;
}
if (<spins>5__1 < 18)
{
<>4__this.currentSlots[0] = <>4__this.slotSymbols[Random.Range(0, <>4__this.slotSymbols.Length)];
<>4__this.currentSlots[1] = <>4__this.slotSymbols[Random.Range(0, <>4__this.slotSymbols.Length)];
<>4__this.currentSlots[2] = <>4__this.slotSymbols[Random.Range(0, <>4__this.slotSymbols.Length)];
<>2__current = (object)new WaitForSeconds(0.07f);
<>1__state = 1;
return true;
}
if (<>4__this.currentSlots[0] == <>4__this.currentSlots[1] && <>4__this.currentSlots[1] == <>4__this.currentSlots[2])
{
<>4__this.casinoCredits += 650;
if ((Object)(object)<>4__this.playerPhysics != (Object)null)
{
<>4__this.playerPhysics.AddForce(Vector2.up * 1400f, (ForceMode2D)1);
}
}
<>4__this.isSpinning = false;
return false;
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
private Rigidbody2D playerPhysics;
private AudioSource discordPingSource;
private bool isSystemReady = false;
private Rect explorerWindowRect = new Rect(400f, 200f, 680f, 460f);
private Rect arcadeHubWindowRect = new Rect(50f, 80f, 600f, 600f);
private Rect scriptTerminalWindowRect = new Rect(560f, 60f, 520f, 380f);
private Rect settingsControlPanelRect = new Rect(80f, 150f, 440f, 420f);
private Rect notepadRegistryRect = new Rect(300f, 300f, 400f, 350f);
private Rect installGuideRect = new Rect(200f, 100f, 600f, 500f);
private bool isExplorerOpen = true;
private bool isArcadeHubOpen = true;
private bool isTerminalOpen = false;
private bool isControlPanelOpen = false;
private bool isNotepadOpen = false;
private bool isStartMenuOpen = false;
private bool isInstallGuideOpen = false;
private int selectedArcadeGameIndex = 0;
private float siPlayerX = 200f;
private List<Vector2> siInvaders = new List<Vector2>();
private List<Vector2> siProjectiles = new List<Vector2>();
private int siScore = 0;
private string siStatus = "OPERATIONAL";
private List<Vector2> snakeBody = new List<Vector2>();
private Vector2 snakeDirection = Vector2.right;
private Vector2 foodPosition = Vector2.zero;
private float snakeMoveTimer = 0f;
private float snakeMoveInterval = 0.2f;
private bool isSnakeGameOver = false;
private int snakeScore = 0;
private int gridWidth = 15;
private int gridHeight = 15;
private string[] tttBoard = new string[9] { "", "", "", "", "", "", "", "", "" };
private bool isXTurn = true;
private string tttStatus = "PLAYER X TURN";
private double digitalDopaminePoints = 0.0;
private double boredomLevel = 0.0;
private double dopaminePerClick = 1.0;
private int[] memoryGrid = new int[16];
private bool[] memoryRevealed = new bool[16];
private int firstSelectedCardIndex = -1;
private int secondSelectedCardIndex = -1;
private int memoryMatchScore = 0;
private int casinoCredits = 750;
private string[] slotSymbols = new string[7] { "\ud83c\udf52", "\ud83d\udef8", "\ud83d\udc8e", "\ud83d\udd14", "⭐", "7\ufe0f\u20e3", "\ud83d\udcb0" };
private string[] currentSlots = new string[3] { "?", "?", "?" };
private bool isSpinning = false;
private float coffeeBoostTimer = 0f;
private float continuousScrambleIntensity = 0f;
private float discordPingFrequency = 4f;
private float internalClockTimer = 0f;
private bool isPlayerDancing = false;
private float danceTimer = 0f;
private bool isPlayerEnlarged = false;
private Vector3 originalPlayerScale = Vector3.one;
private float enlargedTimer = 0f;
private string activeDirectoryPath = "C:\\BennOS";
private string selectedItemName = "";
private string statusMessageText = "BennOS Subshell Initialized";
private string terminalInputText = "help";
private List<string> terminalLogLines = new List<string>();
private string notepadBufferText = "// BennOS Registry Override Log";
private Dictionary<string, List<string>> virtualFolderStructure = new Dictionary<string, List<string>>();
private Dictionary<string, List<string>> virtualFileStructure = new Dictionary<string, List<string>>();
private bool isMasterUIOpen = true;
private GUIStyle redButtonStyle;
private GUIStyle panelStyle;
private GUIStyle arenaStyle;
private GUIStyle winLabelBold;
private GUIStyle taskbarStyle;
private GUIStyle startButtonStyle;
private GUIStyle startMenuStyle;
private GUIStyle fileSystemHeaderStyle;
private GUIStyle terminalOutputStyle;
private GUIStyle arcadeMatrixStyle;
private List<string> terminalCommandsRegistry = new List<string>();
private void Awake()
{
SceneManager.sceneLoaded += OnSceneLoaded;
GenerateMassiveFileDatabase();
RegisterExtendedTerminalCommands();
}
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
isSystemReady = false;
playerPhysics = null;
isStartMenuOpen = false;
ResetAllGames();
terminalLogLines.Clear();
terminalLogLines.Add("BennOS Kernel V11.0 Active.");
((MonoBehaviour)this).StartCoroutine(SearchUnityHierarchyPipeline());
}
[IteratorStateMachine(typeof(<SearchUnityHierarchyPipeline>d__76))]
private IEnumerator SearchUnityHierarchyPipeline()
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <SearchUnityHierarchyPipeline>d__76(0)
{
<>4__this = this
};
}
private void Update()
{
//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
//IL_020b: Unknown result type (might be due to invalid IL or missing references)
//IL_02c3: Unknown result type (might be due to invalid IL or missing references)
//IL_0308: 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_033b: Unknown result type (might be due to invalid IL or missing references)
//IL_0340: Unknown result type (might be due to invalid IL or missing references)
//IL_031e: Unknown result type (might be due to invalid IL or missing references)
//IL_0323: Unknown result type (might be due to invalid IL or missing references)
//IL_036e: Unknown result type (might be due to invalid IL or missing references)
//IL_0373: Unknown result type (might be due to invalid IL or missing references)
//IL_0351: Unknown result type (might be due to invalid IL or missing references)
//IL_0356: Unknown result type (might be due to invalid IL or missing references)
//IL_0406: Unknown result type (might be due to invalid IL or missing references)
//IL_0417: Unknown result type (might be due to invalid IL or missing references)
//IL_03a1: Unknown result type (might be due to invalid IL or missing references)
//IL_03a6: Unknown result type (might be due to invalid IL or missing references)
//IL_0384: Unknown result type (might be due to invalid IL or missing references)
//IL_0389: Unknown result type (might be due to invalid IL or missing references)
//IL_03b7: Unknown result type (might be due to invalid IL or missing references)
//IL_03bc: Unknown result type (might be due to invalid IL or missing references)
Cursor.visible = true;
Cursor.lockState = (CursorLockMode)0;
if (!isSystemReady)
{
return;
}
if (Input.GetKeyDown((KeyCode)282))
{
isMasterUIOpen = !isMasterUIOpen;
}
if (isMasterUIOpen)
{
Cursor.visible = true;
Cursor.lockState = (CursorLockMode)0;
}
internalClockTimer += Time.deltaTime;
if (internalClockTimer >= discordPingFrequency)
{
internalClockTimer = 0f;
if ((Object)(object)discordPingSource != (Object)null)
{
discordPingSource.Play();
}
}
if (coffeeBoostTimer > 0f)
{
coffeeBoostTimer -= Time.deltaTime;
}
if (isArcadeHubOpen && selectedArcadeGameIndex == 3)
{
boredomLevel += Time.deltaTime * 0.5f;
if (boredomLevel > 100.0)
{
boredomLevel = 100.0;
}
}
if (isPlayerDancing && (Object)(object)playerPhysics != (Object)null)
{
danceTimer += Time.deltaTime * 15f;
playerPhysics.angularVelocity = Mathf.Sin(danceTimer) * 1000f;
playerPhysics.AddForce(new Vector2(Mathf.Cos(danceTimer) * 50f, Mathf.Abs(Mathf.Sin(danceTimer)) * 60f));
}
if (isPlayerEnlarged && (Object)(object)playerPhysics != (Object)null)
{
enlargedTimer -= Time.deltaTime;
if (enlargedTimer <= 0f)
{
((Component)playerPhysics).transform.localScale = originalPlayerScale;
isPlayerEnlarged = false;
}
}
if (isArcadeHubOpen && selectedArcadeGameIndex == 0)
{
if (Input.GetKey((KeyCode)276))
{
siPlayerX = Mathf.Clamp(siPlayerX - 7f, 10f, 390f);
}
if (Input.GetKey((KeyCode)275))
{
siPlayerX = Mathf.Clamp(siPlayerX + 7f, 10f, 390f);
}
if (Input.GetKeyDown((KeyCode)32))
{
siProjectiles.Add(new Vector2(siPlayerX + 12f, 210f));
}
}
if (isArcadeHubOpen && selectedArcadeGameIndex == 2 && !isSnakeGameOver)
{
if (Input.GetKeyDown((KeyCode)273) && snakeDirection != Vector2.up)
{
snakeDirection = Vector2.down;
}
if (Input.GetKeyDown((KeyCode)274) && snakeDirection != Vector2.down)
{
snakeDirection = Vector2.up;
}
if (Input.GetKeyDown((KeyCode)276) && snakeDirection != Vector2.right)
{
snakeDirection = Vector2.left;
}
if (Input.GetKeyDown((KeyCode)275) && snakeDirection != Vector2.left)
{
snakeDirection = Vector2.right;
}
}
if (continuousScrambleIntensity > 0f && (Object)(object)playerPhysics != (Object)null && Random.value < continuousScrambleIntensity * 0.11f)
{
playerPhysics.AddForce(Random.insideUnitCircle * (continuousScrambleIntensity * 52f), (ForceMode2D)1);
}
if (isArcadeHubOpen)
{
if (selectedArcadeGameIndex == 0)
{
UpdateSpaceInvadersEngine();
}
if (selectedArcadeGameIndex == 2)
{
UpdateSnakeEngine();
}
}
}
private void OnGUI()
{
//IL_0046: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: Expected O, but got Unknown
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_0061: 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_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0091: Expected O, but got Unknown
//IL_008c: 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_00a6: 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)
//IL_00c1: Expected O, but got Unknown
//IL_00bc: 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_00d6: 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_00f1: Expected O, but got Unknown
//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
//IL_00f1: 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_0112: Unknown result type (might be due to invalid IL or missing references)
//IL_0121: Expected O, but got Unknown
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
//IL_0121: Unknown result type (might be due to invalid IL or missing references)
//IL_0177: Unknown result type (might be due to invalid IL or missing references)
//IL_0189: 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_0142: Unknown result type (might be due to invalid IL or missing references)
//IL_0151: Expected O, but got Unknown
//IL_014c: Unknown result type (might be due to invalid IL or missing references)
//IL_0151: Unknown result type (might be due to invalid IL or missing references)
if (isSystemReady && isMasterUIOpen)
{
Cursor.visible = true;
Cursor.lockState = (CursorLockMode)0;
SetupAdvancedThemeStyles();
if (isExplorerOpen)
{
explorerWindowRect = GUI.Window(101, explorerWindowRect, new WindowFunction(DrawFileExplorer), " \ud83d\udcc1 BennOS File System ");
}
if (isArcadeHubOpen)
{
arcadeHubWindowRect = GUI.Window(102, arcadeHubWindowRect, new WindowFunction(DrawArcadeGameHubWindow), " \ud83d\udc7e BennOS Arcade Matrix ");
}
if (isTerminalOpen)
{
scriptTerminalWindowRect = GUI.Window(103, scriptTerminalWindowRect, new WindowFunction(DrawScriptTerminalWindow), " \ud83d\udda5\ufe0f Core Terminal ");
}
if (isControlPanelOpen)
{
settingsControlPanelRect = GUI.Window(104, settingsControlPanelRect, new WindowFunction(DrawControlPanelWindow), " ⚙\ufe0f Control Panel ");
}
if (isNotepadOpen)
{
notepadRegistryRect = GUI.Window(105, notepadRegistryRect, new WindowFunction(DrawNotepadRegistryWindow), " \ud83d\udcdd Notepad.exe ");
}
if (isInstallGuideOpen)
{
installGuideRect = GUI.Window(106, installGuideRect, new WindowFunction(DrawInstallGuideWindow), " \ud83d\udcd6 How To Install ");
}
float num = 42f;
Rect val = default(Rect);
((Rect)(ref val))..ctor(0f, (float)Screen.height - num, (float)Screen.width, num);
GUI.Box(val, "", taskbarStyle);
GUILayout.BeginArea(val);
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
if (GUILayout.Button(" \ud83c\udfc1 BennOS ", startButtonStyle, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(130f),
GUILayout.Height(38f)
}))
{
isStartMenuOpen = !isStartMenuOpen;
}
isExplorerOpen = GUILayout.Toggle(isExplorerOpen, " Explorer", GUI.skin.button, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(110f),
GUILayout.Height(38f)
});
isArcadeHubOpen = GUILayout.Toggle(isArcadeHubOpen, " Arcade", GUI.skin.button, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(100f),
GUILayout.Height(38f)
});
isTerminalOpen = GUILayout.Toggle(isTerminalOpen, " Terminal", GUI.skin.button, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(110f),
GUILayout.Height(38f)
});
isControlPanelOpen = GUILayout.Toggle(isControlPanelOpen, " Control", GUI.skin.button, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(100f),
GUILayout.Height(38f)
});
isNotepadOpen = GUILayout.Toggle(isNotepadOpen, " Notepad", GUI.skin.button, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(100f),
GUILayout.Height(38f)
});
GUILayout.FlexibleSpace();
GUILayout.Label("BennOS v11.0 | " + DateTime.Now.ToShortTimeString(), winLabelBold, Array.Empty<GUILayoutOption>());
GUILayout.EndHorizontal();
GUILayout.EndArea();
if (isStartMenuOpen)
{
DrawStartMenu();
}
}
}
private void DrawStartMenu()
{
//IL_0026: 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)
Rect val = default(Rect);
((Rect)(ref val))..ctor(10f, (float)(Screen.height - 42 - 380), 260f, 380f);
GUI.Box(val, "", startMenuStyle);
GUILayout.BeginArea(val);
GUILayout.BeginVertical(Array.Empty<GUILayoutOption>());
GUILayout.Label(" == Mainframe Applications == ", winLabelBold, Array.Empty<GUILayoutOption>());
if (GUILayout.Button(" \ud83d\udcc1 File Explorer ", Array.Empty<GUILayoutOption>()))
{
isExplorerOpen = true;
isStartMenuOpen = false;
}
if (GUILayout.Button(" \ud83d\udc7e Arcade Hub ", Array.Empty<GUILayoutOption>()))
{
isArcadeHubOpen = true;
isStartMenuOpen = false;
}
if (GUILayout.Button(" \ud83d\udda5\ufe0f Terminal ", Array.Empty<GUILayoutOption>()))
{
isTerminalOpen = true;
isStartMenuOpen = false;
}
if (GUILayout.Button(" ⚙\ufe0f Control Panel ", Array.Empty<GUILayoutOption>()))
{
isControlPanelOpen = true;
isStartMenuOpen = false;
}
if (GUILayout.Button(" \ud83d\udcdd Notepad ", Array.Empty<GUILayoutOption>()))
{
isNotepadOpen = true;
isStartMenuOpen = false;
}
if (GUILayout.Button(" \ud83d\udcd6 Install Guide ", Array.Empty<GUILayoutOption>()))
{
isInstallGuideOpen = true;
isStartMenuOpen = false;
}
GUILayout.Box("", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(8f) });
if (GUILayout.Button(" ☕ Emergency Coffee ", Array.Empty<GUILayoutOption>()))
{
ActivateCoffeeBoost();
isStartMenuOpen = false;
}
if (GUILayout.Button(" \ud83d\udd25 Full System Recalibration ", Array.Empty<GUILayoutOption>()))
{
EmergencyFullRestore();
isStartMenuOpen = false;
}
GUILayout.Box("", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(4f) });
if (GUILayout.Button(" \ud83d\udc83 Make Player Dance ", Array.Empty<GUILayoutOption>()))
{
ToggleDance();
isStartMenuOpen = false;
}
if (GUILayout.Button(" \ud83d\udc18 Enlarge Player (10s) ", Array.Empty<GUILayoutOption>()))
{
EnlargePlayer();
isStartMenuOpen = false;
}
if (GUILayout.Button(" ❌ Terminate BennOS ", Array.Empty<GUILayoutOption>()))
{
isSystemReady = false;
}
GUILayout.EndVertical();
GUILayout.EndArea();
}
private void DrawInstallGuideWindow(int windowID)
{
//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
GUILayout.Label("=== HOW TO INSTALL MODS ===", winLabelBold, Array.Empty<GUILayoutOption>());
GUILayout.Space(10f);
GUILayout.Label("STEP 1: DOWNLOAD BEPINEX", winLabelBold, Array.Empty<GUILayoutOption>());
GUILayout.Label("Go to: github.com/BepInEx/BepInEx/releases", Array.Empty<GUILayoutOption>());
GUILayout.Label("Download: BepInEx_UnityMono_x64_[VERSION].zip", Array.Empty<GUILayoutOption>());
GUILayout.Space(5f);
GUILayout.Label("STEP 2: EXTRACT", winLabelBold, Array.Empty<GUILayoutOption>());
GUILayout.Label("Drag 'BepInEx' folder and 'winhttp.dll'", Array.Empty<GUILayoutOption>());
GUILayout.Label("Into your 'GettingOverIt' game folder.", Array.Empty<GUILayoutOption>());
GUILayout.Space(5f);
GUILayout.Label("STEP 3: RUN GAME", winLabelBold, Array.Empty<GUILayoutOption>());
GUILayout.Label("Run game once to generate plugins folder.", Array.Empty<GUILayoutOption>());
GUILayout.Label("Put this .dll in BepInEx/plugins.", Array.Empty<GUILayoutOption>());
GUI.DragWindow(new Rect(0f, 0f, 10000f, 24f));
}
private void DrawFileExplorer(int windowID)
{
//IL_03a7: Unknown result type (might be due to invalid IL or missing references)
GUILayout.BeginHorizontal(GUI.skin.box, Array.Empty<GUILayoutOption>());
if (GUILayout.Button(" Root (C:)", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(110f) }))
{
activeDirectoryPath = "C:\\BennOS";
selectedItemName = "";
}
GUILayout.Label(" Path:", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(40f) });
GUILayout.TextField(activeDirectoryPath, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) });
if (GUILayout.Button(" Execute ", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) }))
{
ExecuteSystemFile(selectedItemName);
}
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal((GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandHeight(true) });
GUILayout.BeginVertical(GUI.skin.box, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(190f),
GUILayout.ExpandHeight(true)
});
GUILayout.Label(" Quick Access ", fileSystemHeaderStyle, Array.Empty<GUILayoutOption>());
if (GUILayout.Button(" \ud83c\udfe0 BennOS System Drive ", Array.Empty<GUILayoutOption>()))
{
activeDirectoryPath = "C:\\BennOS";
}
if (GUILayout.Button(" \ud83c\udfae Games ", Array.Empty<GUILayoutOption>()))
{
activeDirectoryPath = "C:\\BennOS\\Programs\\Games";
}
GUILayout.EndVertical();
GUILayout.BeginVertical(GUI.skin.box, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandHeight(true) });
if (virtualFolderStructure.ContainsKey(activeDirectoryPath))
{
foreach (string item in virtualFolderStructure[activeDirectoryPath])
{
if (!item.Contains(".."))
{
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
GUILayout.Label(" [DIR] " + item, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(280f) });
if (GUILayout.Button(" Open ", Array.Empty<GUILayoutOption>()))
{
activeDirectoryPath = activeDirectoryPath + "\\" + item;
selectedItemName = "";
}
GUILayout.EndHorizontal();
}
}
}
if (virtualFileStructure.ContainsKey(activeDirectoryPath))
{
foreach (string item2 in virtualFileStructure[activeDirectoryPath])
{
bool flag = item2 == selectedItemName;
GUILayout.BeginHorizontal(flag ? GUI.skin.box : GUI.skin.label, Array.Empty<GUILayoutOption>());
GUILayout.Label(" [APP] " + item2, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(280f) });
if (GUILayout.Button(flag ? "SELECTED" : "Select", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(80f) }))
{
selectedItemName = item2;
}
GUILayout.EndHorizontal();
}
}
GUILayout.EndVertical();
GUILayout.EndHorizontal();
GUILayout.Box(" Status: " + statusMessageText, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.ExpandWidth(true),
GUILayout.Height(28f)
});
GUI.DragWindow(new Rect(0f, 0f, 10000f, 24f));
}
private void ExecuteSystemFile(string name)
{
if (!string.IsNullOrEmpty(name))
{
if (name.Contains("SpaceInvaders"))
{
isArcadeHubOpen = true;
selectedArcadeGameIndex = 0;
ResetSpaceInvadersEngine();
}
else if (name.Contains("Snake"))
{
isArcadeHubOpen = true;
selectedArcadeGameIndex = 2;
ResetSnakeEngine();
}
else if (name.Contains("Clicker"))
{
isArcadeHubOpen = true;
selectedArcadeGameIndex = 3;
}
else if (name.Contains("Memory"))
{
isArcadeHubOpen = true;
selectedArcadeGameIndex = 4;
ResetMemoryEngine();
}
else if (name.Contains("Coffee"))
{
ActivateCoffeeBoost();
}
statusMessageText = "Executed: " + name;
}
}
private void DrawArcadeGameHubWindow(int windowID)
{
//IL_0259: Unknown result type (might be due to invalid IL or missing references)
GUILayout.BeginHorizontal(GUI.skin.box, Array.Empty<GUILayoutOption>());
if (GUILayout.Toggle(selectedArcadeGameIndex == 0, "Invaders", GUI.skin.button, Array.Empty<GUILayoutOption>()))
{
selectedArcadeGameIndex = 0;
}
if (GUILayout.Toggle(selectedArcadeGameIndex == 1, "TicTac", GUI.skin.button, Array.Empty<GUILayoutOption>()))
{
selectedArcadeGameIndex = 1;
}
if (GUILayout.Toggle(selectedArcadeGameIndex == 2, "Snake", GUI.skin.button, Array.Empty<GUILayoutOption>()))
{
selectedArcadeGameIndex = 2;
}
if (GUILayout.Toggle(selectedArcadeGameIndex == 3, "Clicker", GUI.skin.button, Array.Empty<GUILayoutOption>()))
{
selectedArcadeGameIndex = 3;
}
if (GUILayout.Toggle(selectedArcadeGameIndex == 4, "Memory", GUI.skin.button, Array.Empty<GUILayoutOption>()))
{
selectedArcadeGameIndex = 4;
}
if (GUILayout.Toggle(selectedArcadeGameIndex == 5, "Casino", GUI.skin.button, Array.Empty<GUILayoutOption>()))
{
selectedArcadeGameIndex = 5;
}
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
if (GUILayout.Button("\ud83d\udc83 Dance Toggle", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(25f) }))
{
ToggleDance();
}
if (GUILayout.Button("\ud83d\udc18 Enlarge Player", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(25f) }))
{
EnlargePlayer();
}
if (GUILayout.Button("☕ Coffee Boost", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(25f) }))
{
ActivateCoffeeBoost();
}
GUILayout.EndHorizontal();
GUILayout.BeginVertical(GUI.skin.box, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandHeight(true) });
switch (selectedArcadeGameIndex)
{
case 0:
DrawSpaceInvadersCore();
break;
case 1:
DrawTicTacToeCore();
break;
case 2:
DrawSnakeCore();
break;
case 3:
DrawClickerCore();
break;
case 4:
DrawMemoryMatchCore();
break;
case 5:
DrawCasinoCore();
break;
}
GUILayout.EndVertical();
GUI.DragWindow(new Rect(0f, 0f, 10000f, 24f));
}
private void DrawSpaceInvadersCore()
{
//IL_004c: 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_0052: Unknown result type (might be due to invalid IL or missing references)
//IL_0089: Unknown result type (might be due to invalid IL or missing references)
//IL_00b0: 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_00bd: 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_00dc: Unknown result type (might be due to invalid IL or missing references)
//IL_011d: 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_012b: Unknown result type (might be due to invalid IL or missing references)
//IL_013a: 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_01ef: Unknown result type (might be due to invalid IL or missing references)
GUILayout.BeginVertical(GUI.skin.box, Array.Empty<GUILayoutOption>());
GUILayout.Label($" MATCH SCORE: {siScore} || MATRIX STATE: {siStatus}", winLabelBold, Array.Empty<GUILayoutOption>());
Rect rect = GUILayoutUtility.GetRect(440f, 260f);
GUI.Box(rect, "--- ARCADE EMULATOR PANEL RECALIBRATED ---", arenaStyle);
GUI.Label(new Rect(((Rect)(ref rect)).x + siPlayerX, ((Rect)(ref rect)).y + 230f, 50f, 20f), "[\ud83d\udef8]", arcadeMatrixStyle);
foreach (Vector2 siInvader in siInvaders)
{
GUI.Label(new Rect(((Rect)(ref rect)).x + siInvader.x, ((Rect)(ref rect)).y + siInvader.y, 40f, 20f), "[\ud83d\udc7e]", arcadeMatrixStyle);
}
foreach (Vector2 siProjectile in siProjectiles)
{
GUI.Label(new Rect(((Rect)(ref rect)).x + siProjectile.x, ((Rect)(ref rect)).y + siProjectile.y, 20f, 20f), " | ", arcadeMatrixStyle);
}
GUILayout.FlexibleSpace();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
if (GUILayout.RepeatButton("<- MOVE LEFT", Array.Empty<GUILayoutOption>()))
{
siPlayerX = Mathf.Clamp(siPlayerX - 7f, 10f, 390f);
}
if (GUILayout.Button(" FIRING PULSE BEAM ", Array.Empty<GUILayoutOption>()))
{
siProjectiles.Add(new Vector2(siPlayerX + 12f, 210f));
}
if (GUILayout.RepeatButton("MOVE RIGHT ->", Array.Empty<GUILayoutOption>()))
{
siPlayerX = Mathf.Clamp(siPlayerX + 7f, 10f, 390f);
}
GUILayout.EndHorizontal();
if (GUILayout.Button(" REBOOT APP SIMULATOR STAGE ", Array.Empty<GUILayoutOption>()))
{
ResetSpaceInvadersEngine();
}
GUILayout.EndVertical();
}
private void ResetSpaceInvadersEngine()
{
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
siScore = 0;
siPlayerX = 200f;
siStatus = "SIMULATING";
siInvaders.Clear();
siProjectiles.Clear();
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 6; j++)
{
siInvaders.Add(new Vector2((float)(30 + j * 65), (float)(30 + i * 35)));
}
}
}
private void UpdateSpaceInvadersEngine()
{
//IL_0023: 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_0044: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: 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_00a5: Unknown result type (might be due to invalid IL or missing references)
//IL_00ff: 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)
for (int num = siProjectiles.Count - 1; num >= 0; num--)
{
siProjectiles[num] = new Vector2(siProjectiles[num].x, siProjectiles[num].y - 9f);
if (siProjectiles[num].y < 0f)
{
siProjectiles.RemoveAt(num);
}
else
{
for (int num2 = siInvaders.Count - 1; num2 >= 0; num2--)
{
if (Vector2.Distance(siProjectiles[num], siInvaders[num2]) < 24f)
{
siInvaders.RemoveAt(num2);
siProjectiles.RemoveAt(num);
siScore += 150;
if ((Object)(object)playerPhysics != (Object)null)
{
playerPhysics.AddForce(Random.insideUnitCircle * 200f, (ForceMode2D)1);
}
break;
}
}
}
}
if (siInvaders.Count == 0)
{
siStatus = "VICTORY STAGE CLEAR";
}
}
private void DrawSnakeCore()
{
//IL_005a: 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_0060: Unknown result type (might be due to invalid IL or missing references)
//IL_017c: 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_01bb: Unknown result type (might be due to invalid IL or missing references)
//IL_01c0: Unknown result type (might be due to invalid IL or missing references)
//IL_01f3: 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_01d1: Unknown result type (might be due to invalid IL or missing references)
//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
//IL_00fc: 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_0117: 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_022b: 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_0209: Unknown result type (might be due to invalid IL or missing references)
//IL_020e: 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_0268: Unknown result type (might be due to invalid IL or missing references)
//IL_0241: Unknown result type (might be due to invalid IL or missing references)
//IL_0246: Unknown result type (might be due to invalid IL or missing references)
//IL_0279: Unknown result type (might be due to invalid IL or missing references)
//IL_027e: Unknown result type (might be due to invalid IL or missing references)
GUILayout.BeginVertical(GUI.skin.box, Array.Empty<GUILayoutOption>());
GUILayout.Label(string.Format(" CORE POINTS METRIC: {0} | STATUS: {1}", snakeScore, isSnakeGameOver ? "CORE CRASHED" : "RUNNING"), winLabelBold, Array.Empty<GUILayoutOption>());
Rect rect = GUILayoutUtility.GetRect(300f, 300f);
GUI.Box(rect, "", arenaStyle);
float num = ((Rect)(ref rect)).width / (float)gridWidth;
float num2 = ((Rect)(ref rect)).height / (float)gridHeight;
if (!isSnakeGameOver)
{
GUI.Label(new Rect(((Rect)(ref rect)).x + foodPosition.x * num, ((Rect)(ref rect)).y + foodPosition.y * num2, num, num2), "[*]", arcadeMatrixStyle);
foreach (Vector2 item in snakeBody)
{
GUI.Label(new Rect(((Rect)(ref rect)).x + item.x * num, ((Rect)(ref rect)).y + item.y * num2, num, num2), "[#]", arcadeMatrixStyle);
}
}
else
{
GUI.Label(new Rect(((Rect)(ref rect)).x + 40f, ((Rect)(ref rect)).y + 130f, 240f, 30f), "!!! GAME OVER: HARDWARE CRASHED !!!", winLabelBold);
}
GUILayout.FlexibleSpace();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
if (GUILayout.Button(" ^ UP ", Array.Empty<GUILayoutOption>()) && snakeDirection != Vector2.up)
{
snakeDirection = Vector2.down;
}
if (GUILayout.Button(" v DOWN ", Array.Empty<GUILayoutOption>()) && snakeDirection != Vector2.down)
{
snakeDirection = Vector2.up;
}
if (GUILayout.Button(" < LEFT ", Array.Empty<GUILayoutOption>()) && snakeDirection != Vector2.right)
{
snakeDirection = Vector2.left;
}
if (GUILayout.Button(" RIGHT > ", Array.Empty<GUILayoutOption>()) && snakeDirection != Vector2.left)
{
snakeDirection = Vector2.right;
}
GUILayout.EndHorizontal();
if (GUILayout.Button(" CONFIGURE INTERFACES RESET ", Array.Empty<GUILayoutOption>()))
{
ResetSnakeEngine();
}
GUILayout.EndVertical();
}
private void ResetSnakeEngine()
{
//IL_0010: 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_0036: 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)
snakeScore = 0;
isSnakeGameOver = false;
snakeDirection = Vector2.right;
snakeBody.Clear();
snakeBody.Add(new Vector2(5f, 5f));
snakeBody.Add(new Vector2(4f, 5f));
SpawnFoodNode();
}
private void SpawnFoodNode()
{
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
foodPosition = new Vector2((float)Random.Range(1, gridWidth - 1), (float)Random.Range(1, gridHeight - 1));
}
private void UpdateSnakeEngine()
{
//IL_004d: 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_0058: Unknown result type (might be due to invalid IL or missing references)
//IL_005d: 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_006b: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_0087: 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_00fc: Unknown result type (might be due to invalid IL or missing references)
//IL_0103: Unknown result type (might be due to invalid IL or missing references)
//IL_0105: Unknown result type (might be due to invalid IL or missing references)
if (isSnakeGameOver)
{
return;
}
snakeMoveTimer += Time.deltaTime;
if (!(snakeMoveTimer >= snakeMoveInterval))
{
return;
}
snakeMoveTimer = 0f;
Vector2 val = snakeBody[0] + snakeDirection;
if (val.x < 0f || val.x >= (float)gridWidth || val.y < 0f || val.y >= (float)gridHeight)
{
isSnakeGameOver = true;
return;
}
for (int i = 0; i < snakeBody.Count; i++)
{
if (snakeBody[i] == val)
{
isSnakeGameOver = true;
return;
}
}
snakeBody.Insert(0, val);
if (val == foodPosition)
{
snakeScore += 250;
SpawnFoodNode();
if ((Object)(object)playerPhysics != (Object)null)
{
playerPhysics.AddTorque(45f, (ForceMode2D)1);
}
}
else
{
snakeBody.RemoveAt(snakeBody.Count - 1);
}
}
private void DrawClickerCore()
{
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_0161: Unknown result type (might be due to invalid IL or missing references)
//IL_016b: Unknown result type (might be due to invalid IL or missing references)
GUILayout.Label("=== DOPAMINE FACTORY ===", winLabelBold, Array.Empty<GUILayoutOption>());
GUILayout.Box($"Dopamine: {digitalDopaminePoints:F0}", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(60f) });
GUILayout.Label($"Boredom Level: {boredomLevel:F1}%", Array.Empty<GUILayoutOption>());
if (boredomLevel > 50.0)
{
GUI.color = Color.red;
}
GUILayout.HorizontalSlider((float)boredomLevel, 0f, 100f, Array.Empty<GUILayoutOption>());
GUI.color = Color.white;
if (GUILayout.Button("\ud83d\udca5 BIG DOPAMINE BUTTON \ud83d\udca5", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(80f) }))
{
double val = dopaminePerClick * (100.0 - boredomLevel) / 100.0;
digitalDopaminePoints += Math.Max(1.0, val);
boredomLevel -= 5.0;
if (boredomLevel < 0.0)
{
boredomLevel = 0.0;
}
if ((Object)(object)playerPhysics != (Object)null)
{
playerPhysics.AddForce(Vector2.up * 300f, (ForceMode2D)1);
}
}
if (GUILayout.Button($"Upgrade (+1 Power) - Cost: {100.0 + dopaminePerClick * 10.0:F0} pts", Array.Empty<GUILayoutOption>()))
{
double num = 100.0 + dopaminePerClick * 10.0;
if (digitalDopaminePoints >= num)
{
digitalDopaminePoints -= num;
dopaminePerClick += 1.0;
}
}
if (GUILayout.Button("☕ Coffee (Reduces Boredom)", Array.Empty<GUILayoutOption>()))
{
ActivateCoffeeBoost();
boredomLevel = 0.0;
}
}
private void DrawTicTacToeCore()
{
GUILayout.Label(tttStatus, winLabelBold, Array.Empty<GUILayoutOption>());
for (int i = 0; i < 3; i++)
{
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
for (int j = 0; j < 3; j++)
{
int num = i * 3 + j;
if (GUILayout.Button((tttBoard[num] == "") ? " " : tttBoard[num], (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(90f),
GUILayout.Height(70f)
}))
{
HandleTicTacToeMove(num);
}
}
GUILayout.EndHorizontal();
}
if (GUILayout.Button("Reset TicTacToe", Array.Empty<GUILayoutOption>()))
{
ResetTicTacToeEngine();
}
}
private void ResetTicTacToeEngine()
{
for (int i = 0; i < 9; i++)
{
tttBoard[i] = "";
}
isXTurn = true;
tttStatus = "PLAYER X TURN";
}
private void HandleTicTacToeMove(int index)
{
if (string.IsNullOrEmpty(tttBoard[index]) && !tttStatus.Contains("WIN"))
{
tttBoard[index] = (isXTurn ? "X" : "O");
if (CheckTicTacToeWin())
{
tttStatus = (isXTurn ? "X" : "O") + " WINS!";
return;
}
isXTurn = !isXTurn;
tttStatus = "PLAYER " + (isXTurn ? "X" : "O") + " TURN";
}
}
private bool CheckTicTacToeWin()
{
int[,] array = new int[8, 3]
{
{ 0, 1, 2 },
{ 3, 4, 5 },
{ 6, 7, 8 },
{ 0, 3, 6 },
{ 1, 4, 7 },
{ 2, 5, 8 },
{ 0, 4, 8 },
{ 2, 4, 6 }
};
for (int i = 0; i < 8; i++)
{
if (tttBoard[array[i, 0]] != "" && tttBoard[array[i, 0]] == tttBoard[array[i, 1]] && tttBoard[array[i, 0]] == tttBoard[array[i, 2]])
{
return true;
}
}
return false;
}
private void DrawMemoryMatchCore()
{
GUILayout.Label($"Memory Matches: {memoryMatchScore}/8", winLabelBold, Array.Empty<GUILayoutOption>());
for (int i = 0; i < 4; i++)
{
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
for (int j = 0; j < 4; j++)
{
int num = i * 4 + j;
string text = ((memoryRevealed[num] || num == firstSelectedCardIndex || num == secondSelectedCardIndex) ? memoryGrid[num].ToString() : "?");
if (GUILayout.Button(text, (GUILayoutOption[])(object)new GUILayoutOption[2]
{
GUILayout.Width(65f),
GUILayout.Height(55f)
}))
{
HandleMemorySelectionIndex(num);
}
}
GUILayout.EndHorizontal();
}
if (GUILayout.Button("New Game", Array.Empty<GUILayoutOption>()))
{
ResetMemoryEngine();
}
}
private void ResetMemoryEngine()
{
memoryMatchScore = 0;
firstSelectedCardIndex = -1;
secondSelectedCardIndex = -1;
List<int> list = new List<int>
{
1, 1, 2, 2, 3, 3, 4, 4, 5, 5,
6, 6, 7, 7, 8, 8
};
for (int i = 0; i < 16; i++)
{
int index = Random.Range(0, list.Count);
memoryGrid[i] = list[index];
list.RemoveAt(index);
memoryRevealed[i] = false;
}
}
private void HandleMemorySelectionIndex(int idx)
{
if (memoryRevealed[idx] || idx == firstSelectedCardIndex || idx == secondSelectedCardIndex)
{
return;
}
if (firstSelectedCardIndex == -1)
{
firstSelectedCardIndex = idx;
return;
}
secondSelectedCardIndex = idx;
if (memoryGrid[firstSelectedCardIndex] == memoryGrid[secondSelectedCardIndex])
{
memoryRevealed[firstSelectedCardIndex] = true;
memoryRevealed[secondSelectedCardIndex] = true;
memoryMatchScore++;
firstSelectedCardIndex = -1;
secondSelectedCardIndex = -1;
}
else
{
((MonoBehaviour)this).StartCoroutine(ClearMemorySelectionBuffer());
}
}
[IteratorStateMachine(typeof(<ClearMemorySelectionBuffer>d__99))]
private IEnumerator ClearMemorySelectionBuffer()
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <ClearMemorySelectionBuffer>d__99(0)
{
<>4__this = this
};
}
private void DrawCasinoCore()
{
GUILayout.Label($"CASINO CREDITS: {casinoCredits}", winLabelBold, Array.Empty<GUILayoutOption>());
GUILayout.Label(currentSlots[0] + " " + currentSlots[1] + " " + currentSlots[2], arcadeMatrixStyle, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(90f) });
if (GUILayout.Button("SPIN -50 Credits", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(55f) }) && casinoCredits >= 50 && !isSpinning)
{
casinoCredits -= 50;
((MonoBehaviour)this).StartCoroutine(SpinSlots());
}
if (GUILayout.Button("☕ Free Coffee Spin", Array.Empty<GUILayoutOption>()))
{
ActivateCoffeeBoost();
}
}
[IteratorStateMachine(typeof(<SpinSlots>d__101))]
private IEnumerator SpinSlots()
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <SpinSlots>d__101(0)
{
<>4__this = this
};
}
private void ToggleDance()
{
isPlayerDancing = !isPlayerDancing;
if (!isPlayerDancing && (Object)(object)playerPhysics != (Object)null)
{
playerPhysics.angularVelocity = 0f;
}
statusMessageText = (isPlayerDancing ? "\ud83d\udc83 Dance Mode Activated!" : "Dance Mode Disabled.");
}
private void EnlargePlayer()
{
//IL_0030: 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)
if ((Object)(object)playerPhysics != (Object)null)
{
isPlayerEnlarged = true;
enlargedTimer = 10f;
((Component)playerPhysics).transform.localScale = originalPlayerScale * 3f;
statusMessageText = "\ud83d\udc18 PLAYER ENLARGED FOR 10 SECONDS!";
}
}
private void RegisterExtendedTerminalCommands()
{
terminalCommandsRegistry.Add("help - Show commands");
terminalCommandsRegistry.Add("cls - Clear terminal");
terminalCommandsRegistry.Add("coffee - Fix boredom");
terminalCommandsRegistry.Add("yeet - Launch player");
terminalCommandsRegistry.Add("dance - Toggle dance");
terminalCommandsRegistry.Add("big - Enlarge player");
}
private void DrawScriptTerminalWindow(int windowID)
{
//IL_0001: 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_001a: 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)
Vector2 val = GUILayout.BeginScrollView(Vector2.zero, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandHeight(true) });
foreach (string terminalLogLine in terminalLogLines)
{
GUILayout.Label(terminalLogLine, terminalOutputStyle, Array.Empty<GUILayoutOption>());
}
GUILayout.EndScrollView();
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
terminalInputText = GUILayout.TextField(terminalInputText, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandWidth(true) });
if (GUILayout.Button("EXECUTE", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) }))
{
ProcessConsoleCommandString(terminalInputText);
terminalInputText = "";
}
GUILayout.EndHorizontal();
GUI.DragWindow(new Rect(0f, 0f, 10000f, 24f));
}
private void ProcessConsoleCommandString(string cmd)
{
//IL_0113: Unknown result type (might be due to invalid IL or missing references)
//IL_011d: Unknown result type (might be due to invalid IL or missing references)
terminalLogLines.Add("> " + cmd);
switch (cmd.ToLower().Trim())
{
case "help":
{
foreach (string item in terminalCommandsRegistry)
{
terminalLogLines.Add(item);
}
return;
}
case "cls":
terminalLogLines.Clear();
return;
case "coffee":
ActivateCoffeeBoost();
return;
case "dance":
ToggleDance();
return;
case "big":
EnlargePlayer();
return;
case "yeet":
if ((Object)(object)playerPhysics != (Object)null)
{
playerPhysics.AddForce(Vector2.up * 1800f, (ForceMode2D)1);
return;
}
break;
}
terminalLogLines.Add("Unknown command. Type 'help'.");
}
private void DrawControlPanelWindow(int windowID)
{
//IL_0112: Unknown result type (might be due to invalid IL or missing references)
GUILayout.Label("=== BennOS Control Panel ===", fileSystemHeaderStyle, Array.Empty<GUILayoutOption>());
GUILayout.Label($"Chaos Intensity: {continuousScrambleIntensity:F1}", Array.Empty<GUILayoutOption>());
continuousScrambleIntensity = GUILayout.HorizontalSlider(continuousScrambleIntensity, 0f, 10f, Array.Empty<GUILayoutOption>());
GUILayout.Label($"Ping Frequency: {discordPingFrequency:F1}s", Array.Empty<GUILayoutOption>());
discordPingFrequency = GUILayout.HorizontalSlider(discordPingFrequency, 0.5f, 15f, Array.Empty<GUILayoutOption>());
GUILayout.Space(20f);
if (GUILayout.Button("☕ ACTIVATE COFFEE", redButtonStyle, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(40f) }))
{
ActivateCoffeeBoost();
}
if (GUILayout.Button("EMERGENCY RESTORE", redButtonStyle, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(40f) }))
{
EmergencyFullRestore();
}
GUI.DragWindow(new Rect(0f, 0f, 10000f, 24f));
}
private void DrawNotepadRegistryWindow(int windowID)
{
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
notepadBufferText = GUILayout.TextArea(notepadBufferText, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandHeight(true) });
GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>());
if (GUILayout.Button("Save", Array.Empty<GUILayoutOption>()))
{
statusMessageText = "File saved.";
}
if (GUILayout.Button("Clear", Array.Empty<GUILayoutOption>()))
{
notepadBufferText = "";
}
GUILayout.EndHorizontal();
GUI.DragWindow(new Rect(0f, 0f, 10000f, 24f));
}
private void ActivateCoffeeBoost()
{
//IL_0022: 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)
coffeeBoostTimer = 10f;
if ((Object)(object)playerPhysics != (Object)null)
{
playerPhysics.AddForce(Vector2.up * 950f, (ForceMode2D)1);
}
statusMessageText = "☕ COFFEE BOOST ACTIVATED!";
}
private void EmergencyFullRestore()
{
//IL_0075: 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_0040: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)playerPhysics != (Object)null)
{
playerPhysics.mass = 1f;
playerPhysics.velocity = Vector2.zero;
((Component)playerPhysics).transform.localScale = originalPlayerScale;
isPlayerEnlarged = false;
isPlayerDancing = false;
playerPhysics.angularVelocity = 0f;
}
Physics2D.gravity = new Vector2(0f, -9.81f);
Time.timeScale = 1f;
continuousScrambleIntensity = 0f;
coffeeBoostTimer = 0f;
ResetAllGames();
statusMessageText = "Full system restore completed.";
}
private void ResetAllGames()
{
ResetSpaceInvadersEngine();
ResetSnakeEngine();
ResetTicTacToeEngine();
ResetMemoryEngine();
}
private void SetupAdvancedThemeStyles()
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: 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_0096: 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)
//IL_00bf: 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_00d0: Unknown result type (might be due to invalid IL or missing references)
//IL_00dd: Expected O, but got Unknown
//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_00f0: Unknown result type (might be due to invalid IL or missing references)
//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
//IL_0103: Expected O, but got Unknown
//IL_0109: Expected O, but got Unknown
//IL_0114: Unknown result type (might be due to invalid IL or missing references)
//IL_0119: 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_0134: Expected O, but got Unknown
//IL_013f: 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)
//IL_014c: Unknown result type (might be due to invalid IL or missing references)
//IL_0152: 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_016b: Expected O, but got Unknown
//IL_016c: 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_0183: Expected O, but got Unknown
//IL_018e: Unknown result type (might be due to invalid IL or missing references)
//IL_0193: Unknown result type (might be due to invalid IL or missing references)
//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
//IL_01a6: 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_01be: Expected O, but got Unknown
//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
//IL_01ce: Unknown result type (might be due to invalid IL or missing references)
//IL_01e0: Expected O, but got Unknown
//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
//IL_01f0: 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_01fe: Unknown result type (might be due to invalid IL or missing references)
//IL_020e: Expected O, but got Unknown
//IL_0219: Unknown result type (might be due to invalid IL or missing references)
//IL_021e: Unknown result type (might be due to invalid IL or missing references)
//IL_0224: Unknown result type (might be due to invalid IL or missing references)
//IL_0234: Expected O, but got Unknown
//IL_023f: Unknown result type (might be due to invalid IL or missing references)
//IL_0244: Unknown result type (might be due to invalid IL or missing references)
//IL_024c: 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_025d: Unknown result type (might be due to invalid IL or missing references)
//IL_026b: Expected O, but got Unknown
Texture2D background = CreateFlatTexture(new Color(0.82f, 0.04f, 0.04f, 1f));
Texture2D background2 = CreateFlatTexture(new Color(0.08f, 0.09f, 0.11f, 0.98f));
Texture2D background3 = CreateFlatTexture(new Color(0.15f, 0.16f, 0.18f, 1f));
Texture2D background4 = CreateFlatTexture(new Color(0.05f, 0.3f, 0.75f, 1f));
Texture2D background5 = CreateFlatTexture(new Color(0.02f, 0.03f, 0.04f, 1f));
GUIStyle val = new GUIStyle(GUI.skin.button);
val.normal.background = background;
val.normal.textColor = Color.white;
val.fontStyle = (FontStyle)1;
redButtonStyle = val;
GUIStyle val2 = new GUIStyle();
val2.normal.background = background2;
val2.padding = new RectOffset(10, 10, 10, 10);
panelStyle = val2;
GUIStyle val3 = new GUIStyle(GUI.skin.box);
val3.normal.background = background5;
val3.alignment = (TextAnchor)4;
arenaStyle = val3;
GUIStyle val4 = new GUIStyle(GUI.skin.label)
{
fontStyle = (FontStyle)1
};
val4.normal.textColor = Color.cyan;
val4.fontSize = 18;
winLabelBold = val4;
GUIStyle val5 = new GUIStyle();
val5.normal.background = background3;
taskbarStyle = val5;
GUIStyle val6 = new GUIStyle(GUI.skin.button);
val6.normal.background = background4;
val6.normal.textColor = Color.white;
val6.fontStyle = (FontStyle)1;
startButtonStyle = val6;
GUIStyle val7 = new GUIStyle(GUI.skin.box);
val7.normal.background = background2;
startMenuStyle = val7;
GUIStyle val8 = new GUIStyle(GUI.skin.label)
{
fontStyle = (FontStyle)1
};
val8.normal.textColor = Color.yellow;
fileSystemHeaderStyle = val8;
GUIStyle val9 = new GUIStyle(GUI.skin.label);
val9.normal.textColor = Color.green;
terminalOutputStyle = val9;
GUIStyle val10 = new GUIStyle(GUI.skin.label)
{
fontStyle = (FontStyle)1
};
val10.normal.textColor = Color.white;
val10.fontSize = 22;
arcadeMatrixStyle = val10;
}
private AudioClip CreateDiscordPingClip()
{
int num = 44100;
float num2 = 0.22f;
int num3 = (int)((float)num * num2);
float[] array = new float[num3];
for (int i = 0; i < num3; i++)
{
float num4 = (float)i / (float)num;
float num5 = ((num4 < 0.07f) ? 659f : 880f);
array[i] = Mathf.Sin((float)Math.PI * 2f * num5 * num4) * 0.4f;
}
AudioClip val = AudioClip.Create("Ping", num3, 1, num, false);
val.SetData(array, 0);
return val;
}
private Texture2D CreateFlatTexture(Color color)
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0009: Expected O, but got Unknown
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
Texture2D val = new Texture2D(1, 1);
val.SetPixel(0, 0, color);
val.Apply();
return val;
}
private void GenerateMassiveFileDatabase()
{
virtualFolderStructure["C:\\BennOS"] = new List<string> { "Programs", "System32", "Logs" };
virtualFileStructure["C:\\BennOS\\Programs\\Games"] = new List<string> { "SpaceInvaders.exe", "SnakeGame.exe", "CyberClicker.exe", "MemoryMatch.exe", "Coffee.sys" };
}
}