Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Oct 29, 2008, 12:48:11 AM (16 years ago)
Author:
landauf
Message:

bugs—
network++
endurance—
tiredness++

but it still doesn't work properly
(commit because oli is very impatient)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/objecthierarchy/src/orxonox/objects/worldentities/pawns/Spectator.cc

    r2040 r2041  
    5656        this->roll_ = 0;
    5757        this->setHudTemplate("spectatorhud");
     58        this->hudmode_ = 0;
    5859
    5960        this->setDestroyWhenPlayerLeft(true);
     
    8586        REGISTERDATA(this->bGreetingFlareVisible_, network::direction::toclient, new network::NetworkCallback<Spectator>(this, &Spectator::changedFlareVisibility));
    8687        REGISTERDATA(this->bGreeting_,             network::direction::toserver, new network::NetworkCallback<Spectator>(this, &Spectator::changedGreeting));
     88        REGISTERDATA(this->hudmode_,               network::direction::toclient);
    8789    }
    8890
     
    100102    void Spectator::tick(float dt)
    101103    {
     104        this->updateHUD();
     105
    102106        if (this->isLocallyControlled())
    103107        {
    104             this->updateHUD();
    105 
    106108            Vector3 velocity = this->getVelocity();
    107109            velocity.normalise();
     
    187189    {
    188190        // <hack>
    189         if (this->getHUD())
    190         {
    191             std::string text;
    192 
     191        if (Core::isMaster())
     192        {
    193193            if (this->getPlayer() && this->getGametype())
    194194            {
     
    196196                {
    197197                    if (!this->getPlayer()->isReadyToSpawn())
    198                         text = "Press [Fire] to start the match";
     198                        this->hudmode_ = 0;
    199199                    else
    200                         text = "Waiting for other players";
     200                        this->hudmode_ = 1;
    201201                }
    202202                else if (!this->getGametype()->hasEnded())
    203203                {
    204204                    if (this->getGametype()->isStartCountdownRunning())
    205                     {
    206                         text = convertToString(ceil(this->getGametype()->getStartCountdown()));
    207                     }
     205                        this->hudmode_ = 2 + 10*ceil(this->getGametype()->getStartCountdown());
    208206                    else
    209                     {
    210                         text = "Press [Fire] to respawn";
    211                     }
     207                        this->hudmode_ = 3;
    212208                }
    213209                else
    214                 {
     210                    this->hudmode_ = 4;
     211            }
     212            else
     213                return;
     214        }
     215
     216        if (this->getHUD())
     217        {
     218            std::string text;
     219            int hudmode = this->hudmode_ % 10;
     220
     221            switch (hudmode)
     222            {
     223                case 0:
     224                    text = "Press [Fire] to start the match";
     225                    break;
     226                case 1:
     227                    text = "Waiting for other players";
     228                    break;
     229                case 2:
     230                    text = convertToString((this->hudmode_ - 2) / 10);
     231                    break;
     232                case 3:
     233                    text = "Press [Fire] to respawn";
     234                    break;
     235                case 4:
    215236                    text = "Game has ended";
    216                 }
    217             }
    218             else
    219             {
    220                 return;
     237                    break;
     238                default:;
    221239            }
    222240
Note: See TracChangeset for help on using the changeset viewer.