[PR] Merge #6: Add single player mode

Add single player mode
pull/7/head
Azalea 2024-02-07 02:40:18 -05:00 committed by GitHub
commit 9b3e202eb8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 33 additions and 1 deletions

View File

@ -263,6 +263,7 @@
<Compile Include="CutsceneSkipping.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Main.cs" />
<Compile Include="SinglePlayer.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
</Project>

View File

@ -19,6 +19,7 @@ namespace AquaMai
{
MelonLogger.Msg("OnApplicationStart");
HarmonyLib.Harmony.CreateAndPatchAll(typeof(CutsceneSkipping));
HarmonyLib.Harmony.CreateAndPatchAll(typeof(SinglePlayer));
}
}
}

View File

@ -0,0 +1,30 @@
using System;
using HarmonyLib;
using UnityEngine;
namespace AquaMai {
// Hides the 2p (right hand side) UI.
// Note: this is not my original work. I simply interpreted the code and rewrote it as a mod.
public class SinglePlayer {
[HarmonyPrefix]
[HarmonyPatch(typeof(Main.GameMain), "LateInitialize", new Type[] { typeof(MonoBehaviour), typeof(Transform), typeof(Transform) })]
public static bool LateInitialize(MonoBehaviour gameMainObject, ref Transform left, ref Transform right)
{
left.transform.position = Vector3.zero;
right.localScale = Vector3.zero;
GameObject.Find("Mask").SetActive(false);
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(MeshButton), "IsPointInPolygon", new Type[] { typeof(Vector2[]), typeof(Vector2) })]
public static bool IsPointInPolygon(Vector2[] polygon, ref Vector2 point)
{
var screenWidth = Screen.width;
point = new Vector2(point.x - (screenWidth / 2), point.y);
return true;
}
}
}