Real Terrain::getHeightAt( const Vector3& rPosition ) { try { return GlobalsBase::mGrid->getServer( GridPosition( ServerPosition( rPosition ) ) ). getPluginManager().getPlugin<Terrain>().getTerrain()->getHeightAtWorldPosition( toVector3<Ogre::Vector3>( rPosition ) ); } catch( ... ) { } return 0.0; }
void Game::buildmenu_selection_not_set(SDL_Event* event) //Player does not have an object selected from Buildmenu { if (!game_started && event->key.keysym.sym == SDLK_RETURN) { if (game_state == GAME_PAUSED) { game_state = GAMEPLAY_RUNNING; game_started = true; send_new_wave(); grid->clear_paths(); for(iter_enemy = enemy_list.begin(); iter_enemy != enemy_list.end(); iter_enemy++) { (*iter_enemy)->try_update_path(); } } } if (event->key.keysym.sym == SDLK_SPACE) { if (tile_selection != NULL) { toggle_option_box(); } } update_option_box(); int position = 0; for (iter_op_box = optionbox.begin(); iter_op_box != optionbox.end(); iter_op_box++) { int posX = (int)selection_sprite->get_x() + 2; int posY = (int)selection_sprite->get_y() + 2; GridPosition pos = GridPosition(0,0); Tile* tile = grid->get_tile_from_mouse(posX, posY); if (tile != NULL) pos = tile->get_position(); if (event->key.keysym.sym == SDLK_1 && position == 1) { if (optbox_do_selection((*iter_op_box), pos)) break; } else if (event->key.keysym.sym == SDLK_2 && position == 2) { if (optbox_do_selection((*iter_op_box), pos)) break; } else if (event->key.keysym.sym == SDLK_3 && position == 3) { if (optbox_do_selection((*iter_op_box), pos)) break; } else if (event->key.keysym.sym == SDLK_4 && position == 4) { if (optbox_do_selection((*iter_op_box), pos)) break; } else if (event->key.keysym.sym == SDLK_5 && position == 5) { if (optbox_do_selection((*iter_op_box), pos)) break; } else if (event->key.keysym.sym == SDLK_u) { if (optbox_do_selection(BUTTON_UPGRADE, pos)) break; } else if (event->key.keysym.sym == SDLK_s) { if (optbox_do_selection(BUTTON_SELL, pos)) break; } position++; } if (is_arrow_key(event)) { arrowkey_bflag_not_set(event); } }