private void CmdInitSystemeTour() { BoutonTour boutonTour = goPlateau.GetComponentInChildren <BoutonTour> (); NetworkUtils.assignObjectToPlayer(boutonTour.GetComponent <NetworkIdentity> (), GetComponent <NetworkIdentity> (), -1); TourJeuSystem systemTour = TourJeuSystem.getTourSystem(); systemTour.addInSystemeTour(netId, pseudo, boutonTour.netId); }
/** * Appeler sur server * */ private void chooseFirstPlayer() { if (isServer) { indexPlayerPlaying = Random.Range(0, listJoueurs.Count); nbTurn = 0; phase = DEBUT_TOUR; phase++; this.idJoueurTour = listJoueurs [indexPlayerPlaying].netIdJoueur; GameObject goBtn = NetworkServer.FindLocalObject(listJoueurs [indexPlayerPlaying].netIdBtnTour); if (null != goBtn && null != goBtn.GetComponent <BoutonTour> ()) { BoutonTour boutonTour = goBtn.GetComponent <BoutonTour> (); boutonTour.setEtatBoutonServer(BoutonTour.enumEtatBouton.terminerTour); } } }
public void progressStepServer(int actionPlayer) { if (isServer) { if (actionPlayer == PHASE_ATTAQUE) { phase = PHASE_ATTAQUE; GameObject goBtnLastPlayer = NetworkServer.FindLocalObject(listJoueurs [indexPlayerPlaying].netIdBtnTour); if (null != goBtnLastPlayer && null != goBtnLastPlayer.GetComponent <BoutonTour> ()) { BoutonTour boutonTour = goBtnLastPlayer.GetComponent <BoutonTour> (); boutonTour.setEtatBoutonServer(BoutonTour.enumEtatBouton.terminerTour); } List <CarteConstructionMetierAbstract> listAttaquant = CarteUtils.getListCarteCapableAttaque(listJoueurs [indexPlayerPlaying].netIdJoueur); foreach (CarteConstructionMetierAbstract attaquant in listAttaquant) { attaquant.RpcSetEtatSelectionPlayer(listJoueurs [indexPlayerPlaying].netIdJoueur, SelectionnableUtils.ETAT_HIGH_LIGHT); } } else if (actionPlayer == FIN_TOUR) { Joueur joueurTour = JoueurUtils.getJoueur(listJoueurs [indexPlayerPlaying].netIdJoueur); int phasePrecedente = phase; phase = FIN_TOUR; if (phasePrecedente == PHASE_ATTAQUE) { ActionEventManager.EventActionManager.CreateTask(NetworkInstanceId.Invalid, joueurTour.netId, -1, ConstanteIdObjet.ID_CONDITION_ACTION_FIN_ATTAQUE, NetworkInstanceId.Invalid, false); } else { ActionEventManager.EventActionManager.CreateTask(NetworkInstanceId.Invalid, joueurTour.netId, -1, ConstanteIdObjet.ID_CONDITION_ACTION_FIN_TOUR, NetworkInstanceId.Invalid, false); } } } }
public void finTour(Joueur joueurTour) { GameObject goBtnLastPlayer = NetworkServer.FindLocalObject(listJoueurs [indexPlayerPlaying].netIdBtnTour); if (null != goBtnLastPlayer && null != goBtnLastPlayer.GetComponent <BoutonTour> ()) { BoutonTour boutonTour = goBtnLastPlayer.GetComponent <BoutonTour> (); if (boutonTour.getEtatBouton() == BoutonTour.enumEtatBouton.terminerTour) { boutonTour.setEtatBoutonServer(BoutonTour.enumEtatBouton.enAttente); CapaciteUtils.endOfTurnOfCapacityPlayer(listJoueurs [indexPlayerPlaying].netIdJoueur); bool tourSupJoueur = 0 < CapaciteUtils.valeurAvecCapacite(0, joueurTour.CartePlaneteJoueur.containCapacityOfType(ConstanteIdObjet.ID_CAPACITE_PERTE_TOUR_JEU), ConstanteIdObjet.ID_CAPACITE_PERTE_TOUR_JEU); if (!tourSupJoueur) //Pas de tour supplementaire { if (indexPlayerPlaying < listJoueurs.Count - 1) { indexPlayerPlaying++; } else { indexPlayerPlaying = 0; nbTurn++; } this.idJoueurTour = listJoueurs [indexPlayerPlaying].netIdJoueur; joueurTour = JoueurUtils.getJoueur(listJoueurs [indexPlayerPlaying].netIdJoueur); } RpcAffichagePseudo(listJoueurs [indexPlayerPlaying].Pseudo); ActionEventManager.EventActionManager.CreateTask(NetworkInstanceId.Invalid, joueurTour.netId, -1, ConstanteIdObjet.ID_CONDITION_ACTION_DEBUT_TOUR, NetworkInstanceId.Invalid, false); } } }
public void debutTour(Joueur joueurTour) { bool perteTour = 0 > CapaciteUtils.valeurAvecCapacite(0, joueurTour.CartePlaneteJoueur.containCapacityOfType(ConstanteIdObjet.ID_CAPACITE_PERTE_TOUR_JEU), ConstanteIdObjet.ID_CAPACITE_PERTE_TOUR_JEU); initTour(joueurTour); if (perteTour) //Perte de tour { progressStepServer(FIN_TOUR); } else { phase++; GameObject goBtnNewPlayer = NetworkServer.FindLocalObject(listJoueurs [indexPlayerPlaying].netIdBtnTour); if (null != goBtnNewPlayer && null != goBtnNewPlayer.GetComponent <BoutonTour> ()) { BoutonTour boutonTour = goBtnNewPlayer.GetComponent <BoutonTour> (); boutonTour.setEtatBoutonServer(BoutonTour.enumEtatBouton.terminerTour); } } }
public override void onClick() { //TODO fonction en cours GameObject goJoueur = ClientScene.FindLocalObject(this.idJoueurPossesseur); if (null != goJoueur) { Joueur joueur = goJoueur.GetComponent <Joueur> (); if (isMovableByPlayer(joueur)) { EventTask eventTask = EventTaskUtils.getEventTaskEnCours(); if (this.etatSelectionnable == SelectionnableUtils.ETAT_SELECTIONNABLE && null != eventTask && eventTask is EventTaskChoixCible) { ((EventTaskChoixCible)eventTask).ListCibleChoisie.Add(this); } else if (joueur.CarteSelectionne is CarteVaisseauMetier && ((CarteVaisseauMetier)joueur.CarteSelectionne).isCapableAttaquer() && joueur.RessourceCarburant.StockWithCapacity >= ((CarteVaisseauMetier)joueur.CarteSelectionne).getConsomationCarburant()) { joueur.CmdPayerRessource(joueur.RessourceCarburant.TypeRessource, ((CarteVaisseauMetier)joueur.CarteSelectionne).getConsomationCarburant()); joueur.CarteSelectionne.deplacerCarte(this, joueur.netId, NetworkInstanceId.Invalid); //TODO doit on mettre tous de suite le bouton (si le déplacement est impossible? BoutonTour boutonJoueur = joueur.GoPlateau.GetComponentInChildren <BoutonTour> (); if (null != boutonJoueur) { boutonJoueur.CmdSetEtatBouton(BoutonTour.enumEtatBouton.attaque); } } else if (listNomCarteExeption.Contains(joueur.CarteSelectionne.name)) { //TODO carte en exception } } } }