Convert multiplayer mode editor to not have entire Game passed through
This commit is contained in:
parent
7c1f282feb
commit
503c77f9fe
2 changed files with 27 additions and 10 deletions
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
<Space Direction="DirectionVHType.Vertical" Size="@("large")" Style="width: 100%">
|
<Space Direction="DirectionVHType.Vertical" Size="@("large")" Style="width: 100%">
|
||||||
<SpaceItem>
|
<SpaceItem>
|
||||||
<Table TItem="MultiplayerMode" DataSource="@Game.MultiplayerModes" HidePagination="true">
|
<Table TItem="MultiplayerMode" DataSource="@Value" HidePagination="true">
|
||||||
<PropertyColumn Property="m => m.Type">
|
<PropertyColumn Property="m => m.Type">
|
||||||
<Select @bind-Value="context.Type" TItem="MultiplayerType" TItemValue="MultiplayerType" DataSource="Enum.GetValues<MultiplayerType>()" />
|
<Select @bind-Value="context.Type" TItem="MultiplayerType" TItemValue="MultiplayerType" DataSource="Enum.GetValues<MultiplayerType>()" />
|
||||||
</PropertyColumn>
|
</PropertyColumn>
|
||||||
|
@ -36,24 +36,41 @@
|
||||||
</Space>
|
</Space>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
[Parameter] public ICollection<MultiplayerMode> Value { get; set; }
|
||||||
|
[Parameter] public EventCallback<ICollection<MultiplayerMode>> ValueChanged { get; set; }
|
||||||
[Parameter] public Game Game { get; set; }
|
[Parameter] public Game Game { get; set; }
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
if (Game.MultiplayerModes == null)
|
if (Value == null)
|
||||||
Game.MultiplayerModes = new List<MultiplayerMode>();
|
Value = new List<MultiplayerMode>();
|
||||||
|
|
||||||
|
if (ValueChanged.HasDelegate)
|
||||||
|
await ValueChanged.InvokeAsync(Value);
|
||||||
|
|
||||||
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddMode()
|
private async Task AddMode()
|
||||||
{
|
{
|
||||||
if (Game.MultiplayerModes == null)
|
if (Value == null)
|
||||||
Game.MultiplayerModes = new List<MultiplayerMode>();
|
Value = new List<MultiplayerMode>();
|
||||||
|
|
||||||
Game.MultiplayerModes.Add(new MultiplayerMode());
|
Value.Add(new MultiplayerMode());
|
||||||
|
|
||||||
|
if (ValueChanged.HasDelegate)
|
||||||
|
await ValueChanged.InvokeAsync(Value);
|
||||||
|
|
||||||
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RemoveMode(MultiplayerMode mode)
|
private async Task RemoveMode(MultiplayerMode mode)
|
||||||
{
|
{
|
||||||
Game.MultiplayerModes.Remove(mode);
|
Value.Remove(mode);
|
||||||
|
|
||||||
|
if (ValueChanged.HasDelegate)
|
||||||
|
await ValueChanged.InvokeAsync(Value);
|
||||||
|
|
||||||
|
StateHasChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,7 @@
|
||||||
<SpaceItem>
|
<SpaceItem>
|
||||||
<Card Title="Multiplayer Modes">
|
<Card Title="Multiplayer Modes">
|
||||||
<Body>
|
<Body>
|
||||||
<MultiplayerModeEditor Game="Game" />
|
<MultiplayerModeEditor @bind-Value="Game.MultiplayerModes" />
|
||||||
</Body>
|
</Body>
|
||||||
</Card>
|
</Card>
|
||||||
</SpaceItem>
|
</SpaceItem>
|
||||||
|
|
Loading…
Add table
Reference in a new issue