diff --git a/TheGameExtreme.Android/Resources/Resource.designer.cs b/TheGameExtreme.Android/Resources/Resource.designer.cs
index 4d79f6d..66d6375 100644
--- a/TheGameExtreme.Android/Resources/Resource.designer.cs
+++ b/TheGameExtreme.Android/Resources/Resource.designer.cs
@@ -1,11 +1,11 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
//
-// Ce code a été généré par un outil.
-// Version du runtime :4.0.30319.42000
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
//
-// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
-// le code est régénéré.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
diff --git a/TheGameExtreme.Android/Services/MessageAndroid.cs b/TheGameExtreme.Android/Services/MessageAndroid.cs
new file mode 100644
index 0000000..7c3506b
--- /dev/null
+++ b/TheGameExtreme.Android/Services/MessageAndroid.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections;
+using Android.App;
+using Android.Views;
+using Android.Widget;
+using TheGameExtreme.Droid.Services;
+using TheGameExtreme.Interface;
+
+[assembly: Xamarin.Forms.Dependency(typeof(MessageAndroid))]
+namespace TheGameExtreme.Droid.Services
+{
+ public class MessageAndroid : IMessage
+ {
+ public IDictionary Properties => throw new NotImplementedException();
+
+ public void LongAlert(string message)
+ {
+ Toast toast = Toast.MakeText(Application.Context, message, ToastLength.Long);
+ toast.SetGravity(GravityFlags.Center | GravityFlags.Center, 0, 0);
+ toast.Show();
+ }
+
+ public void ShortAlert(string message)
+ {
+ Toast toast = Toast.MakeText(Application.Context, message, ToastLength.Short);
+ toast.SetGravity(GravityFlags.Center | GravityFlags.Center, 0, 0);
+ toast.Show();
+ }
+ }
+}
diff --git a/TheGameExtreme.Android/TheGameExtreme.Android.csproj b/TheGameExtreme.Android/TheGameExtreme.Android.csproj
index 30481dc..b2dc185 100644
--- a/TheGameExtreme.Android/TheGameExtreme.Android.csproj
+++ b/TheGameExtreme.Android/TheGameExtreme.Android.csproj
@@ -74,6 +74,7 @@
+
@@ -111,6 +112,7 @@
+
diff --git a/TheGameExtreme.iOS/OrderStacks.csproj b/TheGameExtreme.iOS/OrderStacks.csproj
index d463e16..e6776f9 100644
--- a/TheGameExtreme.iOS/OrderStacks.csproj
+++ b/TheGameExtreme.iOS/OrderStacks.csproj
@@ -77,6 +77,7 @@
+
@@ -186,4 +187,7 @@
+
+
+
\ No newline at end of file
diff --git a/TheGameExtreme.iOS/Services/MessageIOS.cs b/TheGameExtreme.iOS/Services/MessageIOS.cs
new file mode 100644
index 0000000..9754527
--- /dev/null
+++ b/TheGameExtreme.iOS/Services/MessageIOS.cs
@@ -0,0 +1,51 @@
+using System;
+using System.Collections;
+using Foundation;
+using TheGameExtreme.Interface;
+using TheGameExtreme.iOS.Services;
+using UIKit;
+
+[assembly: Xamarin.Forms.Dependency(typeof(MessageIOS))]
+namespace TheGameExtreme.iOS.Services
+{
+ public class MessageIOS : IMessage
+ {
+ const double LONG_DELAY = 3.5;
+ const double SHORT_DELAY = 2.0;
+
+ public void LongAlert(string message)
+ {
+ ShowAlert(message, LONG_DELAY);
+ }
+
+ public void ShortAlert(string message)
+ {
+ ShowAlert(message, SHORT_DELAY);
+ }
+
+ void ShowAlert(string message, double seconds)
+ {
+ var alert = UIAlertController.Create(null, message, UIAlertControllerStyle.Alert);
+
+ var alertDelay = NSTimer.CreateScheduledTimer(seconds, obj =>
+ {
+ DismissMessage(alert, obj);
+ });
+
+ UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(alert, true, null);
+ }
+
+ void DismissMessage(UIAlertController alert, NSTimer alertDelay)
+ {
+ if (alert != null)
+ {
+ alert.DismissViewController(true, null);
+ }
+
+ if (alertDelay != null)
+ {
+ alertDelay.Dispose();
+ }
+ }
+ }
+}
diff --git a/TheGameExtreme/Interface/IMessage.cs b/TheGameExtreme/Interface/IMessage.cs
new file mode 100644
index 0000000..5c408ff
--- /dev/null
+++ b/TheGameExtreme/Interface/IMessage.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace TheGameExtreme.Interface
+{
+ public interface IMessage
+ {
+ void LongAlert(string message);
+ void ShortAlert(string message);
+ }
+}
diff --git a/TheGameExtreme/TheGameExtreme.csproj b/TheGameExtreme/TheGameExtreme.csproj
index ee1cd44..8e9a7a3 100644
--- a/TheGameExtreme/TheGameExtreme.csproj
+++ b/TheGameExtreme/TheGameExtreme.csproj
@@ -34,6 +34,7 @@
+
diff --git a/TheGameExtreme/view/HomePage.xaml.cs b/TheGameExtreme/view/HomePage.xaml.cs
index 0ee01bd..f7ec55a 100644
--- a/TheGameExtreme/view/HomePage.xaml.cs
+++ b/TheGameExtreme/view/HomePage.xaml.cs
@@ -2,6 +2,7 @@
using Xamarin.Forms;
using TheGameExtreme.IO;
using TheGameExtreme.Resx;
+using TheGameExtreme.Interface;
namespace TheGameExtreme.view
{
@@ -22,9 +23,9 @@ namespace TheGameExtreme.view
await Navigation.PushAsync(new GamePreparationPage());
}
- private async void OpenMultiPlayerMode(object sender, EventArgs args)
+ private void OpenMultiPlayerMode(object sender, EventArgs args)
{
- await DisplayAlert("Mode en cours de développement", null, "Fermer");
+ DependencyService.Get().ShortAlert("Mode en cours de développement");
//await Navigation.PushAsync(new MultiPlayerMode());
}
diff --git a/TheGameExtreme/view/MainPage.xaml.cs b/TheGameExtreme/view/MainPage.xaml.cs
index 4a3a54d..f356722 100644
--- a/TheGameExtreme/view/MainPage.xaml.cs
+++ b/TheGameExtreme/view/MainPage.xaml.cs
@@ -9,6 +9,7 @@ using TouchTracking;
using Xamarin.Essentials;
using TheGameExtreme.Resx;
using TheGameExtreme.model.card.cardType;
+using TheGameExtreme.Interface;
namespace TheGameExtreme.view
{
@@ -84,7 +85,7 @@ namespace TheGameExtreme.view
{
if (viewmodel.Alert != null)
{
- DisplayAlert("😆", viewmodel.Alert, "OK");
+ DependencyService.Get().ShortAlert(viewmodel.Alert);
viewmodel.Alert = null;
}
}