Ejemplo n.º 1
0
    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();
        }
    }
Ejemplo n.º 3
0
    /**
     * 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);
    }