public void send_key_commands(scheduled_movement t) { NetOutgoingMessage m = udp_client.CreateMessage(); m.Write((byte)7); m.Write((byte)Exilania.game_my_user_id); t.send_movement(m); udp_client.SendMessage(m, NetDeliveryMethod.UnreliableSequenced, 2); }
public void receive_key_commands(NetIncomingMessage p, Display d, World w) { int player_id = p.ReadByte(); if (!Exilania.game_server && w != null && w.players.Count > player_id) { float dtime = ((float)(NetTime.Now - p.ReadTime(true))); w.world_time = p.ReadSingle() + dtime; w.tiles_spread_frame = (int)w.world_time / (int)World.tiles_spread_sec_between_frame; scheduled_movement t = new scheduled_movement(p); w.players[player_id].avatar.input.movement_schedule.Add(t); } }
public void relay_key_commands(NetIncomingMessage p, Display d, World w) { int player_id = p.ReadByte(); scheduled_movement t = new scheduled_movement(p); if (player_id != Exilania.game_my_user_id) { w.players[player_id].avatar.input.movement_schedule.Add(t); } NetOutgoingMessage i = udp_server.CreateMessage(); i.Write((byte)7); i.Write((byte)player_id); i.WriteTime(true); i.Write(w.world_time); t.send_movement(i); udp_server.SendToAll(i, p.SenderConnection, NetDeliveryMethod.ReliableSequenced, 2); }