//TODO revoir la definition de provenance pour la methode public static List <IConteneurCarte> getEmplacementsLigneVertical(NetworkInstanceId netidJoueur, string conditionAllierEnnemie, IConteneurCarte emplacementCarteOrigin, CarteMetierAbstract carteCible) { List <IConteneurCarte> listEmplacementsCible = new List <IConteneurCarte> (); bool isProvenance = conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_PROVENANCE); IConteneurCarte conteneurOrigin = fillConteneur(emplacementCarteOrigin, carteCible.getConteneur(), isProvenance); if (null != conteneurOrigin && conteneurOrigin is EmplacementMetierAbstract) { EmplacementMetierAbstract emplacementOrigne = (EmplacementMetierAbstract)conteneurOrigin; List <EmplacementMetierAbstract> listEmplacement = new List <EmplacementMetierAbstract>(); if (isProvenance || conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ALLIER)) { listEmplacement.AddRange(EmplacementUtils.getListEmplacementJoueur <EmplacementMetierAbstract>(netidJoueur)); } if (isProvenance || conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ENNEMIE)) { listEmplacement.AddRange(EmplacementUtils.getListEmplacementJoueur <EmplacementMetierAbstract>(EmplacementUtils.netIdJoueurEnFaceEmplacement(emplacementOrigne.NumColonne, netidJoueur))); } foreach (EmplacementMetierAbstract emplacementCible in listEmplacement) { if (emplacementCible.NumColonne == emplacementOrigne.NumColonne) { listEmplacementsCible.Add(emplacementCible); } } } return(listEmplacementsCible); }
//TODO revoir la definition de provenance pour la methode public static List <IConteneurCarte> getEmplacementsLigneHorizontal(NetworkInstanceId netidJoueur, string conditionAllierEnnemie, IConteneurCarte emplacementCarteOrigin, CarteMetierAbstract carteCible) { List <IConteneurCarte> listEmplacementsCible = new List <IConteneurCarte> (); bool isProvenance = conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_PROVENANCE); IConteneurCarte conteneurOrigin = fillConteneur(emplacementCarteOrigin, carteCible.getConteneur(), isProvenance); if (null != conteneurOrigin && conteneurOrigin is EmplacementMetierAbstract) { EmplacementMetierAbstract emplacementOrigine = (EmplacementMetierAbstract)conteneurOrigin; List <EmplacementMetierAbstract> listEmplacementRanger = EmplacementUtils.getRanger(emplacementOrigine); foreach (EmplacementMetierAbstract emplacementCible in listEmplacementRanger) { if (isProvenance || (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ALLIER) && emplacementCible.isConteneurAllier(netidJoueur)) || (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ENNEMIE) && !emplacementCible.isConteneurAllier(netidJoueur))) { listEmplacementsCible.Add(emplacementCible); } } } return(listEmplacementsCible); }
//TODO revoir la definition de provenance pour la methode public static List <IConteneurCarte> getEmplacementsDiagonalMontante(NetworkInstanceId netidJoueur, string conditionAllierEnnemie, IConteneurCarte emplacementCarteOrigin, CarteMetierAbstract carteCible) { List <IConteneurCarte> listEmplacementsCible = new List <IConteneurCarte> (); bool isProvenance = conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_PROVENANCE); IConteneurCarte conteneurOrigin = fillConteneur(emplacementCarteOrigin, carteCible.getConteneur(), isProvenance); if (null != conteneurOrigin && conteneurOrigin is EmplacementMetierAbstract) { EmplacementMetierAbstract emplacementOrigin = (EmplacementMetierAbstract)conteneurOrigin; List <EmplacementMetierAbstract> listEmplacement = new List <EmplacementMetierAbstract> (); List <EmplacementMetierAbstract> listEmplacementRangerSup = EmplacementUtils.getRangerSuperieur(emplacementOrigin, netidJoueur, EmplacementUtils.netIdJoueurEnFaceEmplacement(emplacementOrigin.NumColonne, netidJoueur)); List <EmplacementMetierAbstract> listEmplacementRangerInf = EmplacementUtils.getRangerInferieur(emplacementOrigin, netidJoueur, EmplacementUtils.netIdJoueurEnFaceEmplacement(emplacementOrigin.NumColonne, netidJoueur)); listEmplacement.AddRange(EmplacementUtils.getEmplacementByNumColonne(listEmplacementRangerSup, emplacementOrigin.NumColonne + 1)); listEmplacement.AddRange(EmplacementUtils.getEmplacementByNumColonne(listEmplacementRangerInf, emplacementOrigin.NumColonne - 1)); foreach (EmplacementMetierAbstract emplacementCible in listEmplacement) { if (isProvenance || (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ALLIER) && emplacementCible.isConteneurAllier(netidJoueur)) || (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ENNEMIE) && !emplacementCible.isConteneurAllier(netidJoueur))) { listEmplacementsCible.Add(emplacementCible); } } } return(listEmplacementsCible); }
public void putCard(CarteMetierAbstract cartePoser) { if (null != cartePoser && null != cartePoser.getConteneur() && cartePoser.getConteneur() is Mains) { ((Mains)cartePoser.getConteneur()).removeCarte(cartePoser); } if (null != cartePoser && null != cartePoser.JoueurProprietaire && cartePoser.JoueurProprietaire.isLocalPlayer) { Transform trfmCard = cartePoser.transform; trfmCard.parent = transform;; cartePoser.CmdChangeParent(this.netId, ""); trfmCard.localPosition = new Vector3(0, .01f, 0); trfmCard.localRotation = Quaternion.identity; trfmCard.localScale = Vector3.one; cartePoser.JoueurProprietaire.CarteSelectionne = null; } }
public static List <IConteneurCarte> getEmplacementsLigneAtmosphere(NetworkInstanceId netidJoueur, string conditionAllierEnnemie, IConteneurCarte emplacementCarteOrigin, CarteMetierAbstract carteCible) { List <IConteneurCarte> listEmplacementsCible = new List <IConteneurCarte> (); bool isProvenance = conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_PROVENANCE); IConteneurCarte conteneurCible; if (null != carteCible) { conteneurCible = carteCible.getConteneur(); } else { conteneurCible = null; } IConteneurCarte conteneurOrigin = fillConteneur(emplacementCarteOrigin, conteneurCible, isProvenance); if (null != conteneurOrigin && conteneurOrigin is EmplacementMetierAbstract) { EmplacementMetierAbstract emplacementOrigne = (EmplacementMetierAbstract)conteneurOrigin; List <EmplacementAtomsphereMetier> listEmplacement = new List <EmplacementAtomsphereMetier> (); if ((isProvenance && emplacementOrigne.isConteneurAllier(netidJoueur)) || conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ALLIER)) { listEmplacement.AddRange(EmplacementUtils.getListEmplacementJoueur <EmplacementAtomsphereMetier>(netidJoueur)); } if ((isProvenance && emplacementOrigne.isConteneurAllier(netidJoueur)) || conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ENNEMIE)) { //TODO voir cas si plusieur ennemie listEmplacement.AddRange(EmplacementUtils.getListEmplacementJoueur <EmplacementAtomsphereMetier>(EmplacementUtils.netIdJoueurEnFaceEmplacement(emplacementOrigne.NumColonne, netidJoueur))); } foreach (EmplacementMetierAbstract emplacementCible in listEmplacement) { listEmplacementsCible.Add(emplacementCible); } } return(listEmplacementsCible); }
public static List <IConteneurCarte> getEmplacementsCible(NetworkInstanceId netidJoueur, string conditionAllierEnnemie, IConteneurCarte emplacementOrigin, CarteMetierAbstract carteCible) { List <IConteneurCarte> listEmplacementCible = new List <IConteneurCarte> (); if (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_PROVENANCE) && null != emplacementOrigin.getCartesContenu()) { listEmplacementCible.Add(emplacementOrigin); } IConteneurCarte conteneurCible = carteCible.getConteneur(); if (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ALLIER) && null != conteneurCible && conteneurCible.isConteneurAllier(netidJoueur)) { listEmplacementCible.Add(conteneurCible); } if (conditionAllierEnnemie.Contains(ConstanteIdObjet.STR_CONDITION_POUR_ENNEMIE) && null != conteneurCible && !conteneurCible.isConteneurAllier(netidJoueur)) { listEmplacementCible.Add(conteneurCible); } return(listEmplacementCible); }
private static List <CarteMetierAbstract> getCartesCible(CarteMetierAbstract carteOrigin, CarteMetierAbstract carteCible, CapaciteDTO capacite, NetworkInstanceId netIdJoueur) { List <CarteMetierAbstract> listCartesCible = new List <CarteMetierAbstract> (); List <IConteneurCarte> listEmplacementsCible = new List <IConteneurCarte> (); foreach (string conditionEmplacement in capacite.ConditionsEmplacement) { string[] tabConditionEmplacement = conditionEmplacement.Split(char.Parse("-")); if (tabConditionEmplacement.Length >= 2) { int idEmplacement = int.Parse(tabConditionEmplacement [0]); listEmplacementsCible.AddRange(ConditionEmplacementUtils.getMethodeEmplacement(idEmplacement, tabConditionEmplacement[1], carteOrigin.getConteneur(), carteCible, netIdJoueur)); } } //TODO si capacite a cible pas besoin de faire la suite foreach (string conditionCible in capacite.ConditionsCible) { string[] tabConditionCible = conditionCible.Split(char.Parse("-")); if (tabConditionCible.Length >= 2) { int idCible = int.Parse(tabConditionCible [0]); List <CarteMetierAbstract> listCartesCibleProbable = ConditionCarteUtils.getMethodeCarteCible(idCible, tabConditionCible[1], listEmplacementsCible, carteOrigin, netIdJoueur); if (capacite.AppelUnique) { foreach (CarteMetierAbstract carteProbable in listCartesCibleProbable) { //On vérifie que la carte ne possède pas déjà l'effet if (!carteProbable.containCapacityWithId(capacite.Id)) { listCartesCible.Add(carteProbable); } } } else { listCartesCible.AddRange(listCartesCibleProbable); } } } return(listCartesCible); }