protected override void OnHandle(IPacket packet, NetState netState, ServerWorldState worldState) { AimToPacket packetToHandle = (AimToPacket)packet; ServerCharacter serverCharacter = (ServerCharacter)worldState.GetCharacter(netState.WorldId); if (serverCharacter != null) { serverCharacter.SetAimToPosition(new Point(packetToHandle.X, packetToHandle.Y)); worldState.SendStatChangeToMapCharacters(serverCharacter); } }
private void ServerCharacter_AimToChanged(object sender, EventArgs e) { ServerCharacter character = (ServerCharacter)sender; AimToPacket packet = new AimToPacket(character.Id, character.AimToPosition); foreach (ushort mapCharacterId in maptoCharacterRelations[character.CurrentMapId]) { ServerCharacter characterToUpdate = ((ServerCharacter)characters[mapCharacterId]); NetState clientSendTo = characterToUpdate.Owner; clientSendTo.Send(packet); } }
protected override void OnHandle(IPacket packet, ClientWorldState worldState) { AimToPacket incomingPacket = (AimToPacket)packet; ClientCharacter mobileToUpdate = (ClientCharacter)worldState.GetCharacter(incomingPacket.MobileId); if (mobileToUpdate == null) { worldState.MissingCharacters.Add(incomingPacket.MobileId); return; } mobileToUpdate.ServerAimToRecived(new Point(incomingPacket.X, incomingPacket.Y)); }
internal void AimTo(int characterId, Point aimToPoint) { aimToPacket = new AimToPacket(characterId, aimToPoint); //Packets are sent on Update to reduce Spam }