3
3
using System . Linq ;
4
4
using BepInEx ;
5
5
using HarmonyLib ;
6
- using CobwebAPI ;
7
6
using CobwebAPI . API ;
8
7
using UnityEngine ;
8
+ using UnityEngine . EventSystems ;
9
+ using UnityEngine . InputSystem ;
10
+ using UnityEngine . Internal ;
11
+ using UnityEngineInternal . Input ;
9
12
using UnityEngine . PlayerLoop ;
13
+ using UnityEngine . UI ;
10
14
11
15
12
16
namespace ModifierModifier
@@ -20,19 +24,20 @@ public class Main : BaseUnityPlugin
20
24
private Vector2 currentDrag = new Vector2 ( ) ;
21
25
public Vector2 scrollPosition ;
22
26
public bool menuEnabled ;
27
+ private InputAction _inputAction = new InputAction ( binding : "<Keyboard>/Insert" ) ;
23
28
24
29
public const string ModName = "ModifierModifier" ;
25
30
public const string ModAuthor = "Bazinga" ;
26
31
public const string ModGUID = "com.bazinga.modifiermodifier" ;
27
- public const string ModVersion = "1.0 .0" ;
32
+ public const string ModVersion = "1.1 .0" ;
28
33
internal Harmony Harmony ;
29
34
30
35
internal void Awake ( )
31
36
{
32
37
Harmony = new Harmony ( ModGUID ) ;
33
38
34
39
Harmony . PatchAll ( ) ;
35
- Logger . LogInfo ( $ "{ ModName } successfully loaded! Made by { ModAuthor } ") ;
40
+ Logger . LogInfo ( $ "{ ModName } successfully loaded! Made by { ModAuthor } \n Toggle Menu with the INS or INSERT key ") ;
36
41
37
42
38
43
Main . GUIStyle . alignment = TextAnchor . MiddleCenter ;
@@ -43,46 +48,53 @@ internal void Awake()
43
48
backgroundStyle . normal . textColor = Color . black ;
44
49
backgroundStyle . normal . background = Texture2D . grayTexture ;
45
50
menuEnabled = false ;
51
+ _inputAction . Enable ( ) ;
46
52
}
47
53
48
- void Update ( )
54
+ private void Update ( )
49
55
{
50
- if ( Input . GetKeyDown ( KeyCode . Insert ) )
56
+ if ( _inputAction . triggered )
51
57
{
58
+ Logger . LogInfo ( $ "Menu Toggled: { menuEnabled } ") ;
52
59
menuEnabled = ! menuEnabled ;
53
60
}
54
61
}
55
62
56
63
[ HarmonyPatch ( typeof ( ModifierManager ) , "GetNonMaxedWavesMods" ) ]
57
64
private void OnGUI ( )
58
65
{
59
-
60
66
var menuRect = new Rect ( 0 , 25f , Screen . width / 2 , Screen . height / 2 ) ;
61
- GUI . BeginGroup ( menuRect , GUIStyle ) ;
67
+
62
68
int valX = 0 ;
63
69
int valY = 0 ;
64
- foreach ( var mods in GetTotalNonMaxedModifiers ( ) )
70
+ if ( menuEnabled )
65
71
{
66
- if ( ( valY + 77 ) >= ( Screen . height / 2 ) )
67
- {
68
- valY = 0 ;
69
- valX += 173 ;
70
- }
72
+ GUI . BeginGroup ( menuRect , GUIStyle ) ;
71
73
72
- bool flag = GUI . Button ( new Rect ( 25f + valX , ( float ) ( 25 + valY ) , 150f , 40f ) , mods . data . name ,
73
- Main . backgroundStyle ) ;
74
- if ( flag )
74
+ foreach ( var mods in GetTotalNonMaxedModifiers ( ) )
75
75
{
76
- Logger . LogInfo ( mods . data . name + "Has been clicked" ) ;
77
- mods . levelInWaves = mods . data . maxLevel ;
78
-
79
- Logger . LogInfo ( mods . levelInWaves ) ;
80
- Logger . LogInfo ( mods . levelInVersus ) ;
76
+ if ( ( valY + 77 ) >= ( Screen . height / 2 ) )
77
+ {
78
+ valY = 0 ;
79
+ valX += 173 ;
80
+ }
81
+
82
+ bool flag = GUI . Button ( new Rect ( 25f + valX , ( float ) ( 25 + valY ) , 150f , 40f ) , mods . data . name ,
83
+ Main . backgroundStyle ) ;
84
+ if ( flag )
85
+ {
86
+ Logger . LogInfo ( mods . data . name + "Has been clicked" ) ;
87
+ mods . levelInWaves = mods . data . maxLevel ;
88
+
89
+ Logger . LogInfo ( mods . levelInWaves ) ;
90
+ Logger . LogInfo ( mods . levelInVersus ) ;
91
+ }
92
+
93
+ valY += 47 ;
81
94
}
82
-
83
- valY += 47 ;
95
+ GUI . EndGroup ( ) ;
84
96
}
85
- GUI . EndGroup ( ) ;
97
+
86
98
87
99
88
100
}
@@ -95,7 +107,8 @@ void ModifierModifierWindow(int windowID)
95
107
96
108
public void MaxMod ( Modifier mod )
97
109
{
98
- WaveModifiers . Give ( mod . data . name , mod . data . maxLevel ) ;
110
+
111
+ CobwebAPI . API . WaveModifiers . Give ( mod . data . name , mod . data . maxLevel ) ;
99
112
Logger . LogInfo ( mod . levelInWaves ) ;
100
113
Logger . LogInfo ( mod . levelInVersus ) ;
101
114
}
0 commit comments