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(IList list, Action 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(); cheat.View = view; return cheat; } public static void Init() { CheatInteractor.ActionMap.Add(typeof(EventQuestView), vc => { var cheatV = vc.GameObject.AddComponent(); //cheatV.View = vc; }); } } }