From 2f7b0692f38986ecdb65e1a137652b3e91a8adca Mon Sep 17 00:00:00 2001
From: XtraCube <72575280+XtraCube@users.noreply.github.com>
Date: Fri, 13 Sep 2024 21:57:03 -0400
Subject: [PATCH] fix error in Polus Outside tasks in TaskAdder
---
MiraAPI/Patches/Roles/TaskAdderPatch.cs | 26 +++++++++++--------------
1 file changed, 11 insertions(+), 15 deletions(-)
diff --git a/MiraAPI/Patches/Roles/TaskAdderPatch.cs b/MiraAPI/Patches/Roles/TaskAdderPatch.cs
index f804867..bb2c736 100644
--- a/MiraAPI/Patches/Roles/TaskAdderPatch.cs
+++ b/MiraAPI/Patches/Roles/TaskAdderPatch.cs
@@ -1,7 +1,7 @@
using AmongUs.GameOptions;
using HarmonyLib;
-using Il2CppSystem;
-using Il2CppSystem.Collections.Generic;
+using System;
+using System.Collections.Generic;
using MiraAPI.PluginLoading;
using MiraAPI.Roles;
using MiraAPI.Utilities.Assets;
@@ -12,10 +12,13 @@ using Object = UnityEngine.Object;
namespace MiraAPI.Patches.Roles;
+///
+/// Patch TaskAdder for organizing Roles and adding scroller.
+///
[HarmonyPatch]
public static class TaskAdderPatch
{
- private static readonly System.Collections.Generic.Dictionary ModsFolders = [];
+ private static readonly Dictionary ModsFolders = [];
private static Scroller? _scroller;
[HarmonyPostfix]
@@ -167,19 +170,14 @@ public static class TaskAdderPatch
ControllerManager.Instance.AddSelectableUiElement(taskFolder2.Button);
if (!string.IsNullOrEmpty(__instance.restorePreviousSelectionByFolderName) &&
- taskFolder2.FolderName.Equals(__instance.restorePreviousSelectionByFolderName, System.StringComparison.Ordinal))
+ taskFolder2.FolderName.Equals(__instance.restorePreviousSelectionByFolderName, StringComparison.Ordinal))
{
__instance.restorePreviousSelectionFound = taskFolder2.Button;
}
}
var flag = false;
- var list = new List();
-
- foreach (var item in taskFolder.Children)
- {
- list.Add(item);
- }
+ var list = taskFolder.Children.ToArray().OrderBy(t => t.TaskType).ToList();
for (var l = 0; l < list.Count; l++)
{
@@ -197,14 +195,12 @@ public static class TaskAdderPatch
}
case TaskTypes.FixWeatherNode:
{
- var nodeId = ((WeatherNodeTask)taskAddButton.MyTask).NodeId;
+ var nodeId = taskAddButton.MyTask.Cast().NodeId;
taskAddButton.Text.text =
TranslationController.Instance.GetString(
- StringNames.FixWeatherNode,
- Array.Empty()) + " " +
+ StringNames.FixWeatherNode) + " " +
TranslationController.Instance.GetString(
- WeatherSwitchGame.ControlNames[nodeId],
- Array.Empty());
+ WeatherSwitchGame.ControlNames[nodeId]);
break;
}
default: