//phase public void VoleBonus(Joueur voleur, Joueur cible) { Debug.Log("VoleBonus"); if (cible == JoueurBonusEmbuscade || cible == JoueurBonusPM || cible == JoueurBonusSoleil || cible == JoueurBonusTuile) { v.ActivationBouton(v.btnOK, false); v.ActivationBouton(v.btnSuperieur[0], cible == JoueurBonusEmbuscade); v.ActivationBouton(v.btnSuperieur[1], cible == JoueurBonusPM); v.ActivationBouton(v.btnSuperieur[2], cible == JoueurBonusSoleil); v.ActivationBouton(v.btnSuperieur[3], cible == JoueurBonusTuile); V.Modif(v.btnSuperieur[0], v.SpriteBonusEmbuscade, V.Effet.Normal); V.Modif(v.btnSuperieur[1], v.SpriteBonusPM, V.Effet.Normal); V.Modif(v.btnSuperieur[2], v.SpriteBonusSoleil, V.Effet.Normal); V.Modif(v.btnSuperieur[3], v.SpriteBonusTuile, V.Effet.Normal); v.ChargerUI(voleur); v.TextInfo(voleur.Nom + " Vole un bonus à " + cible.Nom); Voleur = voleur; } else { v.ChargerUI(voleur); v.TextInfo(voleur.Nom + " n'a aucun bonus à voler " + cible.Nom); } reponseClicAttendu = ReponseClicAttendu.PhaseVoleBonus_Clic_btnSupTuileBonus_Ou_btnOK; }
//fin private void Phase2_fin() { Debug.Log("Phase2_fin"); foreach (var btn in v.btnSuperieur) { v.ActivationBouton(btn, false); V.Modif(btn, V.Effet.Invisible); } reponseClicAttendu = ReponseClicAttendu.Phase0_null; Phase3_Preparation(); }
//phase public void Phase6_Recolte() { Debug.Log("Phase6_Recolte"); if (Joueurs[0].Actif) { v.ChargerUI(Joueurs[0]); ActivationOuvRecolte(Joueurs[0]); reponseClicAttendu = ReponseClicAttendu.Phase6_Recolte_Clic_Ouvriere_ou_ok; } else { Phase6_Recolte_fin(); } }
//phase public void Phase5_Deplacement() { Debug.Log("Phase5_Deplacement"); //charement var J = Joueurs[0]; v.ChargerUI(J); //tour ou fin de tour if (J.Actif) { //joueur tuile bonus ? if (J.DoitJouerSaTuileBonus) { v.TextInfo("Commences ton tour par placer ta tuile bonus"); v.ActivationBouton(v.btnOK, false); PlacerTuileBonus(Phase5_Deplacement); } //puis-ou deplacement else { v.ActivationBouton(v.btnOK, true); v.TextInfo("Choisis une unité à déplacer ou fini ton tour"); MiseAuGris(); foreach (Pion P in J.Pions) { if (P.position == Pion.Position.tuile && (P.race == Pion.Race.Gueriere || P.tuile.GetProprietaire() == P.joueur)) { P.IsSelectable = true; P.effet = Pion.Effet.Normal; } } v.ActivationBouton(v.btnOuvriere, J.nbrUnite(Pion.Race.Ouvriere, Pion.Position.nid) != 0); v.ActivationBouton(v.btnGueriere, J.nbrUnite(Pion.Race.Gueriere, Pion.Position.nid) != 0); //et attente clic unité ou ok reponseClicAttendu = ReponseClicAttendu.Phase5_Clic_btnNidOuvGue_Pion_btnOk; } } else { Phase5_fin(); } }
//phase public void Phase3_BonusSoleil() { Debug.Log("Phase3_BonusSoleil"); if (Joueurs.Count != JoueursTemp.Count) { reponseClicAttendu = ReponseClicAttendu.Phase3_Clic_btnSupBonusSoleil; } else { Phase3_fin(); } }
//fin private void Phase1_Fin() { Debug.Log("Phase1_Fin"); v.ActivationBouton(v.btnOuvriere, false); v.ActivationBouton(v.btnGueriere, false); v.ActivationBouton(v.btnOK, false); foreach (Joueur J in Joueurs) { J.Actif = true; } reponseClicAttendu = ReponseClicAttendu.Phase0_null; Phase2_Preparation(); }
private void ControlConflitAmuscade() { Debug.Log("ControlConflitAmuscade"); var conflit = new List <Pion>(); foreach (Joueur J in Joueurs) { foreach (Pion P in J.Pions) { //charge tout les pions en ambuscade du prochain joueur if (P.GetTuileCible() != null && P.GetTuileCible() == TConflit && P.joueur != TConflit.GetProprietaire() && (conflit.Count == 0 || conflit[0].joueur == P.joueur)) { conflit.Add(P); } } } //1 pion en ambuscade : action automatique if (conflit.Count == 1) { Ambuscade(conflit[0]); } //plusieur pion ambuscade d un meme joueur : choix du pion else if (conflit.Count > 1) { MiseAuGris(); foreach (Pion P in conflit) { P.IsSelectable = true; P.effet = Pion.Effet.Normal; } v.ChargerUI(conflit[0].joueur); v.TextInfo("Choisi l'une de tes guerière en ambuscade à envoyer"); reponseClicAttendu = ReponseClicAttendu.PhaseAmbuscadeMultiple_Clic_Pion; } else { Phase5_Deplacement(); } }
//fin private void Phase3_fin() { Debug.Log("Phase3_fin"); reponseClicAttendu = ReponseClicAttendu.Phase0_null; foreach (var btn in v.btnSuperieur) { V.Modif(btn, V.Effet.Invisible); } Joueurs = JoueursTemp; v.PositionnerAvatar(); v.ChargerUI(Joueurs[0]); Phase4_TuileBonusDebutDeTour(); }
//phase public void Phase2_SelectionBonus() { Debug.Log("Phase2_SelectionBonus"); if (JoueurBonusEmbuscade == null || JoueurBonusPM == null || JoueurBonusSoleil == null || JoueurBonusTuile == null) { v.ChargerUI(Joueurs[0]); v.TextInfo("Choisi ton bonus"); reponseClicAttendu = ReponseClicAttendu.Phase2_Clic_btnSupBonus; } else { Phase2_fin(); } }
//phase public void Phase7_Ponte() { Debug.Log("Phase7_Ponte"); if (Joueurs[0].Actif) { Joueurs[0].Actif = false; v.ActivationBouton(v.btnOuvriere, Joueurs[0].nbrUnite(Pion.Race.Ouvriere, Pion.Position.defausse) != 0); v.ActivationBouton(v.btnGueriere, Joueurs[0].nbrUnite(Pion.Race.Gueriere, Pion.Position.defausse) != 0); v.TextInfo("Choisi avec combient d'unité tu shaite pondre"); reponseClicAttendu = ReponseClicAttendu.Phase7_Clic_btnNidOuvGue_btnOk; } else { Phase7_fin(); } }
//phase private void Phase1_EnchereDebut() { Debug.Log("Phase1_EnchereDebut"); if (Joueurs[0].Actif) { Joueurs[0].Actif = false; v.ActivationBouton(v.btnOuvriere, Joueurs[0].nbrUnite(Pion.Race.Ouvriere, Pion.Position.defausse) != 0); v.ActivationBouton(v.btnGueriere, Joueurs[0].nbrUnite(Pion.Race.Gueriere, Pion.Position.defausse) != 0); v.TextInfo("Choisi avec combient d'unité tu shaite commencer. Débuter avec moins d'unité permet de choisir les bonus en premier"); reponseClicAttendu = ReponseClicAttendu.Phase1_Clic_btnNidOuvGue_btnOk; } else { Phase1_Fin(); } }
//phase private void PlacerTuileBonus(PhaseRetour _phaseRetour) { Debug.Log("PlacerTuileBonus"); phaseRetour = _phaseRetour; if (Pioche.Count == 0) { PlacerTuileBonus_fin(); } else { int nbrTB = (Pioche.Count < 3) ? Pioche.Count : 3; for (int i = 0; i < nbrTB; i++) { v.ActivationBouton(v.btnSuperieur[i], true); V.Modif(v.btnSuperieur[i], Pioche[i], V.Effet.Normal); } v.TextInfo("Places la tuile de ton choix"); reponseClicAttendu = ReponseClicAttendu.PhaseTuileBonus_Clic_btnSupTuileBonus_Puis_Tuile; } }
//fin private void PlacerTuileBonus_fin() { Joueurs[0].DoitJouerSaTuileBonus = false; reponseClicAttendu = ReponseClicAttendu.Phase0_null; phaseRetour(); }