public override void onClick() { Joueur joueurLocal = JoueurUtils.getJoueurLocal(); //Selection de la defense lors de la phase attaque adverse if (SelectionnableDefense && null != joueurLocal) { TourJeuSystem systemTour = TourJeuSystem.getTourSystem(); if (systemTour.getPhase() == TourJeuSystem.PHASE_ATTAQUE && systemTour.getPhase(joueurLocal.netId) == TourJeuSystem.EN_ATTENTE) { defenseSelectionne = true; defenduCeTour = true; } else { base.onClick(); } } else { base.onClick(); } }
/*****************ISelectionnable*****************/ public override void onClick() { Joueur joueurLocal = JoueurUtils.getJoueurLocal(); if (null != joueurLocal) { TourJeuSystem systemTour = TourJeuSystem.getTourSystem(); //Si un joueur clique sur une carte capable d'attaquer puis sur une carte ennemie cela lance une attaque EventTask eventTask = EventTaskUtils.getEventTaskEnCours(); if (systemTour.getPhase(joueurLocal.netId) == TourJeuSystem.PHASE_ATTAQUE && null != joueurLocal.CarteSelectionne && joueurLocal.CarteSelectionne.JoueurProprietaire != JoueurProprietaire && joueurLocal.CarteSelectionne is IAttaquer && ((IAttaquer)joueurLocal.CarteSelectionne).isCapableAttaquer() && !(null != eventTask && eventTask is EventTaskChoixCible)) //On ne peut attaquer si choix de defense en cours //TODO vérifier l'emplacement sol { JoueurUtils.getJoueurLocal().CmdCreateTask(joueurLocal.CarteSelectionne.netId, joueurLocal.netId, this.IdISelectionnable, ConstanteIdObjet.ID_CONDITION_ACTION_ATTAQUE, NetworkInstanceId.Invalid, false); } else { base.onClick(); } } else { base.onClick(); } }
/** * Retourne si la carte est déplaçable par le joueur * */ protected bool isMovableByPlayer(Joueur joueur) { bool movable = false; if (null != joueur && joueur.isLocalPlayer) { TourJeuSystem systemTour = TourJeuSystem.getTourSystem(); if (systemTour.getPhase(joueur.netId) == TourJeuSystem.PHASE_DEPLACEMENT && null != joueur.CarteSelectionne && joueur.netId == joueur.CarteSelectionne.JoueurProprietaire.netId) { movable = true; } } return(movable); }