mirror of https://github.com/hykilpikonna/AquaDX
75 lines
2.3 KiB
C#
75 lines
2.3 KiB
C#
![]() |
using HarmonyLib;
|
|||
|
using Monitor;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
![]() |
namespace AquaMai.Visual;
|
|||
![]() |
|
|||
|
public class JudgeDisplay4B
|
|||
|
{
|
|||
|
// 精确到子判定的自定义判定显示, 需要启用自定义皮肤功能 (理论上不启用自定义皮肤不会崩游戏, 只不过此时这个功能显然不会生效)
|
|||
![]() |
|
|||
![]() |
[HarmonyPostfix]
|
|||
|
[HarmonyPatch(typeof(SlideJudge), "Initialize")]
|
|||
|
private static void SlideJudgeDisplay4B(
|
|||
|
SpriteRenderer ___SpriteRenderAdd, SpriteRenderer ___SpriteRender,
|
|||
|
SlideJudge.SlideJudgeType ____judgeType, SlideJudge.SlideAngle ____angle,
|
|||
|
NoteJudge.ETiming judge, float msec, bool isBreak
|
|||
|
)
|
|||
|
{
|
|||
|
var i = isBreak ? 1 : 0;
|
|||
|
Sprite sprite = CustomSkins.CustomJudgeSlide[i, (int)____judgeType, (int)____angle, (int)judge];
|
|||
|
if (sprite != null) {
|
|||
|
___SpriteRender.sprite = sprite;
|
|||
|
}
|
|||
|
|
|||
|
if (isBreak && judge == NoteJudge.ETiming.Critical)
|
|||
|
{
|
|||
|
sprite = CustomSkins.CustomJudgeSlide[i, (int)____judgeType, (int)____angle, (int) NoteJudge.ETiming.End];
|
|||
|
if (sprite != null)
|
|||
|
{
|
|||
|
___SpriteRenderAdd.sprite = sprite;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
![]() |
|
|||
|
|
|||
![]() |
[HarmonyPostfix]
|
|||
|
[HarmonyPatch(typeof(JudgeGrade), "Initialize")]
|
|||
|
private static void JudgeGradeDisplay4B(
|
|||
|
SpriteRenderer ___SpriteRender,
|
|||
|
NoteJudge.ETiming judge, float msec, NoteJudge.EJudgeType type
|
|||
|
)
|
|||
|
{
|
|||
|
var i = (type == NoteJudge.EJudgeType.Break) ? 1 : 0;
|
|||
|
Sprite sprite = CustomSkins.CustomJudge[i, (int)judge];
|
|||
|
if (sprite != null) {
|
|||
|
___SpriteRender.sprite = sprite;
|
|||
|
}
|
|||
|
}
|
|||
![]() |
|
|||
![]() |
[HarmonyPostfix]
|
|||
|
[HarmonyPatch(typeof(JudgeGrade), "InitializeBreak")]
|
|||
|
private static void JudgeGradeBreakDisplay4B(
|
|||
|
SpriteRenderer ___SpriteRenderAdd,
|
|||
|
NoteJudge.ETiming judge, float msec, NoteJudge.EJudgeType type
|
|||
|
)
|
|||
|
{
|
|||
|
if (judge == NoteJudge.ETiming.Critical)
|
|||
|
{
|
|||
|
var sprite = CustomSkins.CustomJudge[1, (int) NoteJudge.ETiming.End];
|
|||
|
if (sprite != null)
|
|||
|
{
|
|||
|
___SpriteRenderAdd.sprite = sprite;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
![]() |
|
|||
![]() |
[HarmonyPrefix]
|
|||
|
[HarmonyPatch(typeof(JudgeGrade), "InitializeBreak")]
|
|||
|
private static void InitializeBreakFix(ref NoteJudge.EJudgeType type)
|
|||
|
{
|
|||
|
type = NoteJudge.EJudgeType.Break;
|
|||
|
}
|
|||
![]() |
|
|||
|
}
|