public override void SendMessage(IGameMessage _IGameMessage, GameMessageImportance _Importance) { NetOutgoingMessage om = netServer.CreateMessage(); om.Write((byte)_IGameMessage.MessageType); _IGameMessage.Encode(om); netServer.SendToAll(om, _Importance == GameMessageImportance.VeryImportant ? NetDeliveryMethod.ReliableOrdered : NetDeliveryMethod.Unreliable); // ReliableUnordered }
public override void SendMessage(IGameMessage gameMessage, GameMessageImportance _Importance) { NetOutgoingMessage om = netClient.CreateMessage(); om.Write((byte)gameMessage.MessageType); gameMessage.Encode(om); netClient.SendMessage(om, _Importance == GameMessageImportance.VeryImportant ? NetDeliveryMethod.ReliableOrdered : NetDeliveryMethod.Unreliable); // ReliableUnordered }
public virtual void addEvent(IGameMessage _IGameMessage, GameMessageImportance _GameMessageImportance) { Event var_Event = new Event(_IGameMessage, _GameMessageImportance); if (this.LastIndex < this.LastIndexMax) { this.EventList[this.LastIndex] = var_Event; this.LastIndex += 1; } }
//TODO: Position des Objektes fehlt natürich noch ;D private void sendMessageToClientsInRange(IGameMessage _IGameMessage, GameMessageImportance _GameMessageImportance) { int var_Range = 500; foreach (Client var_Client in this.serverClients) { if (var_Client.PlayerObject != null) { int var_Distance = (int)Math.Sqrt(Math.Pow(var_Client.PlayerObject.Position.X, 2) + Math.Pow(var_Client.PlayerObject.Position.Y, 2)); if (var_Distance <= var_Range) { this.SendMessageToClient(_IGameMessage, var_Client); } } } }
public virtual void UpdateSendingEvents() { for (int i = 0; i < this.LastIndex; i++) { //if (EventList[i] != null) //{ IGameMessage var_IGameMessage = EventList[i].IGameMessage; GameMessageImportance var_Importance = EventList[i].Importance; SendMessage(var_IGameMessage, var_Importance); //} //Event.EventList.Remove(EventList[i]); //i -= 1; } this.LastIndex = 0; }
public override void UpdateSendingEvents() { for (int i = 0; i < this.LastIndex; i++) { //if (EventList[i] != null) //{ IGameMessage var_IGameMessage = EventList[i].IGameMessage; GameMessageImportance var_Importance = EventList[i].Importance; SendMessage(var_IGameMessage, var_Importance); //TODO: Position des Objektes fehlt natürich noch ;D //this.sendMessageToClientsInRange(var_IGameMessage, var_Importance); //} //Event.EventList.Remove(EventList[i]); //i -= 1; } this.LastIndex = 0; }
public Event(IGameMessage _IGameMessage, GameMessageImportance _GameMessageImportance) { this.IGameMessage = _IGameMessage; this.Importance = _GameMessageImportance; }
public virtual void SendMessage(IGameMessage _IGameMessage, GameMessageImportance _Importance) { }
//TODO: Position des Objektes fehlt natürich noch ;D private void sendMessageToClientsInRange(IGameMessage _IGameMessage, GameMessageImportance _GameMessageImportance) { int var_Range = 500; foreach (Client var_Client in this.serverClients) { if (var_Client.PlayerObject != null) { int var_Distance = (int) Math.Sqrt(Math.Pow(var_Client.PlayerObject.Position.X, 2) + Math.Pow(var_Client.PlayerObject.Position.Y, 2)); if (var_Distance <= var_Range) { this.SendMessageToClient(_IGameMessage, var_Client); } } } }