109 lines
2.5 KiB
C#
109 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace Mly.Hotfix
|
|
{
|
|
public static class CheatUtil
|
|
{
|
|
public static float StartX = 100;
|
|
public static float StartY = 100;
|
|
public static float SpaceX = 10;
|
|
public static float SpaceY = 10;
|
|
public static float W = 110;
|
|
public static float H = 30;
|
|
public static int Columns = 5;
|
|
public static int X;
|
|
public static int Y;
|
|
|
|
private static float startX;
|
|
private static float startY;
|
|
private static float spaceX;
|
|
private static float spaceY;
|
|
|
|
public static void AutoScaling()
|
|
{
|
|
var wa = Screen.width / 1280f;
|
|
var ha = Screen.height / 720f;
|
|
startX = StartX * wa;
|
|
startY = StartY * ha;
|
|
spaceX = SpaceX * wa;
|
|
spaceY = SpaceY * ha;
|
|
}
|
|
|
|
public static void PointToStart()
|
|
{
|
|
X = Y = 0;
|
|
}
|
|
|
|
public static void PointToNext()
|
|
{
|
|
if (++X >= Columns)
|
|
{
|
|
X = 0;
|
|
++Y;
|
|
}
|
|
}
|
|
|
|
public static void PointToNewLine()
|
|
{
|
|
if (X > 0)
|
|
{
|
|
++Y;
|
|
}
|
|
X = 0;
|
|
}
|
|
|
|
public static Rect GetNextRect()
|
|
{
|
|
return new Rect(startX + X * (W + spaceX), startY + Y * (H + spaceY), W, H);
|
|
}
|
|
|
|
public static void DrawCheatList<T>(IList<T> list, Action<T, Rect> action)
|
|
{
|
|
for (int i = 0; i < list.Count; i++)
|
|
{
|
|
var item = list[i];
|
|
action?.Invoke(item, GetNextRect());
|
|
PointToNext();
|
|
}
|
|
PointToNewLine();
|
|
}
|
|
|
|
public static GUIStyle GetGUIButtonStyle()
|
|
{
|
|
return GetGUIStyle(GUI.skin.button);
|
|
}
|
|
|
|
public static GUIStyle GetGUIStyle(GUIStyle style)
|
|
{
|
|
return new GUIStyle(style);
|
|
}
|
|
|
|
public static CheatAdvView AddCheatView(ICheatOpenStage view, GameObject go)
|
|
{
|
|
|
|
|
|
|
|
|
|
var cheat = go.AddComponent<CheatAdvView>();
|
|
cheat.View = view;
|
|
return cheat;
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void Init()
|
|
{
|
|
CheatInteractor.ActionMap.Add(typeof(EventQuestView), vc =>
|
|
{
|
|
|
|
var cheatV = vc.GameObject.AddComponent<CheatAdvView>();
|
|
//cheatV.View = vc;
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|