Refactor CharacterSetupButton into a ContainerButton

This commit is contained in:
ShadowCommander
2020-02-25 17:03:46 -08:00
parent 14f6cbb845
commit 3edfdb8763

View File

@@ -141,6 +141,7 @@ namespace Content.Client.UserInterface
{ {
preferencesManager.CreateCharacter(HumanoidCharacterProfile.Default()); preferencesManager.CreateCharacter(HumanoidCharacterProfile.Default());
UpdateUI(); UpdateUI();
args.Event.Handle();
}; };
hBox.AddChild(new PanelContainer hBox.AddChild(new PanelContainer
@@ -179,13 +180,14 @@ namespace Content.Client.UserInterface
_charactersVBox.AddChild(characterPickerButton); _charactersVBox.AddChild(characterPickerButton);
var characterIndexCopy = characterIndex; var characterIndexCopy = characterIndex;
characterPickerButton.ActualButton.OnPressed += args => characterPickerButton.OnPressed += args =>
{ {
_humanoidProfileEditor.Profile = (HumanoidCharacterProfile) character; _humanoidProfileEditor.Profile = (HumanoidCharacterProfile) character;
_humanoidProfileEditor.CharacterSlot = characterIndexCopy; _humanoidProfileEditor.CharacterSlot = characterIndexCopy;
_humanoidProfileEditor.UpdateControls(); _humanoidProfileEditor.UpdateControls();
_preferencesManager.SelectCharacter(character); _preferencesManager.SelectCharacter(character);
UpdateUI(); UpdateUI();
args.Event.Handle();
}; };
characterIndex++; characterIndex++;
} }
@@ -195,9 +197,8 @@ namespace Content.Client.UserInterface
_charactersVBox.AddChild(_createNewCharacterButton); _charactersVBox.AddChild(_createNewCharacterButton);
} }
private class CharacterPickerButton : Control private class CharacterPickerButton : ContainerButton
{ {
public readonly Button ActualButton;
private IEntity _previewDummy; private IEntity _previewDummy;
public CharacterPickerButton( public CharacterPickerButton(
@@ -206,6 +207,10 @@ namespace Content.Client.UserInterface
ButtonGroup group, ButtonGroup group,
ICharacterProfile profile) ICharacterProfile profile)
{ {
AddStyleClass(StyleClassButton);
ToggleMode = true;
Group = group;
_previewDummy = entityManager.SpawnEntity("HumanMob_Dummy", MapCoordinates.Nullspace); _previewDummy = entityManager.SpawnEntity("HumanMob_Dummy", MapCoordinates.Nullspace);
_previewDummy.GetComponent<HumanoidAppearanceComponent>().UpdateFromProfile(profile); _previewDummy.GetComponent<HumanoidAppearanceComponent>().UpdateFromProfile(profile);
var humanoid = profile as HumanoidCharacterProfile; var humanoid = profile as HumanoidCharacterProfile;
@@ -216,16 +221,8 @@ namespace Content.Client.UserInterface
var isSelectedCharacter = profile == preferencesManager.Preferences.SelectedCharacter; var isSelectedCharacter = profile == preferencesManager.Preferences.SelectedCharacter;
ActualButton = new Button
{
SizeFlagsHorizontal = SizeFlags.FillExpand,
SizeFlagsVertical = SizeFlags.FillExpand,
ToggleMode = true,
Group = group
};
if (isSelectedCharacter) if (isSelectedCharacter)
ActualButton.Pressed = true; Pressed = true;
AddChild(ActualButton);
var view = new SpriteView var view = new SpriteView
{ {