UI Changes

This commit is contained in:
2023-09-04 23:56:16 -07:00
parent 83b4d90ccb
commit 69fed8d403
31 changed files with 579 additions and 81 deletions

View File

@@ -0,0 +1,89 @@
using Godot;
using System.Linq;
public partial class CharacterSelectUpdateService : Control
{
public override void _Ready()
{
base._Ready();
}
public void OnCapricornP1Selected()
{
var allPortraits = GetNode<Control>("P1").GetChildren().OfType<TextureRect>();
foreach (var bg in allPortraits)
bg.Hide();
var node = GetNode<TextureRect>("P1/CapBG");
node.Show();
}
public void OnPiscesP1Selected()
{
var allPortraits = GetNode<Control>("P1").GetChildren().OfType<TextureRect>();
foreach (var bg in allPortraits)
bg.Hide();
var node = GetNode<TextureRect>("P1/PiscesBG");
node.Show();
}
public void OnSagP1Selected()
{
var allPortraits = GetNode<Control>("P1").GetChildren().OfType<TextureRect>();
foreach (var bg in allPortraits)
bg.Hide();
var node = GetNode<TextureRect>("P1/SagBG");
node.Show();
}
public void OnScorpioP1Selected()
{
var allPortraits = GetNode<Control>("P1").GetChildren().OfType<TextureRect>();
foreach (var bg in allPortraits)
bg.Hide();
var node = GetNode<TextureRect>("P1/ScorpioBG");
node.Show();
}
public void OnCapricornP2Selected()
{
var allPortraits = GetNode<Control>("P2").GetChildren().OfType<TextureRect>();
foreach (var bg in allPortraits)
bg.Hide();
var node = GetNode<TextureRect>("P2/CapBG");
node.Show();
}
public void OnPiscesP2Selected()
{
var allPortraits = GetNode<Control>("P2").GetChildren().OfType<TextureRect>();
foreach (var bg in allPortraits)
bg.Hide();
var node = GetNode<TextureRect>("P2/PiscesBG");
node.Show();
}
public void OnSagP2Selected()
{
var allPortraits = GetNode<Control>("P2").GetChildren().OfType<TextureRect>();
foreach (var bg in allPortraits)
bg.Hide();
var node = GetNode<TextureRect>("P2/SagBG");
node.Show();
}
public void OnScorpioP2Selected()
{
var allPortraits = GetNode<Control>("P2").GetChildren().OfType<TextureRect>();
foreach (var bg in allPortraits)
bg.Hide();
var node = GetNode<TextureRect>("P2/ScorpioBG");
node.Show();
}
}

View File

@@ -6,6 +6,22 @@ public partial class StageGUI : Control
{
[Signal]
public delegate void OnCharacterSelectionMadeEventHandler(Player player);
[Signal]
public delegate void CapricornP1SelectedEventHandler();
[Signal]
public delegate void CapricornP2SelectedEventHandler();
[Signal]
public delegate void PiscesP1SelectedEventHandler();
[Signal]
public delegate void PiscesP2SelectedEventHandler();
[Signal]
public delegate void SagP1SelectedEventHandler();
[Signal]
public delegate void SagP2SelectedEventHandler();
[Signal]
public delegate void ScorpioP1SelectedEventHandler();
[Signal]
public delegate void ScorpioP2SelectedEventHandler();
private GameManager _gameManager;
@@ -19,20 +35,6 @@ public partial class StageGUI : Control
if (player.GameOver)
return;
if (player == _gameManager.Players.ElementAt(0))
{
var wheel1 = GetNode<TextureRect>("CharacterSelect/Wheel");
wheel1.FocusMode = FocusModeEnum.All;
wheel1.GrabFocus();
wheel1.Visible = true;
}
else if (player == _gameManager.Players.ElementAt(1))
{
var wheel2 = GetNode<TextureRect>("CharacterSelect/Wheel2");
wheel2.FocusMode = FocusModeEnum.All;
wheel2.GrabFocus();
wheel2.Visible = true;
}
player.IsSelectingCharacter = true;
}
@@ -41,16 +43,20 @@ public partial class StageGUI : Control
if (_gameManager.Players.ElementAt(0).IsSelectingCharacter)
{
if (Input.IsActionJustPressed("p1_right"))
{
_gameManager.SetToNextCharacter(_gameManager.Players.ElementAt(0));
ChangeBG(_gameManager.Players.ElementAt(0));
}
if (Input.IsActionJustPressed("p1_left"))
{
_gameManager.SetToPreviousCharacter(_gameManager.Players.ElementAt(0));
ChangeBG(_gameManager.Players.ElementAt(0));
}
if (Input.IsActionJustPressed("p1_fire"))
{
GD.Print("Selected character");
_gameManager.Players.ElementAt(0).IsSelectingCharacter = false;
var wheel1 = GetNode<TextureRect>("CharacterSelect/Wheel");
wheel1.Hide();
EmitSignal(SignalName.OnCharacterSelectionMade, _gameManager.Players.ElementAt(0));
GetTree().Paused = false;
}
@@ -59,22 +65,61 @@ public partial class StageGUI : Control
if (_gameManager.Players.Count() == 2 && _gameManager.Players.ElementAt(0).IsSelectingCharacter)
{
if (Input.IsActionJustPressed("p2_right"))
{
_gameManager.SetToNextCharacter(_gameManager.Players.ElementAt(1));
ChangeBG(_gameManager.Players.ElementAt(1));
}
if (Input.IsActionJustPressed("p2_left"))
{
_gameManager.SetToPreviousCharacter(_gameManager.Players.ElementAt(1));
ChangeBG(_gameManager.Players.ElementAt(1));
}
if (Input.IsActionJustPressed("p2_fire"))
{
GD.Print("Selected character");
_gameManager.Players.ElementAt(1).IsSelectingCharacter = false;
var wheel2 = GetNode<TextureRect>("CharacterSelect/Wheel2");
wheel2.Hide();
EmitSignal(SignalName.OnCharacterSelectionMade, _gameManager.Players.ElementAt(1));
GetTree().Paused = false;
}
}
}
private void ChangeBG(Player player)
{
var name = player.CharactersLeftOnStage.ElementAt(player._characterIndex).Name;
GD.Print(name);
switch (name)
{
case "CapricornP1":
EmitSignal(SignalName.CapricornP1Selected);
break;
case "CapricornP2":
EmitSignal(SignalName.CapricornP2Selected);
break;
case "ScorpioP1":
EmitSignal(SignalName.ScorpioP1Selected);
break;
case "ScorpioP2":
EmitSignal(SignalName.ScorpioP2Selected);
break;
case "PiscesP1":
EmitSignal(SignalName.PiscesP1Selected);
break;
case "PiscesP2":
EmitSignal(SignalName.PiscesP2Selected);
break;
case "MegamiP1":
EmitSignal(SignalName.SagP1Selected);
break;
case "MegamiP2":
EmitSignal(SignalName.SagP2Selected);
break;
default:
break;
}
}
private void OnFirstPlayerCharacterSelect()
{
var player = _gameManager.Players.ElementAt(0);