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/Views/TileView.xaml.cs

63 lines
1.6 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Maui.Controls;
using QwirkleClassLibrary.Games;
using QwirkleClassLibrary.Players;
using QwirkleClassLibrary.Tiles;
using QwirkleClassLibrary.Events;
using QwirkleClassLibrary.Boards;
using System.Globalization;
namespace Qwirkle.Views;
public partial class TileView : ContentView
{
public TileView()
{
InitializeComponent();
((App)Application.Current!).Game.Board.PropertyChanged += Board_PropertyChanged;
}
private void Board_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
{
Console.WriteLine(Shape);
}
public static readonly BindableProperty ColorProperty =
BindableProperty.Create(nameof(Color), typeof(string), typeof(TileView), "", propertyChanged: OnColorChanged);
public string Color
{
get => (string)GetValue(ColorProperty);
set => SetValue(ColorProperty, value);
}
private static void OnColorChanged(BindableObject bindable, object oldValue, object newValue)
{
var bin = (TileView)bindable;
bin.OnPropertyChanged(nameof(Color));
}
public static readonly BindableProperty ShapeProperty =
BindableProperty.Create("Shape", typeof(string), typeof(TileView), "");
public string Shape
{
get => (string)GetValue(ShapeProperty);
set => SetValue(ShapeProperty, value);
}
public event EventHandler InfoClicked;
void OnInfoClicked(object sender, EventArgs args)
{
InfoClicked?.Invoke(this, args);
}
}