using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Json.Serialization;
using BepInEx;
using BepInEx.Core.Logging.Interpolation;
using BepInEx.Logging;
using BepInEx.Unity.IL2CPP;
using CellMenu;
using ExtraRundownCustomization.DataHolders;
using ExtraRundownCustomization.Handlers;
using ExtraRundownCustomization.Patches;
using ExtraRundownCustomization.Utils;
using GTFO.API;
using GameData;
using HarmonyLib;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;
using LocalProgression;
using LocalProgression.Data;
using Localization;
using MTFO.API;
using Microsoft.CodeAnalysis;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("ExtraRundownCustomization")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.1")]
[assembly: AssemblyInformationalVersion("1.0.1+git2e0460a-dirty-master.2e0460a7117c9f0b5788987f3f0982352b03d07a")]
[assembly: AssemblyProduct("ExtraRundownCustomization")]
[assembly: AssemblyTitle("ExtraRundownCustomization")]
[assembly: TargetPlatform("Windows7.0")]
[assembly: SupportedOSPlatform("Windows7.0")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.1.0")]
[module: UnverifiableCode]
[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 ExtraRundownCustomization
{
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("RLC.ExtraRundownCustomization", "ExtraRundownCustomization", "1.0.1")]
internal class EntryPoint : BasePlugin
{
private static Harmony _Harmony;
public override void Load()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Expected O, but got Unknown
_Harmony = new Harmony("ExtraRundownCustomization.Harmony");
GUI_Patches.Setup(_Harmony);
JsonHandler.SetupJson();
((BasePlugin)this).Log.LogInfo((object)"ExtraRundownCustomisation Loaded");
}
}
[GeneratedCode("VersionInfoGenerator", "2.1.3+git35c0c2a-master")]
[CompilerGenerated]
internal static class VersionInfo
{
public const string RootNamespace = "ExtraRundownCustomization";
public const string Version = "1.0.1";
public const string VersionPrerelease = null;
public const string VersionMetadata = "git2e0460a-dirty-master";
public const string SemVer = "1.0.1+git2e0460a-dirty-master";
public const string GitRevShort = "2e0460a-dirty";
public const string GitRevLong = "2e0460a7117c9f0b5788987f3f0982352b03d07a-dirty";
public const string GitBranch = "master";
public const string GitTag = null;
public const int GitCommitsSinceTag = 0;
public const bool GitIsDirty = true;
}
}
namespace ExtraRundownCustomization.Utils
{
public class JsonHandler
{
private static string ERC_CustomPath;
private static readonly JsonSerializerOptions _setting = new JsonSerializerOptions
{
ReadCommentHandling = JsonCommentHandling.Skip,
IncludeFields = true,
PropertyNameCaseInsensitive = true,
WriteIndented = true,
IgnoreReadOnlyProperties = true,
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping
};
public static void SetupJson()
{
if (!MTFOPathAPI.HasCustomPath)
{
Log.Error("MTFO Custom path does not exist please ensure one exists before continuing");
return;
}
ERC_CustomPath = Path.Combine(MTFOPathAPI.CustomPath, "ExtraRundownCustomisation");
if (!Directory.Exists(ERC_CustomPath))
{
Directory.CreateDirectory(ERC_CustomPath);
}
Log.Info("ERC Custom path loaded");
MTFOHotReloadAPI.OnHotReload += OnHotReload;
LoadJson();
}
private static void LoadJson(bool isHotReload = false)
{
Log.Info("Loading Json Data");
RundownMenuHandlers.m_activeRundownSelectionData = DeserializeJsonAndCreateIfNotReal(Path.Combine(ERC_CustomPath + "/rundownSelectors.json"), new CustomRundownSelections());
RundownMenuHandlers.m_activeGlobalRundownLayoutData = DeserializeJsonAndCreateIfNotReal(Path.Combine(ERC_CustomPath + "/rundownLayouts.json"), new RundownLayout());
RundownMenuHandlers.m_activeMiscRundownData = DeserializeJsonAndCreateIfNotReal(Path.Combine(ERC_CustomPath + "/miscFeatures.json"), new MiscRundownData());
RundownMenuHandlers.m_activeWatermarkData = DeserializeJsonAndCreateIfNotReal(Path.Combine(ERC_CustomPath + "/watermark.json"), new CustomWatermark());
Log.Info("Json data Loaded");
if (isHotReload)
{
RundownMenuHandlers.UpdateAll();
}
}
private static T DeserializeJsonAndCreateIfNotReal<T>(string jsonPath, T data)
{
if (!File.Exists(jsonPath))
{
string contents = JsonSerializer.Serialize(data, _setting);
File.WriteAllText(jsonPath, contents);
}
return JsonSerializer.Deserialize<T>(File.ReadAllText(jsonPath), _setting);
}
public static void OnHotReload()
{
Log.Info("Reloading json");
LoadJson(isHotReload: true);
}
}
internal static class Log
{
private static readonly ManualLogSource _Logger;
static Log()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Expected O, but got Unknown
_Logger = new ManualLogSource("ExtraRundownCustomization");
Logger.Sources.Add((ILogSource)(object)_Logger);
}
private static string Format(object msg)
{
return msg.ToString();
}
public static void Info(BepInExInfoLogInterpolatedStringHandler handler)
{
_Logger.LogInfo(handler);
}
public static void Info(string str)
{
_Logger.LogMessage((object)str);
}
public static void Info(object data)
{
_Logger.LogMessage((object)Format(data));
}
public static void Debug(BepInExDebugLogInterpolatedStringHandler handler)
{
_Logger.LogDebug(handler);
}
public static void Debug(string str)
{
_Logger.LogDebug((object)str);
}
public static void Debug(object data)
{
_Logger.LogDebug((object)Format(data));
}
public static void Error(BepInExErrorLogInterpolatedStringHandler handler)
{
_Logger.LogError(handler);
}
public static void Error(string str)
{
_Logger.LogError((object)str);
}
public static void Error(object data)
{
_Logger.LogError((object)Format(data));
}
public static void Fatal(BepInExFatalLogInterpolatedStringHandler handler)
{
_Logger.LogFatal(handler);
}
public static void Fatal(string str)
{
_Logger.LogFatal((object)str);
}
public static void Fatal(object data)
{
_Logger.LogFatal((object)Format(data));
}
public static void Warn(BepInExWarningLogInterpolatedStringHandler handler)
{
_Logger.LogWarning(handler);
}
public static void Warn(string str)
{
_Logger.LogWarning((object)str);
}
public static void Warn(object data)
{
_Logger.LogWarning((object)Format(data));
}
}
}
namespace ExtraRundownCustomization.Patches
{
public class GUI_Patches
{
[HarmonyPatch(typeof(CM_PageRundown_New), "Update")]
private class Patch_CM_PageRundown_New_Update
{
public static void Postfix(CM_PageRundown_New __instance)
{
if (__instance.m_currentRundownData == null)
{
((TMP_Text)__instance.m_textRundownHeaderTop).text = RundownMenuHandlers.m_activeRundownSelectionData.TextHeaderTop;
}
if (((Component)__instance.m_buttonConnect).gameObject.active)
{
((Component)__instance.m_textRundownHeaderTop).gameObject.SetActive(true);
}
if (((Component)((Component)__instance.m_popupMovement).transform.GetChild(0)).gameObject.active)
{
RundownMenuHandlers.m_popupMovementActive = true;
}
else
{
RundownMenuHandlers.m_popupMovementActive = false;
}
RundownMenuHandlers.LazyUpdate();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "ResetRundownSelection")]
private class Patch_CM_PageRundown_New_ResetRundownSelection
{
public static void Postfix()
{
RundownMenuHandlers.UpdateRundownSelections();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "UpdateHeaderText")]
private class Patch_CM_PageRundown_New_UpdateHeaderText
{
public static void Postfix()
{
RundownMenuHandlers.UpdateRundownSelections();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "SetIconStatus")]
private class Patch_CM_PageRundown_New_SetIconStatus
{
public static void Postfix()
{
RundownMenuHandlers.UpdateExpeditionIcons();
}
}
[HarmonyPatch(typeof(CM_ExpeditionIcon_New), "UpdateBorderColor")]
private class Patch_CM_ExpeditionIcon_New_UpdateBorderColor
{
public static void Postfix()
{
RundownMenuHandlers.UpdateExpeditionIcons();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "UpdateTierIconsWithProgression")]
private class Patch_CM_PageRundown_New_UpdateTierIconsWithProgression
{
public static void Postfix()
{
RundownMenuHandlers.UpdateExpeditionIcons();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "RundownSelectionRevealed")]
private class Patch_CM_PageRundown_New_RundownSelectionRevealed
{
public static void Postfix()
{
RundownMenuHandlers.UpdateRundownSelections();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "OnEnable")]
private class Patch_CM_PageRundown_New_OnEnable
{
public static void Postfix()
{
RundownMenuHandlers.UpdateRundownSelections();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "ResetElements")]
private class Patch_CM_PageRundown_New_ResetElements
{
public static void Postfix(CM_PageRundown_New __instance)
{
RundownMenuHandlers.UpdateRundownSelections();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "TryPlaceRundown")]
private class Patch_CM_PageRundown_New_TryPlaceRundown
{
public static void Postfix(CM_PageRundown_New __instance)
{
RundownMenuHandlers.UpdateRundownSelections();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "PlaceRundown")]
private class Patch_CM_PageRundown_New_PlaceRundown
{
public static void Postfix(CM_PageRundown_New __instance)
{
RundownMenuHandlers.UpdateRundownSelections();
}
}
[HarmonyPatch(typeof(CM_PageRundown_New), "Setup")]
private class Patch_CM_PageRundown_New_Setup
{
public static void Postfix(CM_PageRundown_New __instance)
{
CM_Item selectRundownButton = __instance.m_selectRundownButton;
selectRundownButton.OnBtnPressCallback += Action<int>.op_Implicit((Action<int>)delegate
{
RundownMenuHandlers.UpdateRundownSelections();
});
RundownMenuHandlers.m_rundownInstance = __instance;
RundownMenuHandlers.UpdateRundownSelections();
RundownMenuHandlers.SetupRundownFeatures();
}
}
[HarmonyPatch(typeof(PUI_Watermark), "UpdateWatermark")]
private class Patch_PUI_Watermark_UpdateWatermark
{
public static void Postfix(PUI_Watermark __instance)
{
RundownMenuHandlers.UpdateWatermark(__instance);
RundownMenuHandlers.m_watermarkInstance = __instance;
}
}
public static void Setup(Harmony harmony)
{
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_Update));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_ResetRundownSelection));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_UpdateHeaderText));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_SetIconStatus));
harmony.PatchAll(typeof(Patch_CM_ExpeditionIcon_New_UpdateBorderColor));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_UpdateTierIconsWithProgression));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_RundownSelectionRevealed));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_OnEnable));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_ResetElements));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_TryPlaceRundown));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_PlaceRundown));
harmony.PatchAll(typeof(Patch_CM_PageRundown_New_Setup));
harmony.PatchAll(typeof(Patch_PUI_Watermark_UpdateWatermark));
Log.Info("ERC GUI_Patches Setup");
}
}
}
namespace ExtraRundownCustomization.Handlers
{
public class RundownMenuHandlers
{
public static CustomRundownSelections m_activeRundownSelectionData;
public static RundownLayout m_activeGlobalRundownLayoutData;
public static MiscRundownData m_activeMiscRundownData;
public static CustomWatermark m_activeWatermarkData;
public static CM_PageRundown_New m_rundownInstance;
public static PUI_Watermark m_watermarkInstance;
public static bool m_popupMovementActive = false;
public static List<GameObject> rundownSelectors = new List<GameObject>();
private static GameObject customTierMarker1;
private static GameObject customTierMarker2;
private static GameObject customTierMarker3;
private static GameObject customTierMarker4;
private static GameObject customTierMarker5;
public static void UpdateAll()
{
UpdateRundownSelections();
UpdateWatermark(m_watermarkInstance);
UpdateMiscFeatures();
if (m_rundownInstance.m_rundownIsRevealed)
{
UpdateExpeditionIcons();
}
if (m_activeMiscRundownData.EnableERCDataReload)
{
AddReloadButton();
}
}
public static void AddReloadButton()
{
if (!((Object)(object)m_rundownInstance == (Object)null))
{
m_rundownInstance.m_matchmakeAllButton.SetText("RELOAD ERC DATA");
m_rundownInstance.m_matchmakeAllButton.OnBtnPressCallback = Action<int>.op_Implicit((Action<int>)delegate
{
JsonHandler.OnHotReload();
});
}
}
public static void UpdateRundownSelections(bool isRepeat = false)
{
AddReloadButton();
if (!m_activeRundownSelectionData.Enabled)
{
return;
}
CM_PageRundown_New rundownInstance = m_rundownInstance;
if ((Object)(object)rundownInstance == (Object)null)
{
Log.Info("Instance is null");
return;
}
UpdateMiscFeatures();
if (m_rundownInstance.m_currentRundownData != null)
{
((TMP_Text)rundownInstance.m_textRundownHeaderTop).text = "<color=white><size=300%>" + LocalizedText.op_Implicit(m_rundownInstance.m_currentRundownData.StorytellingData.Title);
return;
}
((TMP_Text)rundownInstance.m_textRundownHeader).text = m_activeRundownSelectionData.TextHeader;
((TMP_Text)rundownInstance.m_textRundownHeaderTop).text = m_activeRundownSelectionData.TextHeaderTop;
if (rundownInstance.m_rundownIsRevealed)
{
((TMP_Text)rundownInstance.m_textRundownHeader).text = LocalizedText.op_Implicit(m_rundownInstance.m_currentRundownData.StorytellingData.Title);
}
RundownSelector[] array = new RundownSelector[8] { m_activeRundownSelectionData.Selector_R1, m_activeRundownSelectionData.Selector_R7, m_activeRundownSelectionData.Selector_R2, m_activeRundownSelectionData.Selector_R3, m_activeRundownSelectionData.Selector_R4, m_activeRundownSelectionData.Selector_R5, m_activeRundownSelectionData.Selector_R6, m_activeRundownSelectionData.Selector_R8 };
for (int i = 0; i < rundownInstance.m_rundownSelections.Count; i++)
{
CM_RundownSelection comp2 = rundownInstance.m_rundownSelections[i];
RundownSelector data2 = array[i];
UpdateRundownSelector(comp2, data2);
}
static void UpdateRundownSelector(CM_RundownSelection comp, RundownSelector data)
{
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
//IL_0154: Unknown result type (might be due to invalid IL or missing references)
//IL_0174: Unknown result type (might be due to invalid IL or missing references)
//IL_0194: Unknown result type (might be due to invalid IL or missing references)
//IL_0199: Unknown result type (might be due to invalid IL or missing references)
//IL_01aa: Unknown result type (might be due to invalid IL or missing references)
//IL_00de: Unknown result type (might be due to invalid IL or missing references)
//IL_0113: Unknown result type (might be due to invalid IL or missing references)
//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
((Component)comp).transform.localPosition = data.pos;
((Component)comp).transform.localRotation = Quaternion.Euler((Vector3)data.rot);
((Component)comp).transform.localScale = data.scale;
if (((Component)comp).transform.GetChildCount() < 3)
{
if ((Object)(object)comp.m_altText == (Object)null)
{
comp.m_altText = ((Component)((Component)comp).transform.GetChild(0).GetChild(0)).GetComponent<TextMeshPro>();
((Component)comp.m_altText).gameObject.SetActive(true);
}
((TMP_Text)comp.m_altText).text = data.altText;
comp.m_altText.transform.localPosition = data.altTextPos;
}
else
{
Transform val = ((Component)comp).transform.Find("FriendsHosting");
if ((Object)(object)val != (Object)null)
{
Transform transform = new GameObject("TextHolder").transform;
transform.SetParent(((Component)comp).transform, false);
val.SetParent(transform, true);
Transform obj = ((Component)comp).transform.Find("RundownText");
Transform transform2 = new GameObject("TextHolder").transform;
transform2.SetParent(((Component)comp).transform, false);
obj.SetParent(transform2, true);
}
}
((TMP_Text)comp.m_rundownText).text = data.name;
comp.m_rundownText.transform.localPosition = data.namePos;
comp.m_rundownText.transform.parent.localScale = data.textScale;
comp.m_rundownText.transform.parent.localRotation = Quaternion.Inverse(((Component)comp).transform.localRotation);
comp.m_originalColor = data.color;
if (((CM_Item)comp).m_isHovering)
{
((CM_Item)comp).OnHoverIn();
}
else
{
((CM_Item)comp).OnHoverOut();
}
if (data.useFlatVersion)
{
comp.RotateGUIXFlat();
}
else
{
comp.ResetGUIXRotation();
}
comp.SetIsUsed(data.enabled);
for (int j = 0; j < ((Component)comp).transform.GetChildCount(); j++)
{
((Component)((Component)comp).transform.GetChild(j)).gameObject.SetActive(data.show);
}
((Behaviour)((CM_Item)comp).m_collider).enabled = data.show;
}
}
public static void UpdateExpeditionIcons()
{
UpdateMiscFeatures();
if (!m_activeGlobalRundownLayoutData.Enabled)
{
return;
}
if ((Object)(object)m_rundownInstance == (Object)null)
{
Log.Error("m_rundownInstance is null");
return;
}
((TMP_Text)m_rundownInstance.m_textRundownHeader).text = LocalizedText.op_Implicit(m_rundownInstance.m_currentRundownData.StorytellingData.Title);
IndividualRundownLayout individualRundownLayout = new IndividualRundownLayout[8] { m_activeGlobalRundownLayoutData.R1, m_activeGlobalRundownLayoutData.R2, m_activeGlobalRundownLayoutData.R3, m_activeGlobalRundownLayoutData.R4, m_activeGlobalRundownLayoutData.R5, m_activeGlobalRundownLayoutData.R6, m_activeGlobalRundownLayoutData.R7, m_activeGlobalRundownLayoutData.R8 }.FirstOrDefault((IndividualRundownLayout rundownData) => rundownData.RundownDatablockID == ((GameDataBlockBase<RundownDataBlock>)(object)m_rundownInstance.m_currentRundownData).persistentID);
int index;
if (individualRundownLayout != null)
{
UpdateRundown(individualRundownLayout);
}
static void DoLocalProgressionStuff(CM_ExpeditionIcon_New expIcon)
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_00e6: 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)
//IL_0152: 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_009b: Unknown result type (might be due to invalid IL or missing references)
//IL_008d: Unknown result type (might be due to invalid IL or missing references)
uint num = LocalProgressionManager.Current.ActiveRundownID();
ExpeditionProgressionData expeditionLP = LocalProgressionManager.Current.GetExpeditionLP(num, expIcon.Tier, expIcon.ExpIndex);
Color color = default(Color);
((Color)(ref color))..ctor(0f, 1f, 82f / 85f, 0.5f);
if (((Component)expIcon).transform.childCount > 1)
{
SpriteRenderer[] array = Il2CppArrayBase<SpriteRenderer>.op_Implicit(((Component)((Component)expIcon).transform.GetChild(1)).GetComponentsInChildren<SpriteRenderer>());
foreach (SpriteRenderer val in array)
{
if (expeditionLP.NoBoosterAllClearCount <= 0)
{
val.color = new Color(0f, 0f, 0f, 0f);
}
else
{
val.color = color;
}
}
}
else
{
GameObject obj = Object.Instantiate<GameObject>(((Component)((Component)expIcon).transform.GetChild(0).GetChild(1)).gameObject, ((Component)expIcon).transform);
obj.transform.localPosition = new Vector3(-3f, 0f, 0f);
obj.transform.localScale = new Vector3(0.97f, 0.97f, 0.97f);
SpriteRenderer[] array = Il2CppArrayBase<SpriteRenderer>.op_Implicit(obj.GetComponentsInChildren<SpriteRenderer>());
foreach (SpriteRenderer val2 in array)
{
if (expeditionLP.NoBoosterAllClearCount <= 0)
{
val2.color = new Color(0f, 0f, 0f, 0f);
}
else
{
val2.color = color;
}
}
}
}
void UpdateIcon(CM_ExpeditionIcon_New expIcon, ExpeditionButton data)
{
//IL_0052: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Unknown result type (might be due to invalid IL or missing references)
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
//IL_00b7: 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_0134: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
//IL_0178: Unknown result type (might be due to invalid IL or missing references)
//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
//IL_0185: Unknown result type (might be due to invalid IL or missing references)
//IL_018b: Invalid comparison between Unknown and I4
if ((Object)(object)expIcon == (Object)null)
{
Log.Error("expIcon was null in UpdateIcon");
}
else
{
expIcon.SetShortName("<color=white>" + data.label);
((Component)expIcon).transform.localPosition = data.buttonPos;
if (data.changeScale)
{
((Component)expIcon).transform.localScale = data.buttonScale;
}
expIcon.m_colorUnlocked = data.buttonColor;
expIcon.m_colorStory = data.buttonColor;
expIcon.m_colorLocked = data.buttonColor;
((CM_Item)expIcon).m_spriteAlphaOut = ((CM_Item)expIcon).m_spriteAlphaOver;
expIcon.SetBorderColor((Color)data.buttonColor);
((Component)expIcon.m_artifactHeatText).gameObject.SetActive(data.enableHeat);
((TMP_Text)expIcon.m_artifactHeatText).text = data.heatText;
expIcon.m_statusText.transform.localPosition = data.statusPos;
if (data.overrideDecryptText)
{
((Component)expIcon.m_decryptErrorText).gameObject.SetActive(true);
((TMP_Text)expIcon.m_decryptErrorText).text = data.decryptText;
}
if ((int)expIcon._Status_k__BackingField == 0 && (int)expIcon.Accessibility == 5)
{
expIcon.SetUnlockedByText();
}
((Graphic)expIcon.m_statusText).color = new Color(1f, 1f, 1f, 1f);
index++;
InteropAPI.ExecuteWhenPluginExists("Inas.LocalProgression", (Action<PluginInfo>)delegate
{
DoLocalProgressionStuff(expIcon);
});
}
}
void UpdateRundown(IndividualRundownLayout data)
{
//IL_0253: Unknown result type (might be due to invalid IL or missing references)
//IL_0271: Unknown result type (might be due to invalid IL or missing references)
if (data == null)
{
Log.Error("Data was null aborting UpdateRundown");
}
else if (data.Enabled)
{
index = 0;
if (data.Tier1 != null)
{
ExpeditionButton[] tier = data.Tier1;
foreach (ExpeditionButton data2 in tier)
{
if (m_rundownInstance.m_expIconsTier1 == null || m_rundownInstance.m_expIconsTier1.Count <= index)
{
break;
}
UpdateIcon(m_rundownInstance.m_expIconsTier1[index], data2);
}
}
index = 0;
if (data.Tier2 != null)
{
ExpeditionButton[] tier = data.Tier2;
foreach (ExpeditionButton data3 in tier)
{
if (m_rundownInstance.m_expIconsTier2 == null || m_rundownInstance.m_expIconsTier2.Count <= index)
{
break;
}
UpdateIcon(m_rundownInstance.m_expIconsTier2[index], data3);
}
}
index = 0;
if (data.Tier3 != null)
{
ExpeditionButton[] tier = data.Tier3;
foreach (ExpeditionButton data4 in tier)
{
if (m_rundownInstance.m_expIconsTier3 == null || m_rundownInstance.m_expIconsTier3.Count <= index)
{
break;
}
UpdateIcon(m_rundownInstance.m_expIconsTier3[index], data4);
}
}
index = 0;
if (data.Tier4 != null)
{
ExpeditionButton[] tier = data.Tier4;
foreach (ExpeditionButton data5 in tier)
{
if (m_rundownInstance.m_expIconsTier4 == null || m_rundownInstance.m_expIconsTier4.Count <= 0)
{
break;
}
UpdateIcon(m_rundownInstance.m_expIconsTier4[index], data5);
}
}
index = 0;
if (data.Tier5 != null)
{
ExpeditionButton[] tier = data.Tier5;
foreach (ExpeditionButton data6 in tier)
{
if (m_rundownInstance.m_expIconsTier5 == null || m_rundownInstance.m_expIconsTier5.Count <= 0)
{
break;
}
UpdateIcon(m_rundownInstance.m_expIconsTier5[index], data6);
}
}
if (((Component)m_rundownInstance.m_guix_Tier2).gameObject.active)
{
GameObject gameObject = ((Component)m_rundownInstance.m_guix_Ext).gameObject;
gameObject.SetActive(data.EnableExtensionPage);
gameObject.transform.localPosition = data.ExtensionPagePos;
gameObject.transform.localScale = new Vector3(0.85f, 0.85f, 0.85f);
((TMP_Text)m_rundownInstance.m_externalExpHeader).text = data.ExtensionPageText;
}
}
}
}
public static void UpdateMiscFeatures(bool isRepeat = false)
{
//IL_01e7: Unknown result type (might be due to invalid IL or missing references)
//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
//IL_054b: Unknown result type (might be due to invalid IL or missing references)
//IL_03cf: Unknown result type (might be due to invalid IL or missing references)
//IL_03f2: Unknown result type (might be due to invalid IL or missing references)
//IL_0415: Unknown result type (might be due to invalid IL or missing references)
//IL_0438: Unknown result type (might be due to invalid IL or missing references)
//IL_045b: Unknown result type (might be due to invalid IL or missing references)
//IL_066a: Unknown result type (might be due to invalid IL or missing references)
//IL_05fc: Unknown result type (might be due to invalid IL or missing references)
if (m_activeMiscRundownData == null)
{
Log.Error("Misc feature data was null");
}
else if ((Object)(object)m_rundownInstance == (Object)null)
{
Log.Error("rundown instance was null");
}
else
{
if (!m_activeMiscRundownData.Enabled)
{
return;
}
if (MTFOHotReloadAPI.HotReloadEnabled)
{
Transform child = ((Component)m_rundownInstance).transform.GetChild(2).GetChild(3);
for (int i = 0; i < child.childCount; i++)
{
if (((Object)child.GetChild(i)).name == "Button HotReload")
{
((Component)child.GetChild(i).GetChild(0)).gameObject.SetActive(true);
((Behaviour)((Component)child.GetChild(i)).GetComponent<TextMeshPro>()).enabled = true;
((Behaviour)((Component)child.GetChild(i)).GetComponent<BoxCollider2D>()).enabled = true;
}
}
}
((Component)((Component)m_rundownInstance.m_buttonVanityItemDrops).transform.GetChild(0)).gameObject.SetActive(m_activeMiscRundownData.EnableVanityPage);
((Behaviour)((Component)m_rundownInstance.m_buttonVanityItemDrops).GetComponent<BoxCollider2D>()).enabled = m_activeMiscRundownData.EnableVanityPage;
((Behaviour)((Component)m_rundownInstance.m_buttonVanityItemDrops).GetComponent<TextMeshPro>()).enabled = m_activeMiscRundownData.EnableVanityPage;
((Component)((Component)m_rundownInstance.m_vanityItemDropsNext).transform.GetChild(0)).gameObject.SetActive(m_activeMiscRundownData.EnableVanityPage);
((Component)((Component)m_rundownInstance.m_vanityItemDropsNext).transform.GetChild(1)).gameObject.SetActive(m_activeMiscRundownData.EnableVanityPage);
if (!m_activeMiscRundownData.EnableSectorSummary)
{
if (!((Object)(object)m_rundownInstance.m_tierMarkerSectorSummary == (Object)null))
{
((Component)m_rundownInstance.m_tierMarkerSectorSummary).transform.localPosition = new Vector3(90000f, 0f, 0f);
}
}
else if (!((Object)(object)m_rundownInstance.m_tierMarkerSectorSummary == (Object)null))
{
((Component)m_rundownInstance.m_tierMarkerSectorSummary).transform.localPosition = m_activeMiscRundownData.SectorSummaryPosition;
((Component)((Component)m_rundownInstance.m_tierMarkerSectorSummary).transform.GetChild(0).GetChild(0)).gameObject.SetActive(false);
}
if (m_rundownInstance.m_rundownIsRevealed)
{
Enumerator<CM_RundownSelection> enumerator = m_rundownInstance.m_rundownSelections.GetEnumerator();
while (enumerator.MoveNext())
{
((Component)enumerator.Current).gameObject.SetActive(false);
}
if (m_activeMiscRundownData.OverrideTierMarkerText)
{
if ((Object)(object)customTierMarker1 == (Object)null)
{
SetupRundownFeatures();
}
customTierMarker1.transform.SetSiblingIndex(m_rundownInstance.m_rundownHolder.childCount - 1);
customTierMarker2.transform.SetSiblingIndex(m_rundownInstance.m_rundownHolder.childCount - 1);
customTierMarker3.transform.SetSiblingIndex(m_rundownInstance.m_rundownHolder.childCount - 1);
customTierMarker4.transform.SetSiblingIndex(m_rundownInstance.m_rundownHolder.childCount - 1);
customTierMarker5.transform.SetSiblingIndex(m_rundownInstance.m_rundownHolder.childCount - 1);
CM_RundownTierMarker component = customTierMarker1.GetComponent<CM_RundownTierMarker>();
CM_RundownTierMarker component2 = customTierMarker2.GetComponent<CM_RundownTierMarker>();
CM_RundownTierMarker component3 = customTierMarker3.GetComponent<CM_RundownTierMarker>();
CM_RundownTierMarker component4 = customTierMarker4.GetComponent<CM_RundownTierMarker>();
CM_RundownTierMarker component5 = customTierMarker5.GetComponent<CM_RundownTierMarker>();
((TMP_Text)component.m_header).text = m_activeMiscRundownData.Tier1Text;
((TMP_Text)component2.m_header).text = m_activeMiscRundownData.Tier2Text;
((TMP_Text)component3.m_header).text = m_activeMiscRundownData.Tier3Text;
((TMP_Text)component4.m_header).text = m_activeMiscRundownData.Tier4Text;
((TMP_Text)component5.m_header).text = m_activeMiscRundownData.Tier5Text;
customTierMarker1.transform.localPosition = new Vector3(0f, -205f, 0f);
customTierMarker2.transform.localPosition = new Vector3(0f, -435f, 0f);
customTierMarker3.transform.localPosition = new Vector3(0f, -665f, 0f);
customTierMarker4.transform.localPosition = new Vector3(0f, -895f, 0f);
customTierMarker5.transform.localPosition = new Vector3(0f, -1125f, 0f);
customTierMarker1.SetActive(true);
customTierMarker2.SetActive(true);
customTierMarker3.SetActive(true);
customTierMarker4.SetActive(true);
customTierMarker5.SetActive(true);
((Component)m_rundownInstance.m_tierMarker1).gameObject.SetActive(false);
((Component)m_rundownInstance.m_tierMarker2).gameObject.SetActive(false);
((Component)m_rundownInstance.m_tierMarker3).gameObject.SetActive(false);
((Component)m_rundownInstance.m_tierMarker4).gameObject.SetActive(false);
((Component)m_rundownInstance.m_tierMarker5).gameObject.SetActive(false);
}
else
{
((Component)m_rundownInstance.m_tierMarker1).gameObject.SetActive(m_activeMiscRundownData.EnableTierMarkers);
((Graphic)m_rundownInstance.m_tierMarker1.m_header).color = new Color(0.5189f, 0.5189f, 0.5189f, 0.2745f);
((Component)m_rundownInstance.m_tierMarker2).gameObject.SetActive(m_activeMiscRundownData.EnableTierMarkers);
((Component)m_rundownInstance.m_tierMarker3).gameObject.SetActive(m_activeMiscRundownData.EnableTierMarkers);
((Component)m_rundownInstance.m_tierMarker4).gameObject.SetActive(m_activeMiscRundownData.EnableTierMarkers);
((Component)m_rundownInstance.m_tierMarker5).gameObject.SetActive(m_activeMiscRundownData.EnableTierMarkers);
}
if (m_activeMiscRundownData.EnableERCDataReload)
{
((Component)m_rundownInstance.m_matchmakeAllButton).gameObject.transform.localPosition = new Vector3(0f, 210f, 0f);
AddReloadButton();
}
((Component)((Component)m_rundownInstance).transform.GetChild(2).GetChild(4).GetChild(18)).gameObject.SetActive(false);
((Component)m_rundownInstance.m_rundownIntelButton).gameObject.SetActive(m_activeMiscRundownData.EnableIntelButton);
((Component)m_rundownInstance.m_rundownIntelButton).transform.localPosition = m_activeMiscRundownData.IntelButtonPosition;
}
((Component)((Component)m_rundownInstance.m_matchmakeAllButton).transform.GetChild(0)).gameObject.SetActive(m_activeMiscRundownData.EnableMatchmakingButton);
((Behaviour)((Component)m_rundownInstance.m_matchmakeAllButton).GetComponent<BoxCollider2D>()).enabled = m_activeMiscRundownData.EnableMatchmakingButton;
((Behaviour)((Component)m_rundownInstance.m_matchmakeAllButton).GetComponent<TextMeshPro>()).enabled = m_activeMiscRundownData.EnableMatchmakingButton;
if (m_activeMiscRundownData.EnableERCDataReload)
{
((Component)((Component)m_rundownInstance.m_matchmakeAllButton).transform.GetChild(0)).gameObject.SetActive(true);
((Behaviour)((Component)m_rundownInstance.m_matchmakeAllButton).GetComponent<BoxCollider2D>()).enabled = true;
((Behaviour)((Component)m_rundownInstance.m_matchmakeAllButton).GetComponent<TextMeshPro>()).enabled = true;
AddReloadButton();
}
((Component)((Component)m_rundownInstance.m_discordButton).transform.GetChild(0)).gameObject.SetActive(m_activeMiscRundownData.EnableButtonDiscord);
((Behaviour)((Component)m_rundownInstance.m_discordButton).GetComponent<BoxCollider2D>()).enabled = m_activeMiscRundownData.EnableButtonDiscord;
((Behaviour)((Component)m_rundownInstance.m_discordButton).GetComponent<TextMeshPro>()).enabled = m_activeMiscRundownData.EnableButtonDiscord;
((Component)((Component)m_rundownInstance.m_creditsButton).transform.GetChild(0)).gameObject.SetActive(m_activeMiscRundownData.EnableButtonCredits);
((Behaviour)((Component)m_rundownInstance.m_creditsButton).GetComponent<BoxCollider2D>()).enabled = m_activeMiscRundownData.EnableButtonCredits;
((Behaviour)((Component)m_rundownInstance.m_creditsButton).GetComponent<TextMeshPro>()).enabled = m_activeMiscRundownData.EnableButtonCredits;
((Component)((Component)m_rundownInstance.m_gifButton).transform.GetChild(0)).gameObject.SetActive(m_activeMiscRundownData.EnableDOWGif);
((Component)((Component)m_rundownInstance.m_tutorialButton).transform.GetChild(0)).gameObject.SetActive(m_activeMiscRundownData.EnableTutorialButton);
((Behaviour)((Component)m_rundownInstance.m_tutorialButton).GetComponent<BoxCollider2D>()).enabled = m_activeMiscRundownData.EnableTutorialButton;
}
}
public static void UpdateWatermark(PUI_Watermark __instance)
{
if (m_activeWatermarkData.Enabled)
{
((TMP_Text)__instance.m_watermarkText).text = m_activeWatermarkData.Text;
}
}
public static void SetupRundownFeatures()
{
customTierMarker1 = Object.Instantiate<GameObject>(m_rundownInstance.m_tierMarkerPrefab, m_rundownInstance.m_rundownHolder);
customTierMarker2 = Object.Instantiate<GameObject>(m_rundownInstance.m_tierMarkerPrefab, m_rundownInstance.m_rundownHolder);
customTierMarker3 = Object.Instantiate<GameObject>(m_rundownInstance.m_tierMarkerPrefab, m_rundownInstance.m_rundownHolder);
customTierMarker4 = Object.Instantiate<GameObject>(m_rundownInstance.m_tierMarkerPrefab, m_rundownInstance.m_rundownHolder);
customTierMarker5 = Object.Instantiate<GameObject>(m_rundownInstance.m_tierMarkerPrefab, m_rundownInstance.m_rundownHolder);
customTierMarker1.SetActive(false);
customTierMarker2.SetActive(false);
customTierMarker3.SetActive(false);
customTierMarker4.SetActive(false);
customTierMarker5.SetActive(false);
}
public static void LazyUpdate()
{
if (m_popupMovementActive)
{
Enumerator<CM_ExpeditionIcon_New> enumerator = m_rundownInstance.m_expIconsAll.GetEnumerator();
while (enumerator.MoveNext())
{
((Behaviour)((CM_Item)enumerator.Current).m_collider).enabled = false;
}
}
else
{
Enumerator<CM_ExpeditionIcon_New> enumerator = m_rundownInstance.m_expIconsAll.GetEnumerator();
while (enumerator.MoveNext())
{
((Behaviour)((CM_Item)enumerator.Current).m_collider).enabled = true;
}
}
}
}
}
namespace ExtraRundownCustomization.DataHolders
{
[Serializable]
public class Color
{
public float r { get; set; }
public float g { get; set; }
public float b { get; set; }
public float a { get; set; }
public static implicit operator Color(Color c)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
Color result = default(Color);
result.r = c.r;
result.g = c.g;
result.b = c.b;
result.a = c.a;
return result;
}
}
[Serializable]
public class CustomRundownSelections
{
public bool Enabled { get; set; }
public string TextHeader { get; set; } = "SELECT RUNDOWN";
public string TextHeaderTop { get; set; } = "<color=red>CLCTR MULTITHREAD PROCESSOR ACTIVATED";
public RundownSelector Selector_R1 { get; set; } = new RundownSelector
{
name = "R1",
altText = "<color=orange>ALT://",
pos = new Vector3
{
x = -476f,
y = 45f,
z = 0f
},
rot = new Vector3
{
x = 0f,
y = 0f,
z = 0f
},
scale = new Vector3
{
x = 1f,
y = 1f,
z = 1f
},
namePos = new Vector3
{
x = 0f,
y = 39f,
z = 0f
},
altTextPos = new Vector3
{
x = -46f,
y = 34.8f,
z = 0f
}
};
public RundownSelector Selector_R2 { get; set; } = new RundownSelector
{
name = "R2",
altText = "<color=orange>ALT://",
pos = new Vector3
{
x = -241f,
y = -78f,
z = 0f
},
rot = new Vector3
{
x = 0f,
y = 0f,
z = 0f
},
scale = new Vector3
{
x = 1f,
y = 1f,
z = 1f
},
namePos = new Vector3
{
x = 0f,
y = 39f,
z = 0f
},
altTextPos = new Vector3
{
x = -46f,
y = 34.8f,
z = 0f
}
};
public RundownSelector Selector_R3 { get; set; } = new RundownSelector
{
name = "R3",
altText = "<color=orange>ALT://",
pos = new Vector3
{
x = -346f,
y = 179.6f,
z = 13.956f
},
rot = new Vector3
{
x = 0f,
y = 0f,
z = 0f
},
scale = new Vector3
{
x = 1f,
y = 1f,
z = 1f
},
namePos = new Vector3
{
x = 0f,
y = 39f,
z = 0f
},
altTextPos = new Vector3
{
x = -46f,
y = 34.8f,
z = 0f
}
};
public RundownSelector Selector_R4 { get; set; } = new RundownSelector
{
name = "R4",
altText = "<color=orange>ALT://",
pos = new Vector3
{
x = -109f,
y = 226f,
z = 0f
},
rot = new Vector3
{
x = 0f,
y = 0f,
z = 0f
},
scale = new Vector3
{
x = 1f,
y = 1f,
z = 1f
},
namePos = new Vector3
{
x = 0f,
y = 39f,
z = 0f
},
altTextPos = new Vector3
{
x = -46f,
y = 34.8f,
z = 0f
}
};
public RundownSelector Selector_R5 { get; set; } = new RundownSelector
{
name = "R5",
altText = "<color=orange>ALT://",
pos = new Vector3
{
x = 55f,
y = -16f,
z = 0f
},
rot = new Vector3
{
x = 0f,
y = 0f,
z = 0f
},
scale = new Vector3
{
x = 1f,
y = 1f,
z = 1f
},
namePos = new Vector3
{
x = 0f,
y = 39f,
z = 0f
},
altTextPos = new Vector3
{
x = -46f,
y = 34.8f,
z = 0f
}
};
public RundownSelector Selector_R6 { get; set; } = new RundownSelector
{
name = "R6",
altText = "<color=orange>ALT://",
pos = new Vector3
{
x = 240f,
y = 235f,
z = 0f
},
rot = new Vector3
{
x = 0f,
y = 0f,
z = 0f
},
scale = new Vector3
{
x = 1f,
y = 1f,
z = 1f
},
namePos = new Vector3
{
x = 0f,
y = 39f,
z = 0f
},
altTextPos = new Vector3
{
x = -46f,
y = 34.8f,
z = 0f
}
};
public RundownSelector Selector_R7 { get; set; } = new RundownSelector
{
name = "R7",
altText = "",
pos = new Vector3
{
x = 317f,
y = -104f,
z = 0f
},
rot = new Vector3
{
x = 0f,
y = 0f,
z = 0f
},
scale = new Vector3
{
x = 1f,
y = 1f,
z = 1f
},
namePos = new Vector3
{
x = 0f,
y = 39f,
z = 0f
},
altTextPos = new Vector3
{
x = -46f,
y = 34.8f,
z = 0f
}
};
public RundownSelector_R8 Selector_R8 { get; set; } = new RundownSelector_R8
{
name = "R8",
pos = new Vector3
{
x = 550f,
y = 150f,
z = 0f
},
rot = new Vector3
{
x = 0f,
y = 0f,
z = 0f
},
scale = new Vector3
{
x = 1f,
y = 1f,
z = 1f
},
namePos = new Vector3
{
x = 0f,
y = 134f,
z = 0f
}
};
}
public class RundownSelector
{
public bool show { get; set; } = true;
public bool enabled { get; set; } = true;
public string name { get; set; }
public virtual string altText { get; set; }
public bool useFlatVersion { get; set; }
public Vector3 pos { get; set; }
public Vector3 rot { get; set; }
public Vector3 scale { get; set; }
public Vector3 namePos { get; set; }
public virtual Vector3 altTextPos { get; set; }
public Vector3 textScale { get; set; } = new Vector3
{
x = 1f,
y = 1f,
z = 1f
};
public Color color { get; set; } = new Color
{
r = 1f,
g = 1f,
b = 1f,
a = 0.7843f
};
}
public class RundownSelector_R8 : RundownSelector
{
[JsonIgnore]
public override string altText { get; set; }
[JsonIgnore]
public override Vector3 altTextPos { get; set; }
}
[Serializable]
public class CustomWatermark
{
public bool Enabled { get; set; }
public string Text { get; set; } = "<color=red>MODDED</color> <color=orange>4.6.2+git44e73d7-dirty-main</color>";
}
public class MiscRundownData
{
public bool Enabled { get; set; }
public bool EnableERCDataReload { get; set; }
public bool EnableTutorialButton { get; set; } = true;
public bool EnableMatchmakingButton { get; set; } = true;
public bool EnableButtonAboutTheRundown { get; set; } = true;
public bool EnableButtonDiscord { get; set; } = true;
public bool EnableButtonCredits { get; set; } = true;
public bool EnableDOWGif { get; set; }
public bool EnableVanityPage { get; set; } = true;
public bool EnableIntelButton { get; set; } = true;
public Vector3 IntelButtonPosition { get; set; } = new Vector3
{
x = 0f,
y = 20f,
z = -70f
};
public bool EnableSectorSummary { get; set; } = true;
public Vector3 SectorSummaryPosition { get; set; } = new Vector3
{
x = 0f,
y = 0f,
z = 0f
};
public bool EnableTierMarkers { get; set; }
public bool OverrideTierMarkerText { get; set; }
public string Tier1Text { get; set; } = "Tier A";
public string Tier2Text { get; set; } = "Tier B";
public string Tier3Text { get; set; } = "Tier C";
public string Tier4Text { get; set; } = "Tier D";
public string Tier5Text { get; set; } = "Tier E";
}
[Serializable]
public class RundownLayout
{
public bool Enabled { get; set; }
public IndividualRundownLayout R1 { get; set; } = new IndividualRundownLayout
{
Enabled = false,
RundownDatablockID = 32u,
Tier1 = new ExpeditionButton[1]
{
new ExpeditionButton
{
label = "R1A1",
buttonPos = new Vector3
{
x = -75f,
y = 0f,
z = 0f
},
buttonScale = new Vector3
{
x = 10f,
y = 10f,
z = 10f
},
buttonColor = new Color
{
r = 1f,
g = 1f,
b = 1f,
a = 1f
},
enableHeat = true,
heatText = "ARTIFACT HEAT: <color=orange>100%",
statusPos = new Vector3
{
x = -156.378f,
y = -67.81f,
z = -1.36f
},
overrideDecryptText = false,
decryptText = "://err: UNABLE TO DECRYPT; QP_%: 66,1\u202c"
}
},
Tier2 = new ExpeditionButton[2]
{
new ExpeditionButton
{
label = "R1B1",
buttonPos = new Vector3
{
x = -412.5f,
y = 0f,
z = 0f
},
buttonScale = new Vector3
{
x = 1.818f,
y = 1.818f,
z = 1.818f
},
buttonColor = new Color
{
r = 1f,
g = 1f,
b = 1f,
a = 1f
},
enableHeat = true,
heatText = "ARTIFACT HEAT: <color=orange>100%",
statusPos = new Vector3
{
x = -156.378f,
y = -67.81f,
z = -1.36f
},
overrideDecryptText = false,
decryptText = "://err: UNABLE TO DECRYPT; QP_%: 66,1\u202c"
},
new ExpeditionButton
{
label = "R1B2",
buttonPos = new Vector3
{
x = 412.5f,
y = 0f,
z = 0f
},
buttonScale = new Vector3
{
x = 1.818f,
y = 1.818f,
z = 1.818f
},
buttonColor = new Color
{
r = 1f,
g = 1f,
b = 1f,
a = 1f
},
enableHeat = true,
heatText = "ARTIFACT HEAT: <color=orange>100%",
statusPos = new Vector3
{
x = -156.378f,
y = -67.81f,
z = -1.36f
},
overrideDecryptText = false,
decryptText = "://err: UNABLE TO DECRYPT; QP_%: 66,1\u202c"
}
},
Tier3 = new ExpeditionButton[2]
{
new ExpeditionButton
{
label = "R1C1",
buttonPos = new Vector3
{
x = -487.5f,
y = 0f,
z = 0f
},
buttonScale = new Vector3
{
x = 1.5385f,
y = 1.5385f,
z = 1.5385f
},
buttonColor = new Color
{
r = 1f,
g = 1f,
b = 1f,
a = 1f
},
enableHeat = true,
heatText = "ARTIFACT HEAT: <color=orange>100%",
statusPos = new Vector3
{
x = -156.378f,
y = -67.81f,
z = -1.36f
},
overrideDecryptText = false,
decryptText = "://err: UNABLE TO DECRYPT; QP_%: 66,1\u202c"
},
new ExpeditionButton
{
label = "R1C2",
buttonPos = new Vector3
{
x = 487.5f,
y = 0f,
z = 0f
},
buttonScale = new Vector3
{
x = 1.5385f,
y = 1.5385f,
z = 1.5385f
},
buttonColor = new Color
{
r = 1f,
g = 1f,
b = 1f,
a = 1f
},
enableHeat = true,
heatText = "ARTIFACT HEAT: <color=orange>100%",
statusPos = new Vector3
{
x = -156.378f,
y = -67.81f,
z = -1.36f
},
overrideDecryptText = false,
decryptText = "://err: UNABLE TO DECRYPT; QP_%: 66,1\u202c"
}
},
Tier4 = new ExpeditionButton[1]
{
new ExpeditionButton
{
label = "R1D1",
buttonPos = new Vector3
{
x = -75f,
y = 0f,
z = 0f
},
buttonScale = new Vector3
{
x = 10f,
y = 10f,
z = 10f
},
buttonColor = new Color
{
r = 1f,
g = 1f,
b = 1f,
a = 1f
},
enableHeat = true,
heatText = "ARTIFACT HEAT: <color=orange>100%",
statusPos = new Vector3
{
x = -156.378f,
y = -67.81f,
z = -1.36f
},
overrideDecryptText = false,
decryptText = "://err: UNABLE TO DECRYPT; QP_%: 66,1\u202c"
}
},
Tier5 = Array.Empty<ExpeditionButton>()
};
public IndividualRundownLayout R2 { get; set; } = new IndividualRundownLayout
{
Enabled = false,
RundownDatablockID = 33u,
Tier1 = Array.Empty<ExpeditionButton>(),
Tier2 = Array.Empty<ExpeditionButton>(),
Tier3 = Array.Empty<ExpeditionButton>(),
Tier4 = Array.Empty<ExpeditionButton>(),
Tier5 = Array.Empty<ExpeditionButton>()
};
public IndividualRundownLayout R3 { get; set; } = new IndividualRundownLayout
{
Enabled = false,
RundownDatablockID = 34u,
Tier1 = Array.Empty<ExpeditionButton>(),
Tier2 = Array.Empty<ExpeditionButton>(),
Tier3 = Array.Empty<ExpeditionButton>(),
Tier4 = Array.Empty<ExpeditionButton>(),
Tier5 = Array.Empty<ExpeditionButton>()
};
public IndividualRundownLayout R4 { get; set; } = new IndividualRundownLayout
{
Enabled = false,
RundownDatablockID = 37u,
Tier1 = Array.Empty<ExpeditionButton>(),
Tier2 = Array.Empty<ExpeditionButton>(),
Tier3 = Array.Empty<ExpeditionButton>(),
Tier4 = Array.Empty<ExpeditionButton>(),
Tier5 = Array.Empty<ExpeditionButton>()
};
public IndividualRundownLayout R5 { get; set; } = new IndividualRundownLayout
{
Enabled = false,
RundownDatablockID = 38u,
Tier1 = Array.Empty<ExpeditionButton>(),
Tier2 = Array.Empty<ExpeditionButton>(),
Tier3 = Array.Empty<ExpeditionButton>(),
Tier4 = Array.Empty<ExpeditionButton>(),
Tier5 = Array.Empty<ExpeditionButton>()
};
public IndividualRundownLayout R6 { get; set; } = new IndividualRundownLayout
{
Enabled = false,
RundownDatablockID = 41u,
Tier1 = Array.Empty<ExpeditionButton>(),
Tier2 = Array.Empty<ExpeditionButton>(),
Tier3 = Array.Empty<ExpeditionButton>(),
Tier4 = Array.Empty<ExpeditionButton>(),
Tier5 = Array.Empty<ExpeditionButton>()
};
public IndividualRundownLayout R7 { get; set; } = new IndividualRundownLayout
{
Enabled = false,
RundownDatablockID = 31u,
Tier1 = Array.Empty<ExpeditionButton>(),
Tier2 = Array.Empty<ExpeditionButton>(),
Tier3 = Array.Empty<ExpeditionButton>(),
Tier4 = Array.Empty<ExpeditionButton>(),
Tier5 = Array.Empty<ExpeditionButton>()
};
public IndividualRundownLayout R8 { get; set; } = new IndividualRundownLayout
{
Enabled = false,
RundownDatablockID = 35u,
Tier1 = Array.Empty<ExpeditionButton>(),
Tier2 = Array.Empty<ExpeditionButton>(),
Tier3 = Array.Empty<ExpeditionButton>(),
Tier4 = Array.Empty<ExpeditionButton>(),
Tier5 = Array.Empty<ExpeditionButton>()
};
}
[Serializable]
public class IndividualRundownLayout
{
public bool Enabled { get; set; }
public uint RundownDatablockID { get; set; }
public ExpeditionButton[] Tier1 { get; set; }
public ExpeditionButton[] Tier2 { get; set; }
public ExpeditionButton[] Tier3 { get; set; }
public ExpeditionButton[] Tier4 { get; set; }
public ExpeditionButton[] Tier5 { get; set; }
public bool EnableExtensionPage { get; set; }
public Vector3 ExtensionPagePos { get; set; } = new Vector3
{
x = 0f,
y = -459f,
z = 0f
};
public string ExtensionPageText { get; set; } = "<color=orange>://EXT";
}
[Serializable]
public class ExpeditionButton
{
public string label { get; set; }
public Vector3 buttonPos { get; set; } = new Vector3();
public bool changeScale { get; set; }
public Vector3 buttonScale { get; set; } = new Vector3();
public Color buttonColor { get; set; } = new Color
{
r = 1f,
g = 1f,
b = 1f,
a = 1f
};
public bool enableHeat { get; set; } = true;
public string heatText { get; set; } = "ARTIFACT HEAT <color=orange>100%";
public Vector3 statusPos { get; set; } = new Vector3
{
x = -156.378f,
y = -67.81f,
z = -1.36f
};
public bool overrideDecryptText { get; set; }
public string decryptText { get; set; }
}
[Serializable]
public class Vector3
{
public float x { get; set; }
public float y { get; set; }
public float z { get; set; }
public static implicit operator Vector3(Vector3 v)
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
return new Vector3(v.x, v.y, v.z);
}
}
}