using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using Photon.Pun;
using Photon.Realtime;
using UnityEngine;
[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.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyCompany("ANN")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("ANN")]
[assembly: AssemblyTitle("ANN")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace ANN;
internal class Data
{
internal const string Name = "Announcements";
internal const string GUID = "com.coolchair.announcements";
internal const string Version = "1.0.0";
}
[BepInPlugin("com.coolchair.announcements", "Announcements", "1.0.0")]
internal class Loader : BaseUnityPlugin
{
private void Awake()
{
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
((BaseUnityPlugin)this).Logger.LogMessage((object)"Loading");
new Harmony("com.coolchair.announcements").PatchAll();
((BaseUnityPlugin)this).Logger.LogMessage((object)"Loaded!");
}
}
[HarmonyPatch(typeof(ChatManager))]
internal class ChatManagerPatch
{
[HarmonyPatch("MessageSend")]
[HarmonyPrefix]
private static bool MessageSend_Prefix(ChatManager __instance, ref string ___chatMessage)
{
string[] array = ___chatMessage.Replace("|", string.Empty).ToLower().Split(new char[1] { ' ' });
string text = array[0];
string text2 = text;
if (text2 == "!pub" && array.Length >= 2)
{
string text3 = ___chatMessage.Replace("|", string.Empty).Substring(5);
Player[] playerList = PhotonNetwork.PlayerList;
foreach (Player val in playerList)
{
PlayerAvatar val2;
try
{
val2 = SemiFunc.PlayerAvatarGetFromPhotonPlayer(val);
}
catch
{
continue;
}
if (!((Object)(object)val2 == (Object)null))
{
val2.photonView.RPC("ChatMessageSendRPC", val, new object[2] { text3, false });
}
}
return false;
}
return true;
}
}