Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 20, 2006, 12:02:01 PM (17 years ago)
Author:
muellmic
Message:

some interface hacks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/playability/src/world_entities/space_ships/space_ship.cc

    r10119 r10120  
    3030#include "weapons/turret.h"
    3131#include "weapons/cannon.h"
     32
     33#include "elements/glgui_energywidgetvertical.h"
    3234
    3335#include "particles/dot_emitter.h"
     
    238240  this->cameraNode.addNodeFlags(PNODE_PROHIBIT_CHILD_DELETE);
    239241
    240 
     242  // widget handling
     243  this->electronicWidget = new OrxGui::GLGuiEnergyWidgetVertical();
     244  this->electronicWidget->setDisplayedName(std::string(this->getClassName()) + " Electronics:");
     245  this->electronicWidget->setSize2D(30,400);
     246  this->electronicWidget->setAbsCoor2D(150,200);
     247  this->electronicWidget->shiftDir2D(270);
     248  this->updateElectronicWidget();
     249  this->shieldWidget = new OrxGui::GLGuiEnergyWidgetVertical();
     250  this->shieldWidget->setDisplayedName(std::string(this->getClassName()) + " Shield:");
     251  this->shieldWidget->setSize2D(30,400);
     252  this->shieldWidget->setAbsCoor2D(200,200);
     253  this->shieldWidget->shiftDir2D(270);
     254  this->updateShieldWidget();
     255  if (this->hasPlayer())
     256  {
     257    State::getPlayer()->hud().setShiledWidget(this->shieldWidget);
     258    State::getPlayer()->hud().setEnergyWidget(this->electronicWidget);
     259  }
    241260
    242261  //add events to the eventlist
     
    694713    this->destroy(this);
    695714
     715  updateElectronicWidget();
     716  updateShieldWidget();
     717
    696718  this->setHealth( this->armorCur);
    697719}
     
    714736      this->shieldCur = tmp;
    715737    this->shieldActive = ( this->shieldActive || this->shieldCur > shieldTH);
     738
     739    updateShieldWidget();
    716740  }
    717741
     
    724748    else
    725749      this->electronicCur = tmp;
    726   }
     750
     751    updateElectronicWidget();
     752  }
     753
    727754}
    728755
     
    9931020  //this->collidesWith(killer, this->getAbsCoor());
    9941021}
     1022
     1023void SpaceShip::updateElectronicWidget()
     1024{
     1025  this->electronicWidget->setMaximum(this->electronicMax);
     1026  this->electronicWidget->setValue(this->electronicCur);
     1027  if (this->hasPlayer())
     1028    this->electronicWidget->show();
     1029}
     1030
     1031void SpaceShip::updateShieldWidget()
     1032{
     1033  this->shieldWidget->setMaximum(this->shieldMax);
     1034  this->shieldWidget->setValue(this->shieldCur);
     1035  if (this->hasPlayer())
     1036    this->shieldWidget->show();
     1037}
Note: See TracChangeset for help on using the changeset viewer.