Moved the hover logic to the server

This commit is contained in:
xethm55 committed 2012-10-01 22:30:41 -04:00
1 parent 8ed2688095
commit 116f066a80
3 files changed
+15 -9

No files matched your search

+1 -9
View File
@@ -210,6 +210,7 @@ void Client::update(double elapsed_time)
client_packet >> m_players[player_index]->direction;
client_packet >> m_players[player_index]->x;
client_packet >> m_players[player_index]->y;
client_packet >> m_players[player_index]->hover;
}
break;
}
@@ -286,15 +287,6 @@ void Client::update(double elapsed_time)
}
}
/* decrease player hover when not over a tile */
if (m_map.get_tile_at(m_players[m_current_player]->x,
m_players[m_current_player]->y).isNull())
{
m_players[m_current_player]->hover -= elapsed_time / 10;
if (m_players[m_current_player]->hover < 0)
m_players[m_current_player]->hover = 0;
}
m_player_dir_x = cos(m_players[m_current_player]->direction);
m_player_dir_y = sin(m_players[m_current_player]->direction);
+12
View File
@@ -166,6 +166,17 @@ void Server::update( double elapsed_time )
if(m_players[pindex]->m_client->disconnect == CONNECTED)
{
/* decrease player hover when not over a tile */
if((m_players[pindex]->hover > 0) &&
(m_map.get_tile_at(m_players[pindex]->x, m_players[pindex]->y).isNull()))
{
m_players[pindex]->hover -= elapsed_time / 10;
if (m_players[pindex]->hover < 0)
{
m_players[pindex]->hover = 0;
}
m_players[pindex]->updated = true;
}
if (KEY_PRESSED == m_players[pindex]->a_pressed)
{
double direction = m_players[pindex]->direction + M_PI_2;
@@ -211,6 +222,7 @@ void Server::update( double elapsed_time )
server_packet << m_players[pindex]->direction;
server_packet << m_players[pindex]->x;
server_packet << m_players[pindex]->y;
server_packet << m_players[pindex]->hover;
m_net_server->sendData(server_packet);
m_players[pindex]->updated = false;
}
+2
View File
@@ -2,6 +2,7 @@
#include "Player.h"
#include "refptr.h"
#include "SFML/Config.hpp"
#include "Map.h"
class Server{
public:
@@ -14,4 +15,5 @@ class Server{
refptr<Network> m_net_server;
std::map<sf::Uint8, refptr<Player> > m_players;
sf::Clock m_clock;
Map m_map;
};