miuu-custom-cosmetic-loader/Patches/GhostRaceMarbleControllerPatches.cs

36 lines
1 KiB
C#
Raw Normal View History

using HarmonyLib;
using MIU;
using System;
using System.Collections.Generic;
namespace CustomCosmeticLoader.Patches
{
[HarmonyPatch(typeof(GhostRaceMarbleController), nameof(GhostRaceMarbleController.ApplyCosmetics))]
internal class GhostRaceMarbleControllerApplyCosmeticsPatch
{
static void Postfix(GhostRaceMarbleController __instance)
{
if (!Config.enabled)
return;
string replayName = null;
GamePlayManager.Get().GetCurrentReplays(delegate (List<Replay> replays)
{
if (replays.Count > 0)
replayName = replays[0].Player;
});
Shared.Log("GhostRaceMarbleControllerApplyCosmeticsPatch Replay name: " + replayName);
if (Config.otherPlayers.ContainsKey(replayName) || replayName == Player.Current.Name)
{
MarbleHolder mHolder = __instance.GetComponentInChildren<MarbleHolder>();
if (Config.skinNameToHijack != "*")
mHolder.SetMarble(Shared.SkinToHijack);
Shared.ApplyCustomTexture(mHolder.currentMarble, Config.skins[Config.otherPlayers[replayName]]);
}
}
}
}