Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 23, 2009, 12:02:49 PM (15 years ago)
Author:
landauf
Message:

merged miniprojects branch back to trunk

Location:
code/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/src/orxonox/objects/gametypes/Gametype.cc

    r2710 r2826  
    4444#include "objects/worldentities/Camera.h"
    4545
    46 #include "network/Host.h"
    47 
    4846namespace orxonox
    4947{
     
    6563
    6664        this->setConfigValues();
    67 
    68         this->addBots(this->numberOfBots_);
    6965
    7066        // load the corresponding score board
     
    105101    void Gametype::start()
    106102    {
    107         COUT(0) << "game started" << std::endl;
     103        this->addBots(this->numberOfBots_);
     104
    108105        this->gtinfo_.bStarted_ = true;
    109106
     
    113110    void Gametype::end()
    114111    {
    115         COUT(0) << "game ended" << std::endl;
    116112        this->gtinfo_.bEnded_ = true;
    117113    }
     
    120116    {
    121117        this->players_[player].state_ = PlayerState::Joined;
    122 
    123         std::string message = player->getName() + " entered the game";
    124         COUT(0) << message << std::endl;
    125         Host::Broadcast(message);
    126     }
    127 
    128     void Gametype::playerLeft(PlayerInfo* player)
     118    }
     119
     120    bool Gametype::playerLeft(PlayerInfo* player)
    129121    {
    130122        std::map<PlayerInfo*, Player>::iterator it = this->players_.find(player);
     
    132124        {
    133125            this->players_.erase(it);
    134 
    135             std::string message = player->getName() + " left the game";
    136             COUT(0) << message << std::endl;
    137             Host::Broadcast(message);
    138         }
     126            return true;
     127        }
     128        return false;
    139129    }
    140130
     
    147137    }
    148138
    149     void Gametype::playerChangedName(PlayerInfo* player)
     139    bool Gametype::playerChangedName(PlayerInfo* player)
    150140    {
    151141        if (this->players_.find(player) != this->players_.end())
     
    153143            if (player->getName() != player->getOldName())
    154144            {
    155                 std::string message = player->getOldName() + " changed name to " + player->getName();
    156                 COUT(0) << message << std::endl;
    157                 Host::Broadcast(message);
    158             }
    159         }
     145                return true;
     146            }
     147        }
     148        return false;
    160149    }
    161150
     
    168157    }
    169158
     159    void Gametype::playerPreSpawn(PlayerInfo* player)
     160    {
     161    }
     162
     163    void Gametype::playerPostSpawn(PlayerInfo* player)
     164    {
     165    }
     166
     167    void Gametype::playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn)
     168    {
     169    }
     170
     171    void Gametype::playerStopsControllingPawn(PlayerInfo* player, Pawn* pawn)
     172    {
     173    }
     174
     175    bool Gametype::allowPawnHit(Pawn* victim, Pawn* originator)
     176    {
     177        return true;
     178    }
     179
     180    bool Gametype::allowPawnDamage(Pawn* victim, Pawn* originator)
     181    {
     182        return true;
     183    }
     184
     185    bool Gametype::allowPawnDeath(Pawn* victim, Pawn* originator)
     186    {
     187        return true;
     188    }
     189
    170190    void Gametype::pawnKilled(Pawn* victim, Pawn* killer)
    171191    {
    172         if (victim && victim->getPlayer())
    173         {
    174             std::string message;
    175             if (killer)
    176             {
    177                 if (killer->getPlayer())
    178                     message = victim->getPlayer()->getName() + " was killed by " + killer->getPlayer()->getName();
    179                 else
    180                     message = victim->getPlayer()->getName() + " was killed";
    181             }
    182             else
    183                 message = victim->getPlayer()->getName() + " died";
    184 
    185             COUT(0) << message << std::endl;
    186             Host::Broadcast(message);
    187         }
    188 
    189192        if (victim && victim->getPlayer())
    190193        {
     
    197200                // Reward killer
    198201                if (killer)
    199                 {
    200                     std::map<PlayerInfo*, Player>::iterator itKiller = this->players_.find(killer->getPlayer());
    201                     if (itKiller != this->players_.end())
    202                     {
    203                         this->playerScored(itKiller->second);
    204                     }
    205                     else
    206                         COUT(2) << "Warning: Killing Pawn was not in the playerlist" << std::endl;
    207                 }
     202                    this->playerScored(killer->getPlayer());
    208203
    209204                ControllableEntity* entity = this->defaultControllableEntity_.fabricate(victim->getCreator());
     
    225220    }
    226221
    227     void Gametype::playerScored(Player& player)
    228     {
    229         player.frags_++;
     222    void Gametype::playerScored(PlayerInfo* player)
     223    {
     224        std::map<PlayerInfo*, Player>::iterator it = this->players_.find(player);
     225        if (it != this->players_.end())
     226            it->second.frags_++;
    230227    }
    231228
     
    336333        if (spawnpoint)
    337334        {
     335            this->playerPreSpawn(player);
    338336            player->startControl(spawnpoint->spawn());
    339337            this->players_[player].state_ = PlayerState::Alive;
     338            this->playerPostSpawn(player);
    340339        }
    341340        else
Note: See TracChangeset for help on using the changeset viewer.