//Constructeur sérialiseur public Mode1v1LAN( Game game, InfoJoueurMultijoueur infoJoueurPrincipal, InfoJoueurMultijoueur infoJoueurSecondaire, bool estPartieActive, InfoGestionEnvironnement infoEnvironnementPartie, NetworkServer infoServeur) : base(game) { JoueurPrincipal = new JoueurMultijoueur(this.Game,infoJoueurPrincipal); if(infoJoueurSecondaire != null) JoueurSecondaire = new JoueurMultijoueur(this.Game, infoJoueurSecondaire); EstPartieActive = estPartieActive; Environnement = infoEnvironnementPartie.NomEnvironnement; Serveur = infoServeur; }
public InfoMode1v1LAN(JoueurMultijoueur joueurPrincipal,JoueurMultijoueur joueurSecondaire, GestionPartie gestionnairePartie, bool estPartieActive, GestionEnvironnement environnementPartie, NetworkServer serveur) { if (joueurPrincipal != null) { InfoJoueurPrincipal = new InfoJoueurMultijoueur(joueurPrincipal.Avatar, joueurPrincipal.GamerTag, joueurPrincipal.ImageJoueur, joueurPrincipal.GestionnaireDeLaPartie, joueurPrincipal.EstActif, joueurPrincipal.IP); } else Console.WriteLine("Joueur Principal null"); if (joueurSecondaire != null) { InfoJoueurSecondaire = new InfoJoueurMultijoueur(joueurSecondaire.Avatar, joueurSecondaire.GamerTag, joueurSecondaire.ImageJoueur, joueurSecondaire.GestionnaireDeLaPartie, joueurSecondaire.EstActif, joueurSecondaire.IP); } else Console.WriteLine("Joueur Secondaire null"); InfoGestionnairePartie = new InfoGestionPartie(); EstPartieActive = estPartieActive; InfoGestionnaireEnvironnement = new InfoGestionEnvironnement(environnementPartie.NomEnvironnement); InfoServer = new InfoNetworkServer(serveur.Port, serveur.NomJeu, serveur.Temps); }
void ActiverPartieMaster() { if (Serveur.ListeJoueurs.Count == 2) { if (Serveur.ListeJoueurs.Count >= 1 && Serveur.ListeJoueurs[0] != null) JoueurPrincipal = new JoueurMultijoueur(this.Game, Serveur.ListeJoueurs[0].IP, GestionNetwork.MasterClient); if (Serveur.ListeJoueurs.Count >= 2 && Serveur.ListeJoueurs[1] != null) JoueurSecondaire = new JoueurMultijoueur(this.Game, Serveur.ListeJoueurs[1].IP, GestionNetwork.SlaveClient); ModifierActivation(); ActiverEnvironnement(); ath = new ATH(Game, JoueurPrincipal); Game.Components.Add(ath); JoueurPrincipal.Client.EnvoyerInfoPartieToServeur_StartGame(this); } }
void GérerLogin() { Console.WriteLine("Incoming LOGIN"); //Ajout du client MessageInc.SenderConnection.Approve(); //Initialisation de joueur var joueur = new JoueurMultijoueur(Game, MessageInc.SenderConnection); ListeJoueurs.Add(joueur); // Création d'un message pouvant être envoyé NetOutgoingMessage MessageSortant = Serveur.CreateMessage(); // Tout d'abord on dit quel sorte de message on envoie en Byte //Envoie d'un message renvoyant l'état du monde MessageSortant.Write((byte)PacketTypes.WORLDSTATE); // Ensuite on écrit l'information à être envoyée MessageSortant.Write(ListeJoueurs.Count); //Passe sur tous les joueurs dans le jeu foreach (JoueurMultijoueur j in ListeJoueurs) { // Écrit tous les propriété des objet MessageSortant.WriteAllProperties(j); } //Envoie du message à la connection dans l'ordre qu'il a été envoyé Serveur.SendMessage(MessageSortant, MessageInc.SenderConnection, NetDeliveryMethod.ReliableOrdered, 0); // Debug Console.WriteLine("Nouvelle connection acceptée et update WorldState"); }
//Update le monde(liste joueurs) void WorldStateUpdate() { //On vide la liste des joueurs contenant les informations if (ListeJoueurs != null) ListeJoueurs.Clear(); int NbDeJoueurs = 0; //On lit le nombre de joueurs envoyé dans le message NbDeJoueurs = MessageInc.ReadInt32(); //On recrée les joueurs présents for (int i = 0; i < NbDeJoueurs; i++) { JoueurMultijoueur j = new JoueurMultijoueur(this.Game, MessageInc.SenderConnection, this); MessageInc.ReadAllProperties(j); ListeJoueurs.Add(j); } }