using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
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("Screamer")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Screamer")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("d07df4a6-49d8-4ea3-b3b8-5856c5d3555d")]
[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 Screamer;
public class ScreamerSystem : MonoBehaviour
{
[CompilerGenerated]
private sealed class <Screamer>d__8 : IEnumerator<object>, IDisposable, IEnumerator
{
private int <>1__state;
private object <>2__current;
public ScreamerSystem <>4__this;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <Screamer>d__8(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<>1__state = -2;
}
private bool MoveNext()
{
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Expected O, but got Unknown
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
if ((Object)(object)<>4__this.canvasScreamer != (Object)null && (Object)(object)<>4__this.audioScreamer != (Object)null)
{
<>4__this.Generate = false;
<>4__this.canvasScreamer.SetActive(true);
<>4__this.audioScreamer.Play();
<>2__current = (object)new WaitForSeconds(2f);
<>1__state = 1;
return true;
}
break;
case 1:
<>1__state = -1;
<>4__this.canvasScreamer.SetActive(false);
<>4__this.Generate = true;
break;
}
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 GameObject canvasScreamer;
private AudioSource audioScreamer;
private bool Generate = true;
private void Start()
{
SceneManager.sceneLoaded += onSceneLoaded;
LoadScreamerResources();
}
private void OnDestroy()
{
SceneManager.sceneLoaded -= onSceneLoaded;
}
private void onSceneLoaded(Scene scene, LoadSceneMode mode)
{
LoadScreamerResources();
}
private void LoadScreamerResources()
{
GameObject val = ((IEnumerable<GameObject>)Resources.FindObjectsOfTypeAll<GameObject>()).FirstOrDefault((Func<GameObject, bool>)((GameObject go) => ((Object)go).name == "GloboAsesino"));
if ((Object)(object)val != (Object)null)
{
GameObject val2 = Object.Instantiate<GameObject>(val);
((Object)val2).name = "";
Object.Destroy((Object)(object)val2.GetComponent<GloboAsesino>());
canvasScreamer = ((Component)val2.transform.Find("CanvasScreamer")).gameObject;
audioScreamer = canvasScreamer.GetComponent<AudioSource>();
if ((Object)(object)canvasScreamer != (Object)null)
{
canvasScreamer.SetActive(false);
}
}
else
{
Debug.LogError((object)"Не удалось загрузить префаб GloboAsesino из папки Resources");
}
}
private void Update()
{
if (Generate)
{
int num = Random.Range(0, 1000);
Debug.Log((object)num);
if (num == 5)
{
((MonoBehaviour)this).StartCoroutine(Screamer());
}
}
}
[IteratorStateMachine(typeof(<Screamer>d__8))]
private IEnumerator Screamer()
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <Screamer>d__8(0)
{
<>4__this = this
};
}
}
[BepInPlugin("ru.MxyfellKek.Screamer", "Screamer", "1.0.0")]
public class Setup : BaseUnityPlugin
{
private void Awake()
{
SceneManager.sceneLoaded += OnSceneLoaded;
}
private void OnDestroy()
{
SceneManager.sceneLoaded -= OnSceneLoaded;
}
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_0023: Expected O, but got Unknown
if (!(((Scene)(ref scene)).name == "menus"))
{
GameObject val = new GameObject("");
val.AddComponent<ScreamerSystem>();
}
}
}