/** Perform the game update. */ final void update() { boolean serverUpdateRequired = false; boolean movementChanged = player.updateMovement(); if (movementChanged) { serverUpdateRequired = true; } // TODO: Other updates. if (serverUpdateRequired) { ClientMessage.GameData.Builder data = ClientMessage.GameData.newBuilder(); if (moving) { data.setMovementInformation( ClientMessage.GameData.MovementInformation.newBuilder() .setDirection(player.getDirection()) .build()); } GameClientUtils.sendGameData(data.build()); } }