diff --git a/LOLAPP/LOLAPP.sln b/LOLAPP/LOLAPP.sln
index 63c19f9..46a99d1 100644
--- a/LOLAPP/LOLAPP.sln
+++ b/LOLAPP/LOLAPP.sln
@@ -5,6 +5,10 @@ VisualStudioVersion = 17.0.31611.283
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LOLAPP", "LOLAPP\LOLAPP.csproj", "{736A464D-D35B-47BD-AC29-04E11BFF186F}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Models", "Models\Models.csproj", "{495D58B1-27F0-4CF3-BA9B-426E4D3E8923}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Stub", "Stub\Stub.csproj", "{B4BA7D18-1D1E-453D-B149-9E765428AD47}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -17,6 +21,14 @@ Global
{736A464D-D35B-47BD-AC29-04E11BFF186F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{736A464D-D35B-47BD-AC29-04E11BFF186F}.Release|Any CPU.Build.0 = Release|Any CPU
{736A464D-D35B-47BD-AC29-04E11BFF186F}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ {495D58B1-27F0-4CF3-BA9B-426E4D3E8923}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {495D58B1-27F0-4CF3-BA9B-426E4D3E8923}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {495D58B1-27F0-4CF3-BA9B-426E4D3E8923}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {495D58B1-27F0-4CF3-BA9B-426E4D3E8923}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B4BA7D18-1D1E-453D-B149-9E765428AD47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B4BA7D18-1D1E-453D-B149-9E765428AD47}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B4BA7D18-1D1E-453D-B149-9E765428AD47}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B4BA7D18-1D1E-453D-B149-9E765428AD47}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/LOLAPP/LOLAPP/App.xaml.cs b/LOLAPP/LOLAPP/App.xaml.cs
index aea6b93..0ea5459 100644
--- a/LOLAPP/LOLAPP/App.xaml.cs
+++ b/LOLAPP/LOLAPP/App.xaml.cs
@@ -1,5 +1,6 @@
using LOLAPP.DataContractPersistance;
-using LOLAPP.Modele;
+using Models;
+using Stub;
using System.Collections.Generic;
using System.Diagnostics;
@@ -8,7 +9,7 @@ namespace LOLAPP;
public partial class App : Application
{
- public Manager MyManager { get; private set; } = new Manager(new Stub());
+ public Manager MyManager { get; private set; } = new Manager(new Stub.Stub());
public string FileNameC { get; set; } = "champions.xml";
public string FileNameU { get; set; } = "utilisateur.xml";
public string FilePath { get; set; } = FileSystem.AppDataDirectory;
diff --git a/LOLAPP/LOLAPP/AppShell.xaml b/LOLAPP/LOLAPP/AppShell.xaml
index 17ee620..9acce49 100644
--- a/LOLAPP/LOLAPP/AppShell.xaml
+++ b/LOLAPP/LOLAPP/AppShell.xaml
@@ -11,5 +11,17 @@
Title="Home"
ContentTemplate="{DataTemplate view:Main}"
Route="MainPage" />
+
+
+
diff --git a/LOLAPP/LOLAPP/DataContractPersistance/DataContract.cs b/LOLAPP/LOLAPP/DataContractPersistance/DataContract.cs
index 833975f..3f2e4e6 100644
--- a/LOLAPP/LOLAPP/DataContractPersistance/DataContract.cs
+++ b/LOLAPP/LOLAPP/DataContractPersistance/DataContract.cs
@@ -1,4 +1,4 @@
-using LOLAPP.Modele;
+using Models;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Xml;
diff --git a/LOLAPP/LOLAPP/DataContractPersistance/DataToPersist.cs b/LOLAPP/LOLAPP/DataContractPersistance/DataToPersist.cs
index 5952ab0..acd3c62 100644
--- a/LOLAPP/LOLAPP/DataContractPersistance/DataToPersist.cs
+++ b/LOLAPP/LOLAPP/DataContractPersistance/DataToPersist.cs
@@ -1,4 +1,4 @@
-using LOLAPP.Modele;
+using Models;
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/LOLAPP/LOLAPP/LOLAPP.csproj b/LOLAPP/LOLAPP/LOLAPP.csproj
index 24af873..bc16426 100644
--- a/LOLAPP/LOLAPP/LOLAPP.csproj
+++ b/LOLAPP/LOLAPP/LOLAPP.csproj
@@ -1,7 +1,7 @@

- net7.0-android;net7.0-ios;net7.0-maccatalyst
+ net7.0;
$(TargetFrameworks);net7.0-windows10.0.19041.0
@@ -52,10 +52,19 @@
+
+
+ Login.xaml
+
+
+
MSBuild:Compile
+
+ MSBuild:Compile
+
MSBuild:Compile
@@ -64,4 +73,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/LOLAPP/LOLAPP/View/Login.xaml b/LOLAPP/LOLAPP/View/Login.xaml
new file mode 100644
index 0000000..cecfd43
--- /dev/null
+++ b/LOLAPP/LOLAPP/View/Login.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LOLAPP/LOLAPP/View/Login.xaml.cs b/LOLAPP/LOLAPP/View/Login.xaml.cs
new file mode 100644
index 0000000..cf87b8f
--- /dev/null
+++ b/LOLAPP/LOLAPP/View/Login.xaml.cs
@@ -0,0 +1,93 @@
+using Models;
+using System.Diagnostics;
+
+namespace LOLAPP.View;
+
+public partial class Login : ContentPage
+{
+ public Manager Mgr => (App.Current as App).MyManager;
+ public Login()
+ {
+ InitializeComponent();
+ BindingContext = Mgr;
+ }
+ private void LoginUtilisateur_Clicked(object sender, EventArgs e)
+ {
+ string username = usernameEntry.Text;
+ string password = passwordEntry.Text;
+
+ // Vérifier si l'utilisateur existe et les informations de connexion sont valides
+ Utilisateur utilisateur = Mgr._utilisateur.FirstOrDefault(u => u.Username == username && u.Password == password);
+ if (utilisateur != null && Mgr.UtilisateurConnecte == null)
+ {
+ // Connexion réussie
+ Mgr.UtilisateurConnecte = utilisateur;
+ DisplayAlert("Succès", "Connexion réussie", "OK");
+ }
+ else if (Mgr.UtilisateurConnecte != null)
+ {
+ // Utilisateur non connecté
+ DisplayAlert("Erreur", "Vous êtes déjà connecter", "OK");
+ }
+ else
+ {
+ // Informations de connexion incorrectes
+ DisplayAlert("Erreur", "Nom d'utilisateur ou mot de passe incorrect", "OK");
+ }
+
+ usernameEntry.Text = "";
+ passwordEntry.Text = "";
+ }
+
+ private void LogoutUtilisateur_Clicked(object sender, EventArgs e)
+ {
+ string username = usernameEntry.Text;
+ string password = passwordEntry.Text;
+
+ // Vérifier si l'utilisateur existe et les informations de connexion sont valides
+ Utilisateur utilisateur = Mgr._utilisateur.FirstOrDefault(u => u.Username == username && u.Password == password);
+ if (utilisateur != null && Mgr.UtilisateurConnecte!= null)
+ {
+ // Connexion réussie
+ Mgr.UtilisateurConnecte = null;
+ DisplayAlert("Succès", "Déconnexion réussie", "OK");
+ }
+ else if(Mgr.UtilisateurConnecte == null)
+ {
+ // Utilisateur non connecté
+ DisplayAlert("Erreur", "Vous n'êtes pas connecter", "OK");
+ }
+ else
+ {
+ // Informations de connexion incorrectes
+ DisplayAlert("Erreur", "Nom d'utilisateur ou mot de passe incorrect", "OK");
+ }
+
+ usernameEntry.Text = "";
+ passwordEntry.Text = "";
+ }
+
+ private void SupprimerUtilisateur_Clicked(object sender, EventArgs e)
+ {
+ string username = usernameEntry.Text;
+ string password = passwordEntry.Text;
+
+ // Recherche de l'utilisateur dans la liste
+ Utilisateur utilisateur = Mgr._utilisateur.FirstOrDefault(u => u.Username == username && u.Password == password);
+ if (utilisateur != null)
+ {
+ // Suppression de l'utilisateur
+ Mgr.RemoveUtilisateur(utilisateur);
+ Mgr.Sauvdon();
+ DisplayAlert("Succès", "Utilisateur supprimé avec succès", "OK");
+ }
+ else
+ {
+ // Utilisateur non trouvé
+ DisplayAlert("Erreur", "Nom d'utilisateur ou mot de passe incorrect", "OK");
+ }
+
+ usernameEntry.Text = "";
+ passwordEntry.Text = "";
+ }
+}
\ No newline at end of file
diff --git a/LOLAPP/LOLAPP/View/Main.xaml b/LOLAPP/LOLAPP/View/Main.xaml
index 39cba28..a9feaa9 100644
--- a/LOLAPP/LOLAPP/View/Main.xaml
+++ b/LOLAPP/LOLAPP/View/Main.xaml
@@ -1,37 +1,75 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Title="Main">
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
diff --git a/LOLAPP/LOLAPP/View/Main.xaml.cs b/LOLAPP/LOLAPP/View/Main.xaml.cs
index 3c9504e..41f855b 100644
--- a/LOLAPP/LOLAPP/View/Main.xaml.cs
+++ b/LOLAPP/LOLAPP/View/Main.xaml.cs
@@ -1,23 +1,57 @@
-using LOLAPP.Modele;
+using Models;
+using System.Diagnostics;
+
namespace LOLAPP.View;
public partial class Main : ContentPage
{
+ public Manager Mgr => (App.Current as App).MyManager;
+
public Main()
{
- Manager CManager = new Manager();
- BindingContext = CManager._champions;
InitializeComponent();
- }
- private void StratClick(object sender, EventArgs e)
- {
+ BindingContext = Mgr;
}
- void RegisterClick(object sender, EventArgs e)
+ private void ImageTapped(object sender, EventArgs e)
{
+ Champion champ= null;
+ var image = (Image)sender;
+ foreach (var champion in Mgr._champions)
+ {
+ //Debug.WriteLine(image.Source.ToString());
+ if ("File: " + champion.Image == image.Source.ToString())
+ {
+ //Debug.WriteLine(champion.Image + " 2");
+ champ = champion;
+ break;
+ }
+ }
+ //var champion = manager._champions.FirstOrDefault(c => c.Image == image.Source.ToString()); ;
+ if (champ != null)
+ {
+ //Debug.WriteLine(champ.Name + " 3");
+ // Mettre à jour les labels des détails du champion
+ championNameLabel.Text = champ.Name;
+ championTitreLabel.Text = champ.Titre;
+ //Debug.WriteLine(champ.Abilities[0].Image);
+ abilityimage1.Source = champ.Abilities[0].Image;
+ abilityname1.Text = champ.Abilities[0].Name;
+ abilitydesc1.Text = champ.Abilities[0].Description;
+ abilityimage2.Source = champ.Abilities[1].Image;
+ abilityname2.Text = champ.Abilities[1].Name;
+ abilitydesc2.Text = champ.Abilities[1].Description;
+ abilityimage3.Source = champ.Abilities[2].Image;
+ abilityname3.Text = champ.Abilities[2].Name;
+ abilitydesc3.Text = champ.Abilities[2].Description;
+ abilityimage4.Source = champ.Abilities[3].Image;
+ abilityname4.Text = champ.Abilities[3].Name;
+ //Debug.WriteLine(champ.Abilities[3].Image);
+ abilitydesc4.Text = champ.Abilities[3].Description;
+ abilityimage5.Source = champ.Abilities[4].Image;
+ abilityname5.Text = champ.Abilities[4].Name;
+ abilitydesc5.Text = champ.Abilities[4].Description;
+ }
}
- void LoginClick(object sender, EventArgs e)
- {
- }
}
\ No newline at end of file
diff --git a/LOLAPP/LOLAPP/View/Register.xaml b/LOLAPP/LOLAPP/View/Register.xaml
index 4369023..9725726 100644
--- a/LOLAPP/LOLAPP/View/Register.xaml
+++ b/LOLAPP/LOLAPP/View/Register.xaml
@@ -1,12 +1,12 @@
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LOLAPP/LOLAPP/View/Register.xaml.cs b/LOLAPP/LOLAPP/View/Register.xaml.cs
index 420ca81..a6f7d6b 100644
--- a/LOLAPP/LOLAPP/View/Register.xaml.cs
+++ b/LOLAPP/LOLAPP/View/Register.xaml.cs
@@ -1,9 +1,35 @@
+using Models;
+using System.Diagnostics;
+
namespace LOLAPP.View;
public partial class Register : ContentPage
{
- public Register()
+ public Manager Mgr => (App.Current as App).MyManager;
+
+ public Register()
{
- InitializeComponent();
+ InitializeComponent();
+ BindingContext= Mgr;
}
+ private void EnregistrerUtilisateur_Clicked(object sender, EventArgs e)
+ {
+ string username = usernameEntry.Text;
+ string password = passwordEntry.Text;
+
+ if (Mgr._utilisateur.Any(u => u.Username == username))
+ {
+ DisplayAlert("Erreur", "Cet utilisateur existe déjà", "OK");
+ return;
+ }
+
+ Utilisateur utilisateur = new Utilisateur(username, password);
+ Mgr.AddUtilisateur(utilisateur);
+ Mgr.Sauvdon();
+
+ DisplayAlert("Succès", "Utilisateur enregistré avec succès", "OK");
+
+ usernameEntry.Text = "";
+ passwordEntry.Text = "";
+ }
}
\ No newline at end of file
diff --git a/LOLAPP/LOLAPP/View/Strat.xaml b/LOLAPP/LOLAPP/View/Strat.xaml
index f293b4c..29cc5f4 100644
--- a/LOLAPP/LOLAPP/View/Strat.xaml
+++ b/LOLAPP/LOLAPP/View/Strat.xaml
@@ -1,12 +1,26 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LOLAPP/LOLAPP/View/Strat.xaml.cs b/LOLAPP/LOLAPP/View/Strat.xaml.cs
index 0c1ff0e..3ca1c7f 100644
--- a/LOLAPP/LOLAPP/View/Strat.xaml.cs
+++ b/LOLAPP/LOLAPP/View/Strat.xaml.cs
@@ -1,9 +1,46 @@
-namespace LOLAPP.View;
+using Models;
+using System.Diagnostics;
-public partial class Strat : ContentPage
+namespace LOLAPP.View
{
- public Strat()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
+ public partial class Strat : ContentPage
+ {
+ public List StratList { get; set; }
+ public Manager Mgr => (App.Current as App).MyManager;
+ public Strat()
+ {
+ InitializeComponent();
+
+ // Initialisez la liste des stratégies
+ StratList = Mgr.UtilisateurConnecte._strat;
+
+ // Liez la liste des stratégies à la ListView
+ // stratListView.ItemsSource = StratList;
+ }
+
+ /* private void StratListView_OnItemSelected(object sender, SelectedItemChangedEventArgs e)
+ {
+ if (e.SelectedItem is Strategie selectedStrat)
+ {
+ UpdateDetails(selectedStrat);
+ }
+ }
+
+ private void UpdateDetails(Strategie strat)
+ {
+ nameLabel.Text = strat.Name;
+
+ championsLayout.Children.Clear();
+ foreach (var champion in strat.Champions.Take(5))
+ {
+ var image = new Image
+ {
+ Source = champion.Image
+ };
+ championsLayout.Children.Add(image);
+ }
+
+ descriptionLabel.Text = strat.Description;
+ }*/
+ }
+}
diff --git a/LOLAPP/LOLAPP/Modele/Ability.cs b/LOLAPP/Models/Ability.cs
similarity index 85%
rename from LOLAPP/LOLAPP/Modele/Ability.cs
rename to LOLAPP/Models/Ability.cs
index 5526a87..0fd61ec 100644
--- a/LOLAPP/LOLAPP/Modele/Ability.cs
+++ b/LOLAPP/Models/Ability.cs
@@ -5,7 +5,7 @@ using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
-namespace LOLAPP.Modele
+namespace Models
{
[DataContract]
public class Ability
@@ -15,7 +15,7 @@ namespace LOLAPP.Modele
[DataMember]
public string Image { get; private set; }
[DataMember]
- public string Description { get; private set; }
+ public string Description { get; private set; }
public Ability(string name,string image,string description)
{
diff --git a/LOLAPP/LOLAPP/Modele/Champion.cs b/LOLAPP/Models/Champion.cs
similarity index 82%
rename from LOLAPP/LOLAPP/Modele/Champion.cs
rename to LOLAPP/Models/Champion.cs
index 7c93d7b..e4d9d12 100644
--- a/LOLAPP/LOLAPP/Modele/Champion.cs
+++ b/LOLAPP/Models/Champion.cs
@@ -5,7 +5,7 @@ using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
-namespace LOLAPP.Modele
+namespace Models
{
[DataContract]
public class Champion
@@ -21,15 +21,15 @@ namespace LOLAPP.Modele
public Champion(string name,string titre,string image, List abilities)
{
- // Le constructeur de la classe Champion initialise le nom et les abilités du champion.
+ // Le constructeur de la classe Champion initialise le nom le titre le nom de l'image et les abilités du champion.
Name = name;
Titre = titre;
Image = image;
- Abilities = abilities;
+ Abilities = new List(abilities);
}
public Champion(string name, string titre, string image)
{
- // Le constructeur de la classe Champion initialise le nom et les abilités du champion.
+ // Le constructeur de la classe Champion initialise le nom le titre et le nom de l'image du champion.
Name = name;
Titre = titre;
Image = image;
diff --git a/LOLAPP/LOLAPP/Modele/IPersistanceManager.cs b/LOLAPP/Models/IPersistanceManager.cs
similarity index 80%
rename from LOLAPP/LOLAPP/Modele/IPersistanceManager.cs
rename to LOLAPP/Models/IPersistanceManager.cs
index cec3a16..db2deca 100644
--- a/LOLAPP/LOLAPP/Modele/IPersistanceManager.cs
+++ b/LOLAPP/Models/IPersistanceManager.cs
@@ -1,10 +1,11 @@
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace LOLAPP.Modele
+namespace Models
{
public interface IPersistanceManager
{
diff --git a/LOLAPP/LOLAPP/Modele/Manager.cs b/LOLAPP/Models/Manager.cs
similarity index 78%
rename from LOLAPP/LOLAPP/Modele/Manager.cs
rename to LOLAPP/Models/Manager.cs
index c711412..1545c2e 100644
--- a/LOLAPP/LOLAPP/Modele/Manager.cs
+++ b/LOLAPP/Models/Manager.cs
@@ -6,13 +6,14 @@ using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
-namespace LOLAPP.Modele
+namespace Models
{
public class Manager
{
- public List _champions { get; set; }
- public List _utilisateur { get; set; }
+ public List _champions { get; private set; }
+ public List _utilisateur { get; private set; }
public IPersistanceManager Persistance { get; set; }
+ public Utilisateur UtilisateurConnecte { get; set; } = null; //rajouté pour login register
public Manager(IPersistanceManager Pers)
{
@@ -40,7 +41,7 @@ namespace LOLAPP.Modele
public void Chargdon() {
var don = Persistance.Chargdon();
-
+
_champions.AddRange(don.Item1);
_utilisateur.AddRange(don.Item2);
}
diff --git a/LOLAPP/Models/Models.csproj b/LOLAPP/Models/Models.csproj
new file mode 100644
index 0000000..4658cbf
--- /dev/null
+++ b/LOLAPP/Models/Models.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
diff --git a/LOLAPP/LOLAPP/Modele/Strategie.cs b/LOLAPP/Models/Strategie.cs
similarity index 93%
rename from LOLAPP/LOLAPP/Modele/Strategie.cs
rename to LOLAPP/Models/Strategie.cs
index 47f6d7c..e8fa441 100644
--- a/LOLAPP/LOLAPP/Modele/Strategie.cs
+++ b/LOLAPP/Models/Strategie.cs
@@ -5,7 +5,7 @@ using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
-namespace LOLAPP.Modele
+namespace Models
{
[DataContract]
public class Strategie
diff --git a/LOLAPP/LOLAPP/Modele/Utilisateur.cs b/LOLAPP/Models/Utilisateur.cs
similarity index 93%
rename from LOLAPP/LOLAPP/Modele/Utilisateur.cs
rename to LOLAPP/Models/Utilisateur.cs
index a6601e7..9251b82 100644
--- a/LOLAPP/LOLAPP/Modele/Utilisateur.cs
+++ b/LOLAPP/Models/Utilisateur.cs
@@ -5,7 +5,7 @@ using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
-namespace LOLAPP.Modele
+namespace Models
{
[DataContract]
public class Utilisateur
diff --git a/LOLAPP/LOLAPP/Modele/Stub.cs b/LOLAPP/Stub/Stub.cs
similarity index 76%
rename from LOLAPP/LOLAPP/Modele/Stub.cs
rename to LOLAPP/Stub/Stub.cs
index b4d51c7..1612c95 100644
--- a/LOLAPP/LOLAPP/Modele/Stub.cs
+++ b/LOLAPP/Stub/Stub.cs
@@ -1,10 +1,11 @@
-using System;
+using Models;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace LOLAPP.Modele
+namespace Stub
{
public class Stub : IPersistanceManager
{
@@ -15,11 +16,11 @@ namespace LOLAPP.Modele
List c = new List();
List a = new List();
- Ability c1a1 = new Ability("Runic Blade", "runicblade.jpg", "Riven's abilities charge her blade, and her basic attacks expend charges to deal an additional damage.");
- Ability c1a2 = new Ability("Broken Wings", "brokenwings.jpg", "Riven lashes out in a series of strikes. This ability can be reactivated three times in a short time frame with the third hit knocking back nearby enemies.");
- Ability c1a3 = new Ability("Ki Burst", "kiburst.jpg", "Riven emits a Ki Burst, damaging and stunning nearby enemies.");
- Ability c1a4 = new Ability("Valor", "valor.jpg", "Riven steps forward a short distance and blocks incoming damage.");
- Ability c1a5 = new Ability("Blade of the Exile", "bladeoftheexile.jpg", "Riven empowers her keepsake weapon with energy, and gains Attack Damage and Range. During this time, she also gains the ability to use Wind Slash, a powerful ranged attack, once.");
+ Ability c1a1 = new Ability("Runic Blade", "runicblade.png", "Riven's abilities charge her blade, and her basic attacks expend charges to deal an additional damage.");
+ Ability c1a2 = new Ability("Broken Wings", "brokenwings.png", "Riven lashes out in a series of strikes. This ability can be reactivated three times in a short time frame with the third hit knocking back nearby enemies.");
+ Ability c1a3 = new Ability("Ki Burst", "kiburst.png", "Riven emits a Ki Burst, damaging and stunning nearby enemies.");
+ Ability c1a4 = new Ability("Valor", "valor.png", "Riven steps forward a short distance and blocks incoming damage.");
+ Ability c1a5 = new Ability("Blade of the Exile", "bladeoftheexile.png", "Riven empowers her keepsake weapon with energy, and gains Attack Damage and Range. During this time, she also gains the ability to use Wind Slash, a powerful ranged attack, once.");
a.Add(c1a1);
a.Add(c1a2);
a.Add(c1a3);
@@ -29,11 +30,11 @@ namespace LOLAPP.Modele
c.Add(c1);
a.Clear();
- Ability c2a1 = new Ability("Rage Gene", "ragegene.jpg", "While in combat Gnar generates Rage. At maximum Rage his next ability will transform him into Mega Gnar, granting increased survivability and access to new spells.");
- Ability c2a2 = new Ability("Boomerang Throw / Boulder Toss", "boomerangthrow.jpg", "Gnar throws a boomerang that damages and slows enemies it hits before returning to him. If he catches the boomerang its cooldown is reduced.\r\n\r\nMega Gnar instead throws a boulder that stops on the first unit hit, damaging and slowing everything nearby. It can then be picked up to reduce the cooldown.");
- Ability c2a3 = new Ability("Hyper / Wallop", "hyper.jpg", "Gnar's attacks and spells hype him up, dealing bonus damage and granting him Movement Speed.\r\n\r\nMega Gnar is too enraged to be hyper and instead can rear up on his hind legs and smash down on the area in front of him, stunning enemies in an area.");
- Ability c2a4 = new Ability("Hop / Crunch", "hop.jpg", "Gnar leaps to a location and bounces off the head of any unit he lands on, traveling further.\r\n\r\nMega Gnar is too large to bounce and instead lands with earth-shattering force, dealing damage in an area around him.");
- Ability c2a5 = new Ability("GNAR!", "gnarr.jpg", "Mega Gnar throws everything around him in a chosen direction, dealing damage and slowing them. Any enemy that hits a wall is stunned and takes bonus damage.");
+ Ability c2a1 = new Ability("Rage Gene", "ragegene.png", "While in combat Gnar generates Rage. At maximum Rage his next ability will transform him into Mega Gnar, granting increased survivability and access to new spells.");
+ Ability c2a2 = new Ability("Boomerang Throw / Boulder Toss", "boomerangthrow.png", "Gnar throws a boomerang that damages and slows enemies it hits before returning to him. If he catches the boomerang its cooldown is reduced.\r\n\r\nMega Gnar instead throws a boulder that stops on the first unit hit, damaging and slowing everything nearby. It can then be picked up to reduce the cooldown.");
+ Ability c2a3 = new Ability("Hyper / Wallop", "hyper.png", "Gnar's attacks and spells hype him up, dealing bonus damage and granting him Movement Speed.\r\n\r\nMega Gnar is too enraged to be hyper and instead can rear up on his hind legs and smash down on the area in front of him, stunning enemies in an area.");
+ Ability c2a4 = new Ability("Hop / Crunch", "hop.png", "Gnar leaps to a location and bounces off the head of any unit he lands on, traveling further.\r\n\r\nMega Gnar is too large to bounce and instead lands with earth-shattering force, dealing damage in an area around him.");
+ Ability c2a5 = new Ability("GNAR!", "gnarr.png", "Mega Gnar throws everything around him in a chosen direction, dealing damage and slowing them. Any enemy that hits a wall is stunned and takes bonus damage.");
a.Add(c2a1);
a.Add(c2a2);
a.Add(c2a3);
@@ -43,25 +44,25 @@ namespace LOLAPP.Modele
c.Add(c2);
a.Clear();
- Ability c3a1 = new Ability("Daredevil Impulse", "daredevilimpulse.jpg", "Samira builds a combo by hitting attacks or abilities unique from the previous hit. Samira's attacks in melee range deal additional magic damage. Samira's attacks against enemies affected by Immobilizing effects will dash her to her attack range. If the enemy is Knocked Up, she also keeps them Knocked Up briefly.");
- Ability c3a2 = new Ability("Flair", "flair.jpg", "Samira fires a shot or swings her sword, dealing damage. If cast during Wild Rush, strike all enemies in her path upon completion.");
- Ability c3a3 = new Ability("Blade Whirl", "bladewhirl.jpg", "Samira slashes around her, damaging enemies and destroying enemy missiles.");
- Ability c3a4 = new Ability("Wild Rush", "wildrush.jpg", "Samira dashes through an enemy (including structures), slashing enemies she passes through and gaining Attack Speed. Killing an enemy champion refreshes this ability's cooldown.");
- Ability c3a5 = new Ability("Inferno Trigger", "infernotrigger.jpg", "Samira unleashes a torrent of shots from her weapons, wildly shooting all enemies surrounding her.");
- a.Add(c1a1);
- a.Add(c1a2);
- a.Add(c1a3);
- a.Add(c1a4);
- a.Add(c1a5);
+ Ability c3a1 = new Ability("Daredevil Impulse", "daredevilimpulse.png", "Samira builds a combo by hitting attacks or abilities unique from the previous hit. Samira's attacks in melee range deal additional magic damage. Samira's attacks against enemies affected by Immobilizing effects will dash her to her attack range. If the enemy is Knocked Up, she also keeps them Knocked Up briefly.");
+ Ability c3a2 = new Ability("Flair", "flair.png", "Samira fires a shot or swings her sword, dealing damage. If cast during Wild Rush, strike all enemies in her path upon completion.");
+ Ability c3a3 = new Ability("Blade Whirl", "bladewhirl.png", "Samira slashes around her, damaging enemies and destroying enemy missiles.");
+ Ability c3a4 = new Ability("Wild Rush", "wildrush.png", "Samira dashes through an enemy (including structures), slashing enemies she passes through and gaining Attack Speed. Killing an enemy champion refreshes this ability's cooldown.");
+ Ability c3a5 = new Ability("Inferno Trigger", "infernotrigger.png", "Samira unleashes a torrent of shots from her weapons, wildly shooting all enemies surrounding her.");
+ a.Add(c3a1);
+ a.Add(c3a2);
+ a.Add(c3a3);
+ a.Add(c3a4);
+ a.Add(c3a5);
Champion c3 = new Champion("Samira", "The Desert Rose", "samira.jpg", a);
c.Add(c3);
a.Clear();
- Ability c4a1 = new Ability("Bop 'n' Block", "bopnblock.jpg", "Periodically, when Yuumi attacks a champion, she restores mana and gains a shield that follows her, protecting her and the ally she's attached to.");
- Ability c4a2 = new Ability("Prowling Projectile", "prowlingprojectile.jpg", "Yuumi fires a missile, dealing damage to the first target hit. It deals bonus damage and slows if it takes at least 1 second to get to its target.\r\n\r\nWhile Attached, the missile can be controlled with your cursor.");
- Ability c4a3 = new Ability("You and Me!", "youandme.jpg", "Passively, Yuumi increases her ally's Adaptive Force and her own. Actively, Yuumi dashes to a target ally, becoming untargetable from everything except turrets.");
- Ability c4a4 = new Ability("Zoomies", "zoomies.jpg", "Heals Yuumi and boosts Movement Speed and Attack Speed. If she's attached, she passes it to her ally instead.");
- Ability c4a5 = new Ability("Final Chapter", "finalchapter.jpg", "Yuumi channels seven waves of damage, rooting anyone hit by three or more. Yuumi can move, attach, and cast Zoomies! while channeling.");
+ Ability c4a1 = new Ability("Bop 'n' Block", "bopnblock.png", "Periodically, when Yuumi attacks a champion, she restores mana and gains a shield that follows her, protecting her and the ally she's attached to.");
+ Ability c4a2 = new Ability("Prowling Projectile", "prowlingprojectile.png", "Yuumi fires a missile, dealing damage to the first target hit. It deals bonus damage and slows if it takes at least 1 second to get to its target.\r\n\r\nWhile Attached, the missile can be controlled with your cursor.");
+ Ability c4a3 = new Ability("You and Me!", "youandme.png", "Passively, Yuumi increases her ally's Adaptive Force and her own. Actively, Yuumi dashes to a target ally, becoming untargetable from everything except turrets.");
+ Ability c4a4 = new Ability("Zoomies", "zoomies.png", "Heals Yuumi and boosts Movement Speed and Attack Speed. If she's attached, she passes it to her ally instead.");
+ Ability c4a5 = new Ability("Final Chapter", "finalchapter.png", "Yuumi channels seven waves of damage, rooting anyone hit by three or more. Yuumi can move, attach, and cast Zoomies! while channeling.");
a.Add(c4a1);
a.Add(c4a2);
a.Add(c4a3);
@@ -71,11 +72,11 @@ namespace LOLAPP.Modele
c.Add(c4);
a.Clear();
- Ability c5a1 = new Ability("The Relentless Storm", "therelentlessstorm.jpg", "Riven's abilities charge her blade, and her basic attacks expend charges to deal an additional damage.");
- Ability c5a2 = new Ability("Thundering Smash", "thunderingsmash.jpg", "Riven lashes out in a series of strikes. This ability can be reactivated three times in a short time frame with the third hit knocking back nearby enemies.");
- Ability c5a3 = new Ability("Frenzied Maul", "frenziedmaul.jpg", "Riven emits a Ki Burst, damaging and stunning nearby enemies.");
- Ability c5a4 = new Ability("Sky Splitter", "skysplitter.jpg", "Riven steps forward a short distance and blocks incoming damage.");
- Ability c5a5 = new Ability("Stormbringer", "stormbringer.jpg", "Riven empowers her keepsake weapon with energy, and gains Attack Damage and Range. During this time, she also gains the ability to use Wind Slash, a powerful ranged attack, once.");
+ Ability c5a1 = new Ability("The Relentless Storm", "therelentlessstorm.png", "Riven's abilities charge her blade, and her basic attacks expend charges to deal an additional damage.");
+ Ability c5a2 = new Ability("Thundering Smash", "thunderingsmash.png", "Riven lashes out in a series of strikes. This ability can be reactivated three times in a short time frame with the third hit knocking back nearby enemies.");
+ Ability c5a3 = new Ability("Frenzied Maul", "frenziedmaul.png", "Riven emits a Ki Burst, damaging and stunning nearby enemies.");
+ Ability c5a4 = new Ability("Sky Splitter", "skysplitter.png", "Riven steps forward a short distance and blocks incoming damage.");
+ Ability c5a5 = new Ability("Stormbringer", "stormbringer.png", "Riven empowers her keepsake weapon with energy, and gains Attack Damage and Range. During this time, she also gains the ability to use Wind Slash, a powerful ranged attack, once.");
a.Add(c5a1);
a.Add(c5a2);
a.Add(c5a3);
diff --git a/LOLAPP/Stub/Stub.csproj b/LOLAPP/Stub/Stub.csproj
new file mode 100644
index 0000000..9d1bc61
--- /dev/null
+++ b/LOLAPP/Stub/Stub.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
+
+
+
+