@@ -84,6 +84,7 @@ public override void _Ready()
8484
8585 Player = new PlayerPuppet ( ) ;
8686 AddChild ( Player ) ;
87+ Player . Defeated += CheckBattleStatus ;
8788 EventizeRelics ( ) ;
8889 //TODO: Refine
8990 foreach ( var note in Player . Stats . CurNotes )
@@ -97,6 +98,7 @@ public override void _Ready()
9798 Enemy = new PuppetTemplate ( ) ;
9899 Enemy . SetPosition ( new Vector2 ( 400 , 0 ) ) ;
99100 AddChild ( Enemy ) ;
101+ Enemy . Defeated += CheckBattleStatus ;
100102 Enemy . Init ( GD . Load < Texture2D > ( "res://scenes/BattleDirector/assets/Enemy1.png" ) , "Enemy" ) ;
101103 Enemy . Sprite . Scale *= 2 ;
102104
@@ -134,6 +136,26 @@ public override void _Process(double delta)
134136 #endregion
135137
136138 #region Input&Timing
139+
140+ public override void _UnhandledInput ( InputEvent @event )
141+ {
142+ //this one is for calling a debug key to insta-kill the enemy
143+ if ( @event is InputEventKey eventKey && eventKey . Pressed && ! eventKey . Echo )
144+ {
145+ if ( eventKey . Keycode == Key . Key0 )
146+ {
147+ DebugKillEnemy ( ) ;
148+ }
149+ }
150+
151+ if ( @event . IsActionPressed ( "Pause" ) )
152+ {
153+ var pauseMenu = GD . Load < PackedScene > ( "res://scenes/UI/Pause.tscn" ) ;
154+ GetNode < CanvasLayer > ( "UILayer" ) . AddChild ( pauseMenu . Instantiate ( ) ) ;
155+ GetTree ( ) . Paused = true ;
156+ }
157+ }
158+
137159 private void OnNotePressed ( ArrowType type )
138160 {
139161 CD . CheckNoteTiming ( type ) ;
@@ -186,6 +208,31 @@ private Timing CheckTiming(double beatDif)
186208 return Timing . Miss ;
187209 }
188210
211+ private void CheckBattleStatus ( PuppetTemplate puppet )
212+ {
213+ if ( puppet == Player )
214+ {
215+ GD . Print ( "Player is Dead" ) ;
216+ return ;
217+ }
218+
219+ //will have to adjust this to account for when we have multiple enemies at once
220+ if ( puppet == Enemy )
221+ {
222+ GD . Print ( "Enemy is dead" ) ;
223+ ShowRewardSelection ( 3 ) ;
224+ }
225+ }
226+
227+ private void ShowRewardSelection ( int amount )
228+ {
229+ var rewardUI = GD . Load < PackedScene > ( "res://scenes/UI/RewardSelectionUI.tscn" )
230+ . Instantiate < RewardSelect > ( ) ;
231+ AddChild ( rewardUI ) ;
232+ rewardUI . Initialize ( Player . Stats , amount ) ;
233+ GetTree ( ) . Paused = true ;
234+ }
235+
189236 #endregion
190237
191238 #region BattleEffect Handling
@@ -210,4 +257,9 @@ private void EventizeRelics()
210257 }
211258 }
212259 #endregion
260+
261+ private void DebugKillEnemy ( )
262+ {
263+ Enemy . TakeDamage ( 1000 ) ;
264+ }
213265}
0 commit comments