private void ProcessData(byte[] data) { readStream.SetLength(0); readStream.Position = 0; readStream.Write(data, 0, data.Length); readStream.Position = 0; Protocoles p; //try //{ p = (Protocoles)reader.ReadByte(); if (p == Protocoles.Connected) { if (!enemyConnected) { byte id = reader.ReadByte(); string ip = reader.ReadString(); enemyConnected = true; enemy = new Maison(this, 1f, Vector3.Zero, new Vector3(0, 0, 5), new Vector3(5f, 5f, 5f), "PlayerPaper", "EnemyPaper", INTERVALLE_MAJ_STANDARD); Components.Add(enemy); writeStream.Position = 0; writer.Write((byte)Protocoles.Connected); SendData(GetDataFromMemoryStream(writeStream)); } } else if (p == Protocoles.Disconnected) { byte id = reader.ReadByte(); string ip = reader.ReadString(); enemyConnected = false; } else if (p == Protocoles.PlayerMoved) { float X = reader.ReadSingle(); float Y = reader.ReadSingle(); float Z = reader.ReadSingle(); byte id = reader.ReadByte(); string ip = reader.ReadString(); enemy.Position = new Vector3(enemy.Position.X + X, enemy.Position.Y + Y, enemy.Position.Z + Z); enemy.CalculerMatriceMonde(); } //} //catch (Exception exception) //{ // MessageBox.Show(exception.Message + "2"); //} }
private void ProcessData(byte[] data) { readStream.SetLength(0); readStream.Position = 0; readStream.Write(data, 0, data.Length); readStream.Position = 0; Protocoles p; //try //{ p = (Protocoles)reader.ReadByte(); if (p == Protocoles.Connected) { if (!enemyConnected) { enemyConnected = true; //float X = reader.ReadSingle(); //float Y = reader.ReadSingle(); //float Z = reader.ReadSingle(); //enemy.Position = new Vector3(X, Y, Z); //enemy = new Maison(this, 1f, Vector3.Zero, new Vector3(X,Y,Z), new Vector3(5f, 5f, 5f), "PlayerPaper", "EnemyPaper", INTERVALLE_MAJ_STANDARD); //Components.Add(enemy); //writeStream.Position = 0; //writer.Write((byte)Protocoles.Connected); //writer.Write(player.Position.X); //writer.Write(player.Position.Y); //writer.Write(player.Position.Z); //SendData(Server.GetDataFromMemoryStream(writeStream)); } } else if (p == Protocoles.Disconnected) { Components.Remove(enemy); enemyConnected = false; enemy.Enabled = false; } else if (p == Protocoles.PlayerMoved) { float X = reader.ReadSingle(); float Y = reader.ReadSingle(); float Z = reader.ReadSingle(); enemy.Position = new Vector3(X, Y, Z); enemy.CalculerMatriceMonde(); player.CalculerMatriceMonde(); } }
void UpdateLan(GameTime gameTime) { Vector3 iPosition = new Vector3(player.Position.X, player.Position.Y, player.Position.Z); Vector3 nPosition = iPosition; if (GestionInput.EstEnfoncée(Microsoft.Xna.Framework.Input.Keys.W)) { nPosition = new Vector3(player.Position.X, player.Position.Y, player.Position.Z + 0.01f); } if (GestionInput.EstEnfoncée(Microsoft.Xna.Framework.Input.Keys.S)) { nPosition = new Vector3(player.Position.X, player.Position.Y, player.Position.Z - 0.01f); } if (GestionInput.EstEnfoncée(Microsoft.Xna.Framework.Input.Keys.A)) { nPosition = new Vector3(player.Position.X + 0.01f, player.Position.Y, player.Position.Z); } if (GestionInput.EstEnfoncée(Microsoft.Xna.Framework.Input.Keys.D)) { nPosition = new Vector3(player.Position.X - 0.01f, player.Position.Y, player.Position.Z); } Vector3 delta = Vector3.Subtract(nPosition, iPosition); if (delta != Vector3.Zero) { player.Position = nPosition; player.CalculerMatriceMonde(); //writeStream.Position = 0; //writer.Write((byte)Protocoles.PlayerMoved); //writer.Write(delta.X); //writer.Write(delta.Y); //writer.Write(delta.Z); //SendData(GetDataFromMemoryStream(writeStream)); } }