Decompiled source of CiupercealaSounds v1.0.0

CiupercealaSounds/Gagaleala.dll

Decompiled a week ago
using System;
using System.Collections;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using MemeSoundboard;
using UnityEngine;
using UnityEngine.Networking;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("Gagaleala")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Gagaleala")]
[assembly: AssemblyCopyright("Copyright ©  2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("2a006011-793f-4898-acd0-514b6b43a42d")]
[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 CiupercealaSounds;

[BepInPlugin("com.Ciuperceala.CustomSounds", "Ciuperceala Sounds", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
	private const string SoundsFolderName = "Sounds";

	private void Awake()
	{
		((BaseUnityPlugin)this).Logger.LogInfo((object)"Modul CiupercealaSounds a pornit! Incarc sunetele...");
		string text = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "Sounds");
		if (!Directory.Exists(text))
		{
			((BaseUnityPlugin)this).Logger.LogError((object)("Nu am gasit folderul de sunete: " + text));
			((BaseUnityPlugin)this).Logger.LogError((object)"Creeaza un folder 'Sounds' langa fisierul .dll si pune fisierele .wav acolo.");
			return;
		}
		string[] files = Directory.GetFiles(text, "*.wav");
		if (files.Length == 0)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)("Folderul " + text + " exista, dar nu contine fisiere .wav."));
		}
		string[] array = files;
		foreach (string text2 in array)
		{
			string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(text2);
			((MonoBehaviour)this).StartCoroutine(LoadAudioAndRegister(fileNameWithoutExtension, text2));
		}
	}

	private IEnumerator LoadAudioAndRegister(string soundName, string filePath)
	{
		if (!File.Exists(filePath))
		{
			((BaseUnityPlugin)this).Logger.LogError((object)("Nu am gasit fisierul audio la: " + filePath));
			yield break;
		}
		string absoluteUri = new Uri(filePath).AbsoluteUri;
		UnityWebRequest uwr = UnityWebRequestMultimedia.GetAudioClip(absoluteUri, (AudioType)20);
		try
		{
			yield return uwr.SendWebRequest();
			if ((int)uwr.result != 1)
			{
				((BaseUnityPlugin)this).Logger.LogError((object)("Eroare la incarcarea " + soundName + ": " + uwr.error));
				yield break;
			}
			AudioClip content = DownloadHandlerAudioClip.GetContent(uwr);
			if ((Object)(object)content == (Object)null)
			{
				((BaseUnityPlugin)this).Logger.LogError((object)("Clipul audio pentru " + soundName + " a fost incarcat, dar rezultatul e null."));
				yield break;
			}
			MemeSoundboardBase.AddNewSound(soundName, content);
			((BaseUnityPlugin)this).Logger.LogInfo((object)("Am adaugat cu succes sunetul: " + soundName));
		}
		finally
		{
			((IDisposable)uwr)?.Dispose();
		}
	}
}