From 70320d7c191c26fdee3fba49053025e75d85a732 Mon Sep 17 00:00:00 2001 From: XtraCube <72575280+XtraCube@users.noreply.github.com> Date: Sun, 25 Aug 2024 09:45:57 -0400 Subject: [PATCH] fixing a possible version not having commit hash attached to it case --- MiraAPI/MiraApiPlugin.cs | 3 ++- MiraAPI/Utilities/Extensions.cs | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/MiraAPI/MiraApiPlugin.cs b/MiraAPI/MiraApiPlugin.cs index ad1fa11..83eea5a 100644 --- a/MiraAPI/MiraApiPlugin.cs +++ b/MiraAPI/MiraApiPlugin.cs @@ -6,6 +6,7 @@ using Reactor; using Reactor.Patches; using System; using System.Text; +using MiraAPI.Utilities; using Reactor.Networking; using Reactor.Networking.Attributes; using Reactor.Utilities; @@ -28,7 +29,7 @@ public partial class MiraApiPlugin : BasePlugin { Harmony.PatchAll(); - ReactorCredits.Register("Mira API", Version[..15], true, ReactorCredits.AlwaysShow); + ReactorCredits.Register("Mira API", Version.Truncate(15, "") ?? Version, true, ReactorCredits.AlwaysShow); PluginManager = new MiraPluginManager(); PluginManager.Initialize(); diff --git a/MiraAPI/Utilities/Extensions.cs b/MiraAPI/Utilities/Extensions.cs index a747e59..63b812d 100644 --- a/MiraAPI/Utilities/Extensions.cs +++ b/MiraAPI/Utilities/Extensions.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +#nullable enable +using System.Collections.Generic; using MiraAPI.GameOptions; using System.Linq; using MiraAPI.Networking; @@ -9,6 +10,13 @@ namespace MiraAPI.Utilities; public static class Extensions { + public static string? Truncate(this string? value, int maxLength, string truncationSuffix = "…") + { + return value?.Length > maxLength + ? value.Substring(0, maxLength) + truncationSuffix + : value; + } + public static Queue ChunkNetData(this IEnumerable dataCollection, int chunkSize) { Queue chunks = []; @@ -68,7 +76,7 @@ public static class Extensions return color.r < 0.5f && color.g < 0.5f && color.b < 0.5f; } - public static DeadBody NearestDeadBody(this PlayerControl playerControl, float radius) + public static DeadBody? NearestDeadBody(this PlayerControl playerControl, float radius) { var results = new Il2CppSystem.Collections.Generic.List(); Physics2D.OverlapCircle(playerControl.GetTruePosition(), radius, Helpers.Filter, results); @@ -78,9 +86,9 @@ public static class Extensions .FirstOrDefault(component => component && !component.Reported); } - public static PlayerControl GetClosestPlayer(this PlayerControl playerControl, bool includeImpostors, float distance) + public static PlayerControl? GetClosestPlayer(this PlayerControl playerControl, bool includeImpostors, float distance) { - PlayerControl result = null; + PlayerControl? result = null; if (!ShipStatus.Instance) { return null;