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();
    }

    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(nameof(Shape), typeof(string), typeof(TileView), "");

    public string Shape
    {
        get => (string)GetValue(ShapeProperty);
        set => SetValue(ShapeProperty, value);
    }
}