You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sae201_qwirkle/Qwirkle/QwirkleViews/Pages/GameBoard.xaml.cs

62 lines
1.5 KiB

using QwirkleClassLibrary.Games;
using QwirkleClassLibrary.Players;
using QwirkleClassLibrary.Tiles;
using QwirkleClassLibrary.Events;
using QwirkleClassLibrary.Boards;
using System.Collections.ObjectModel;
using System.Windows.Input;
using System.ComponentModel;
using Cell = QwirkleClassLibrary.Boards.Cell;
namespace Qwirkle.Pages;
public partial class Gameboard : ContentPage
{
public ICommand OnDrop => new Command<Cell>(onDrop);
private Game game = ((App)App.Current!).Game;
private Tile? tiledrag;
public Gameboard()
{
InitializeComponent();
BindingContext = game;
DisplayAlert("List", ((App)App.Current!).Game.PlayerList[0].Tiles[0].ToString(), "chut");
}
public List<Tile> PlayerCells1 { get; set; } = ((App)App.Current!).Game.PlayerList[0].Tiles.ToList();
void OnDragOver(object sender, DragEventArgs e)
{
foreach (var t in PlayerCells1)
{
if (e.Data.Text == t.ToString())
{
tiledrag = t;
break;
}
}
}
private void onDrop(Cell cell)
{
game.PlaceTileNotified += Game_PlaceTileNotified;
int x = cell.GetX;
int y = cell.GetY;
game.PlaceTile(game.GetPlayingPlayer(), tiledrag, x, y);
game.PlaceTileNotified -= Game_PlaceTileNotified;
}
private void Game_PlaceTileNotified(object? sender, PlaceTileNotifiedEventArgs args)
{
DisplayAlert("Tile place notified", args.Reason, "<3");
}
}