Compare commits
58 Commits
test_old_b
...
master
File diff suppressed because one or more lines are too long
@ -1,77 +1,73 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
x:Class="Qwirkle.Pages.Leaderboard"
|
x:Class="Qwirkle.Pages.Leaderboard"
|
||||||
xmlns:controls="clr-namespace:Qwirkle.Views"
|
xmlns:controls="clr-namespace:Qwirkle.Views"
|
||||||
Title="Leaderboard">
|
Title="Leaderboard"
|
||||||
|
x:Name="root">
|
||||||
|
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
<VerticalStackLayout Spacing="25" Padding="5, 5, 5, 10">
|
<VerticalStackLayout Spacing="25" Padding="5, 5, 5, 10">
|
||||||
<Grid Style="{StaticResource GridMain}">
|
<Grid Style="{StaticResource GridMain}">
|
||||||
<controls:GoBack></controls:GoBack>
|
<controls:GoBack></controls:GoBack>
|
||||||
<Label Text="Leaderboard"
|
<Label Text="Leaderboard"
|
||||||
Style="{StaticResource Title}"/>
|
Style="{StaticResource Title}" />
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<Border Style="{StaticResource TabBorder}">
|
<Border Style="{StaticResource TabBorder}">
|
||||||
|
|
||||||
<Border.Shadow>
|
<Border.Shadow>
|
||||||
<Shadow/>
|
<Shadow />
|
||||||
</Border.Shadow>
|
</Border.Shadow>
|
||||||
<Border.StrokeShape>
|
<Border.StrokeShape>
|
||||||
<RoundRectangle CornerRadius="3"/>
|
<RoundRectangle CornerRadius="3" />
|
||||||
</Border.StrokeShape>
|
</Border.StrokeShape>
|
||||||
|
|
||||||
<VerticalStackLayout>
|
<StackLayout>
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
<Grid ColumnDefinitions="4*, auto, 2*, auto, 2*, auto, 2*"
|
||||||
<Rectangle/>
|
RowDefinitions="50">
|
||||||
|
<Label
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
Text="Player tag"
|
||||||
<Rectangle/>
|
Style="{StaticResource ContentTab}" />
|
||||||
|
<Rectangle
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
Style="{StaticResource RectangleTab}"
|
||||||
<Rectangle/>
|
Grid.Column="1" />
|
||||||
|
<Label
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
Grid.Column="2"
|
||||||
<Rectangle/>
|
Text="Date"
|
||||||
|
Style="{StaticResource ContentTab}" />
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
<Rectangle
|
||||||
<Rectangle/>
|
Style="{StaticResource RectangleTab}"
|
||||||
|
Grid.Column="3" />
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
<Label
|
||||||
<Rectangle/>
|
Grid.Column="4"
|
||||||
|
Text="Points"
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
Style="{StaticResource ContentTab}" />
|
||||||
<Rectangle/>
|
<Rectangle
|
||||||
|
Style="{StaticResource RectangleTab}"
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
Grid.Column="5" />
|
||||||
<Rectangle/>
|
<Label
|
||||||
|
Grid.Column="6"
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
Style="{StaticResource ContentTab}"
|
||||||
<Rectangle/>
|
Text="Victories" />
|
||||||
|
</Grid>
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
|
||||||
<Rectangle/>
|
|
||||||
|
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
|
||||||
<Rectangle/>
|
|
||||||
|
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
|
||||||
<Rectangle/>
|
|
||||||
|
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
|
||||||
<Rectangle/>
|
|
||||||
|
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
|
||||||
<Rectangle/>
|
|
||||||
|
|
||||||
<controls:LeaderboardLine></controls:LeaderboardLine>
|
<CollectionView ItemsSource="{Binding Lb}">
|
||||||
</VerticalStackLayout>
|
<CollectionView.ItemsLayout>
|
||||||
|
<GridItemsLayout Orientation="Vertical" />
|
||||||
|
</CollectionView.ItemsLayout>
|
||||||
|
<CollectionView.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<controls:LeaderboardLine PlayerName="{Binding PlayerName}" Date="{Binding Date}"
|
||||||
|
Points="{Binding Points}" Victories="{Binding Victories}" />
|
||||||
|
</DataTemplate>
|
||||||
|
</CollectionView.ItemTemplate>
|
||||||
|
</CollectionView>
|
||||||
|
|
||||||
|
</StackLayout>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
</VerticalStackLayout>
|
</VerticalStackLayout>
|
||||||
|
|
||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
||||||
</ContentPage>
|
</ContentPage>
|
@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<toolkit:Popup xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
x:Class="Qwirkle.PopUpEndGame"
|
||||||
|
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
|
||||||
|
x:Name="root"
|
||||||
|
CanBeDismissedByTappingOutsideOfPopup="False"
|
||||||
|
xmlns:controls="clr-namespace:Qwirkle.Views"
|
||||||
|
>
|
||||||
|
|
||||||
|
<VerticalStackLayout HeightRequest="400" WidthRequest="500">
|
||||||
|
|
||||||
|
<Label
|
||||||
|
Text="THE END :("
|
||||||
|
Style="{StaticResource SuperTitle}"
|
||||||
|
FontSize="Medium"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Label Text="THE WINNER IS :"></Label>
|
||||||
|
|
||||||
|
<Label Text="{Binding ScoreboardList[0].Key, Source={x:Reference root}}" Style="{StaticResource SuperTitle}" TextColor="HotPink" FontSize="Medium"></Label>
|
||||||
|
|
||||||
|
<controls:Scoreboard></controls:Scoreboard>
|
||||||
|
|
||||||
|
<Button Text="Skip" Style="{StaticResource GameButton}" Clicked="OnButtonNextClick"></Button>
|
||||||
|
|
||||||
|
</VerticalStackLayout>
|
||||||
|
</toolkit:Popup>
|
@ -0,0 +1,40 @@
|
|||||||
|
using CommunityToolkit.Maui.Views;
|
||||||
|
using Microsoft.Maui.Controls;
|
||||||
|
using QwirkleClassLibrary.Games;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
namespace Qwirkle;
|
||||||
|
|
||||||
|
public partial class PopUpEndGame : Popup
|
||||||
|
{
|
||||||
|
public PopUpEndGame()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
var scoreboard = game.ObservableScoreBoard.OrderByDescending(x => x.Value).ThenBy(x => x.Key);
|
||||||
|
ScoreboardList = new ObservableCollection<KeyValuePair<string, int>>(scoreboard);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Game game = ((App)Application.Current!).Game;
|
||||||
|
|
||||||
|
private ObservableCollection<KeyValuePair<string, int>>? scoreboardList;
|
||||||
|
public ObservableCollection<KeyValuePair<string, int>>? ScoreboardList
|
||||||
|
{
|
||||||
|
get => scoreboardList;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (scoreboardList != value)
|
||||||
|
{
|
||||||
|
scoreboardList = value;
|
||||||
|
OnPropertyChanged(nameof(ScoreboardList));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async void OnButtonNextClick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
await Shell.Current.GoToAsync("MainPage");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"profiles": {
|
"profiles": {
|
||||||
"Windows Machine": {
|
"Windows Machine": {
|
||||||
"commandName": "MsixPackage",
|
"commandName": "Project",
|
||||||
"nativeDebugging": false
|
"nativeDebugging": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 228 B After Width: | Height: | Size: 591 KiB |
After Width: | Height: | Size: 586 KiB |
After Width: | Height: | Size: 38 KiB |
@ -1,27 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
||||||
x:Class="Qwirkle.Views.ScoreboardLine"
|
|
||||||
x:Name="root">
|
|
||||||
<StackLayout>
|
|
||||||
<Grid ColumnDefinitions="4*, auto, 2*"
|
|
||||||
RowDefinitions="50">
|
|
||||||
|
|
||||||
<Label
|
|
||||||
Grid.Column="0"
|
|
||||||
Text="{Binding Nameplayer, Source={x:Reference root}}"
|
|
||||||
Style="{StaticResource ContentTab}"/>
|
|
||||||
|
|
||||||
<Rectangle
|
|
||||||
Style="{StaticResource RectangleTab}"
|
|
||||||
Grid.Column="1"/>
|
|
||||||
|
|
||||||
<Label
|
|
||||||
Grid.Column="2"
|
|
||||||
Text="{Binding Score, Source={x:Reference root}}"
|
|
||||||
Style="{StaticResource ContentTab}"/>
|
|
||||||
</Grid>
|
|
||||||
<Rectangle/>
|
|
||||||
</StackLayout>
|
|
||||||
</ContentView>
|
|
@ -1,43 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
namespace Qwirkle.Views
|
|
||||||
{
|
|
||||||
public partial class ScoreboardLine : ContentView
|
|
||||||
{
|
|
||||||
public static readonly BindableProperty NameplayerProperty =
|
|
||||||
BindableProperty.Create(nameof(Nameplayer), typeof(string), typeof(ScoreboardLine), default(string), propertyChanged: OnPlayerChanged);
|
|
||||||
|
|
||||||
public string Nameplayer
|
|
||||||
{
|
|
||||||
get => (string)GetValue(NameplayerProperty);
|
|
||||||
set => SetValue(NameplayerProperty, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void OnPlayerChanged(BindableObject bindable, object oldValue, object newValue)
|
|
||||||
{
|
|
||||||
var bin = (ScoreboardLine)bindable;
|
|
||||||
bin.OnPropertyChanged(nameof(Nameplayer));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static readonly BindableProperty ScoreProperty =
|
|
||||||
BindableProperty.Create(nameof(Score), typeof(int), typeof(ScoreboardLine), default(int), propertyChanged: OnScoreChanged);
|
|
||||||
|
|
||||||
public int Score
|
|
||||||
{
|
|
||||||
get => (int)GetValue(ScoreProperty);
|
|
||||||
set => SetValue(ScoreProperty, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void OnScoreChanged(BindableObject bindable, object oldValue, object newValue)
|
|
||||||
{
|
|
||||||
var bin = (ScoreboardLine)bindable;
|
|
||||||
bin.OnPropertyChanged(nameof(Score));
|
|
||||||
}
|
|
||||||
|
|
||||||
public ScoreboardLine()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
BindingContext = this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Binary file not shown.
Loading…
Reference in new issue