Please disclose if any significant portion of your mod was created 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 NotEnoughSubtitle v1.0.0
NotEnoughSubtitle.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using HarmonyLib; using Microsoft.CodeAnalysis; using NotEnoughSubtitle.Patches; using TMPro; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("RadiationIsCool")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("RadiationIsCool")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("8ee335db-0cbe-470c-8fbc-69263f01b35a")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace NotEnoughSubtitle { [BepInPlugin("Piggy3590.NotEnoughSubtitle", "Not Enough Subtitle", "1.0.0")] public class SubtitleModBase : BaseUnityPlugin { private const string modGUID = "Piggy3590.NotEnoughSubtitle"; private const string modName = "Not Enough Subtitle"; private const string modVersion = "1.0.0"; private readonly Harmony harmony = new Harmony("Piggy3590.NotEnoughSubtitle"); private static SubtitleModBase Instance; internal ManualLogSource mls; private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } mls = Logger.CreateLogSource("Piggy3590.NotEnoughSubtitle"); mls.LogInfo((object)"Not Enough Subtitle is loaded"); harmony.PatchAll(typeof(SubtitleModBase)); harmony.PatchAll(typeof(HUDManagerPatch)); harmony.PatchAll(typeof(StartOfRoundPatch)); } } } namespace NotEnoughSubtitle.Patches { [HarmonyPatch(typeof(StartOfRound))] internal class StartOfRoundPatch { public static float introTimer = 5000f; public static float firedTimer = 5000f; public static float zeroDayTimer = 5000f; [HarmonyPostfix] [HarmonyPatch("Awake")] private static void Awake_Postfix() { introTimer = 5000f; firedTimer = 5000f; zeroDayTimer = 5000f; } [HarmonyPostfix] [HarmonyPatch("Update")] private static void Update_Postfix() { if (introTimer < 5000f) { introTimer += Time.deltaTime; } if (firedTimer < 5000f) { firedTimer += Time.deltaTime; } if (zeroDayTimer < 5000f) { zeroDayTimer += Time.deltaTime; } if (introTimer > 7f && introTimer < 7.3f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 당신의 첫 근무일에 오신 것을 환영합니다."; } if (introTimer > 10.1f && introTimer < 10.4f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 이곳은 계약 기간 동안 여러분의 의식주가 이루어지는,"; } if (introTimer > 12.5f && introTimer < 13f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 여러분만의 자동 조종 함선입니다."; } if (introTimer > 15.3f && introTimer < 15.5f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "(알아들을 수 없는 말)"; } if (introTimer > 20f && (double)introTimer < 20.3) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 집처럼 편안하게 지내시길 바랍니다."; } if ((double)introTimer > 21.7 && introTimer < 22f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 탑승 절차를 완료하셨다면 지침서를 확인하신 후\n함선의 컴퓨터 단말기에 로그인하시기 바랍니다."; } if ((double)introTimer > 28.3 && introTimer < 29f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 우리는 여러분이 회사의 큰 자산이 될 것이라고 믿습니다."; } if (introTimer > 31f && introTimer < 32f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 회사의 큰 큰 자산 회사의 큰 큰 자산..."; } if (introTimer > 37f && introTimer < 38f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = ""; } if (firedTimer > 0.15f && firedTimer < 1f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#F15F5F>컴퓨터 파일럿:</color> 여러분들은 수익 할당량을 충족하지 못했습니다."; } if (firedTimer > 2.2f && firedTimer < 2.5f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#F15F5F>컴퓨터 파일럿:</color> 따라서 여러분들의 성과는 기준 미달로 평가되었습니다."; } if (firedTimer > 5.5f && firedTimer < 6f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#F15F5F>컴퓨터 파일럿:</color> 우리의 징계 절차에 오신 것을 환영합니다."; } if (firedTimer > 8f && firedTimer < 9f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = ""; } if (zeroDayTimer > 5.25f && zeroDayTimer < 5.5f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 즉시 회사 건물로 이동하여 폐철물이나 기타 물건들을 판매하십시오."; } if (zeroDayTimer > 10f && zeroDayTimer < 11f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 이익 할당량을 충족시킬 수 있는 시간이 0일 남았습니다."; } if (zeroDayTimer > 13.4f && zeroDayTimer < 14f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = "<color=#5CD1E5>컴퓨터 파일럿:</color> 터미널을 사용하여 함선을 회사 건물로 이동시킬 수 있습니다."; } if (zeroDayTimer > 17f && zeroDayTimer < 18f) { ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = ""; } } [HarmonyPostfix] [HarmonyPatch("playersFiredGameOver")] private static void playersFiredGameOver_Postfix() { firedTimer = -5f; } [HarmonyPostfix] [HarmonyPatch("playDaysLeftAlertSFXDelayed")] private static void playDaysLeftAlertSFXDelayed_Postfix() { zeroDayTimer = -3f; } [HarmonyPostfix] [HarmonyPatch("firstDayAnimation")] private static void firstDayAnimation_Postfix() { introTimer = -6f; } [HarmonyPostfix] [HarmonyPatch("DisableShipSpeakerLocalClient")] private static void DisableShipSpeakerLocalClient_Postfix() { introTimer = 5000f; firedTimer = 5000f; zeroDayTimer = 5000f; ((TMP_Text)HUDManagerPatch.RsubtitleGUItext).text = ""; } } [HarmonyPatch(typeof(HUDManager))] internal class HUDManagerPatch { private static TextMeshProUGUI textComponent; public static TextMeshProUGUI RsubtitleGUItext; [HarmonyPostfix] [HarmonyPatch("Awake")] private static void Awake_Postfix(ref HUDManager __instance) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject("testSubtitlesGUI"); val.AddComponent<RectTransform>(); TextMeshProUGUI val2 = val.AddComponent<TextMeshProUGUI>(); RectTransform rectTransform = ((TMP_Text)val2).rectTransform; ((Transform)rectTransform).SetParent(GameObject.Find("Systems/UI/Canvas/Panel/GameObject/PlayerScreen").transform, false); rectTransform.sizeDelta = new Vector2(600f, 200f); rectTransform.anchoredPosition = new Vector2(0f, -125f); ((TMP_Text)val2).alignment = (TextAlignmentOptions)514; ((TMP_Text)val2).font = ((TMP_Text)__instance.controlTipLines[0]).font; ((TMP_Text)val2).fontSize = 20f; RsubtitleGUItext = val2; } [HarmonyPostfix] [HarmonyPatch("Update")] private static void Update_Postfix() { if ((Object)(object)RsubtitleGUItext == (Object)(object)textComponent) { ((TMP_Text)RsubtitleGUItext).text = "Testing"; } } } }