Exemplo n.º 1
0
 //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;
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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");
        }
Exemplo n.º 5
0
        //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);
            }
        }