@page "/"
@implements IDisposable
@using Impostor.Api.Events.Managers
@using Impostor.Api.Games.Managers
@using Impostor.Api.Events
@using Impostor.Api.Events.Player
@implements Impostor.Api.Events.IEventListener
@inject IEventManager EventManager
@inject IGameManager GameManager
Games
@if (GameManager.Games.Any())
{
Code |
Players |
@foreach (var game in GameManager.Games)
{
@game.Code |
@foreach (var player in game.Players)
{
- @player.Client.Name
}
|
}
}
else
{
There are no active games.
}
@code {
private IDisposable _disposable;
[EventListener(typeof(IGameCreatedEvent))]
[EventListener(typeof(IGameDestroyedEvent))]
[EventListener(typeof(IGamePlayerJoinedEvent))]
[EventListener(typeof(IGamePlayerLeftEvent))]
public void OnGameCreated(IGameEvent e)
{
StateHasChanged();
}
protected override void OnInitialized()
{
_disposable = EventManager.RegisterListener(this, InvokeAsync);
}
public void Dispose()
{
_disposable?.Dispose();
}
}