From b3083a4fe57cc99c6972180a40091001cb209ad7 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 10 May 2009 15:33:16 +0000 Subject: added disabled ui palette color, added dock and launch buttons --- src/client/worldview.cc | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'src/client/worldview.cc') diff --git a/src/client/worldview.cc b/src/client/worldview.cc index dc8370d..cb46a17 100644 --- a/src/client/worldview.cc +++ b/src/client/worldview.cc @@ -5,6 +5,7 @@ */ #include "core/application.h" +#include "client/targeticonbutton.h" #include "client/worldview.h" #include "client/video.h" #include "ui/ui.h" @@ -28,6 +29,10 @@ WorldView::WorldView(ui::Widget *parent) : ui::Widget(parent) // icon buttons view_menubutton = new ui::IconButton(this, "icons/button_menu", "ui_menu"); + + view_launchbutton = new ui::IconButton(this, "icons/button_launch", "launch"); + view_dockbutton = new TargetIconButton(this, "icons/button_dock", "dock", core::Entity::Dockable); + view_chatbutton = new ui::IconButton(this, "icons/button_chat", "ui_chat"); view_mapbutton = new ui::IconButton(this, "icons/button_map", "ui_map"); } @@ -63,13 +68,16 @@ void WorldView::resize() // icons const float icon_margin = 4.0f; const float icon_size = 48.0f; - const float icon_count = 4; + const float icon_count = 6; const float l = (width() -((icon_count +1) * icon_margin) - (icon_count * icon_size)) * 0.5f; view_menubutton->set_geometry(l, icon_margin, icon_size, icon_size); // spacer - view_chatbutton->set_geometry( l + 2.0f * (icon_margin + icon_size), icon_margin, icon_size, icon_size); - view_mapbutton->set_geometry( l + 3.0f * (icon_margin + icon_size), icon_margin, icon_size, icon_size); + view_dockbutton->set_geometry( l + 2.0f * (icon_margin + icon_size), icon_margin, icon_size, icon_size); + view_launchbutton->set_geometry( l + 2.0f * (icon_margin + icon_size), icon_margin, icon_size, icon_size); + // spacer + view_chatbutton->set_geometry( l + 4.0f * (icon_margin + icon_size), icon_margin, icon_size, icon_size); + view_mapbutton->set_geometry( l + 5.0f * (icon_margin + icon_size), icon_margin, icon_size, icon_size); } void WorldView::clear() @@ -91,13 +99,24 @@ void WorldView::draw() view_statsinfo->set_visible(draw_stats->value() ? true : false); view_keyinfo->set_visible(draw_keypress->value() ? true : false); - if (ui::root()->active() || !core::game()->interactive() || !core::localcontrol()) { + if (ui::root()->active() || !core::game()->interactive() || !core::localcontrol() || (core::localplayer()->view() && !core::localplayer()->view()->menus().size()) ) { view_playerview->hide(); view_menubutton->hide(); + view_dockbutton->hide(); + view_launchbutton->hide(); view_chatbutton->hide(); view_mapbutton->hide(); } else { view_playerview->show(); + + if (core::localcontrol()->state() == core::Entity::Docked) { + view_launchbutton->show(); + view_dockbutton->hide(); + } else { + view_launchbutton->hide(); + view_dockbutton->show(); + } + view_menubutton->show(); view_chatbutton->show(); view_mapbutton->show(); -- cgit v1.2.3