Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 11188


Ignore:
Timestamp:
May 19, 2016, 1:34:34 PM (8 years ago)
Author:
binderm
Message:
 
Location:
code/branches/bindermFS16/src/orxonox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • code/branches/bindermFS16/src/orxonox/LevelManager.cc

    r11186 r11188  
    3333
    3434#include "LevelManager.h"
     35#include "LevelStatus.h"
    3536
    3637#include <map>
     
    5152{
    5253
    53 //Mission endmission true
    54     //check if index level is activated...
    55     int LevelManager::missionactivate(int index)
    56     {
    57         updateAllLevelStatus();
    58         int activated = allLevelStatus_[index].activated;
    59         return activated;
    60     }
    61 
    62     void LevelManager::updatewon(int lastwon)
    63     {
    64         allLevelStatus_[lastwon].won=true;
    65 
    66     }
    67 
    68     void LevelManager::updateAllLevelStatus()
    69     {
    70         for(unsigned int i =0;i<allLevelStatus_.size();i++)
    71         {
    72             if(allLevelStatus_[i].won)
    73             {
    74                 allLevelStatus_[i].activated=1;
    75                 std::vector<int> nextLevels=allLevelStatus_[i].nextLevels;
    76                 for(unsigned int j=i+1;j<allLevelStatus_.size();j++)
    77                 {
    78                     allLevelStatus_[j].activated=nextLevels[j];
    79                 }
    80             }
    81         }
    82     }
    83 
    84     //updates the won variable of the corresponding LevelStatus in allLevelStatus_
    85     void LevelManager::setLevelStatus(const std::string& LevelWon)
    86     {
    87         ModifyConfigValue(lastWonMission_, set, LevelWon); 
    88     }
    89 
    90 
    91     //build up allLevelStatus
    92     //has to be done once per game (not per level)
    93     //all connections between the levels are saved in here
    94     void LevelManager::buildallLevelStatus()
    95     {
    96         LevelStatus level;
    97         allLevelStatus_.assign (campaignMissions_.size(),level);
    98         allLevelStatus_[0].activated=1;
    99         //allLevelStatus_[0].won=true;
    100 
    101 
    102         allLevelStatus_[0].nextLevels.push_back(1);
    103         allLevelStatus_[0].nextLevels.push_back(1);
    104         allLevelStatus_[0].nextLevels.push_back(0);
    105         allLevelStatus_[0].nextLevels.push_back(0);
    106         allLevelStatus_[0].nextLevels.push_back(0);
    107         allLevelStatus_[0].nextLevels.push_back(0);
    108         allLevelStatus_[0].nextLevels.push_back(0);
    109 
    110         allLevelStatus_[1].nextLevels.push_back(1);
    111         allLevelStatus_[1].nextLevels.push_back(2);
    112         allLevelStatus_[1].nextLevels.push_back(1);
    113         allLevelStatus_[1].nextLevels.push_back(0);
    114         allLevelStatus_[1].nextLevels.push_back(0);
    115         allLevelStatus_[1].nextLevels.push_back(0);
    116         allLevelStatus_[1].nextLevels.push_back(0);
    117 
    118         allLevelStatus_[2].nextLevels.push_back(2);
    119         allLevelStatus_[2].nextLevels.push_back(1);
    120         allLevelStatus_[2].nextLevels.push_back(0);
    121         allLevelStatus_[2].nextLevels.push_back(0);
    122         allLevelStatus_[2].nextLevels.push_back(1);
    123         allLevelStatus_[2].nextLevels.push_back(0);
    124         allLevelStatus_[2].nextLevels.push_back(0);
    125 
    126 
    127 
    128     }
    12954
    13055
     
    180105        SetConfigValue(campaignMissions_,  std::vector<std::string>())
    181106            .description("The list of missions in the campaign");
    182         SetConfigValue(test_,  std::vector<int>())
    183             .description("The list of missions and their statuses");
     107        //SetConfigValue(test_,  std::vector<int>())
     108         //   .description("The list of missions and their statuses");
    184109           
    185110    }
     
    408333        //TODO: Implement some kind of update?
    409334    }
     335
     336
     337//Mission endmission true
     338    //check if index level is activated...
     339    int LevelManager::missionactivate(int index)
     340    {
     341        updateAllLevelStatus();
     342        int activated = allLevelStatus_[index].activated;
     343        return activated;
     344    }
     345
     346    void LevelManager::updatewon(int lastwon)
     347    {
     348        allLevelStatus_[lastwon].won=true;
     349
     350    }
     351
     352    void LevelManager::updateAllLevelStatus()
     353    {
     354        for(unsigned int i =0;i<allLevelStatus_.size();i++)
     355        {
     356            if(allLevelStatus_[i].won)
     357            {
     358                allLevelStatus_[i].activated=1;
     359                std::vector<int> nextLevels=allLevelStatus_[i].nextLevels;
     360                for(unsigned int j=i+1;j<allLevelStatus_.size();j++)
     361                {
     362                    allLevelStatus_[j].activated=nextLevels[j];
     363                }
     364            }
     365        }
     366    }
     367
     368    //updates the won variable of the corresponding LevelStatus in allLevelStatus_
     369    void LevelManager::setLevelStatus(const std::string& LevelWon)
     370    {
     371        ModifyConfigValue(lastWonMission_, set, LevelWon); 
     372    }
     373
     374
     375    //build up allLevelStatus
     376    //has to be done once per game (not per level)
     377    //all connections between the levels are saved in here
     378    void LevelManager::buildallLevelStatus()
     379    {
     380        LevelStatus* level = new LevelStatus(this->getContext());
     381
     382        /*LevelStatus level;
     383        allLevelStatus_.assign (campaignMissions_.size(),level);
     384        allLevelStatus_[0].activated=1;
     385        //allLevelStatus_[0].won=true;
     386
     387
     388        allLevelStatus_[0].nextLevels.push_back(1);
     389        allLevelStatus_[0].nextLevels.push_back(1);
     390        allLevelStatus_[0].nextLevels.push_back(0);
     391        allLevelStatus_[0].nextLevels.push_back(0);
     392        allLevelStatus_[0].nextLevels.push_back(0);
     393        allLevelStatus_[0].nextLevels.push_back(0);
     394        allLevelStatus_[0].nextLevels.push_back(0);
     395
     396        allLevelStatus_[1].nextLevels.push_back(1);
     397        allLevelStatus_[1].nextLevels.push_back(2);
     398        allLevelStatus_[1].nextLevels.push_back(1);
     399        allLevelStatus_[1].nextLevels.push_back(0);
     400        allLevelStatus_[1].nextLevels.push_back(0);
     401        allLevelStatus_[1].nextLevels.push_back(0);
     402        allLevelStatus_[1].nextLevels.push_back(0);
     403
     404        allLevelStatus_[2].nextLevels.push_back(2);
     405        allLevelStatus_[2].nextLevels.push_back(1);
     406        allLevelStatus_[2].nextLevels.push_back(0);
     407        allLevelStatus_[2].nextLevels.push_back(0);
     408        allLevelStatus_[2].nextLevels.push_back(1);
     409        allLevelStatus_[2].nextLevels.push_back(0);
     410        allLevelStatus_[2].nextLevels.push_back(0);*/
     411
     412
     413
     414    }
    410415}
  • code/branches/bindermFS16/src/orxonox/LevelStatus.cc

    r11186 r11188  
    2020    RegisterClass(LevelStatus);
    2121
    22     LevelStatus::LevelStatus()
     22    LevelStatus::LevelStatus(Context* context) : BaseObject(context)
    2323    {
    2424        RegisterObject(LevelStatus);
  • code/branches/bindermFS16/src/orxonox/LevelStatus.h

    r11186 r11188  
    5656    {
    5757    public:
    58         LevelStatus();
     58        LevelStatus(Context* context);
    5959        virtual ~LevelStatus();
    6060       
     
    6262        std::vector<int> nextLevels;        //in this vector at the index i is saved if the ith level should be activated =1, visible but not activated =2, or not activated =0
    6363        int activated;                      //0 not activated, 1 activated, 2 visible
    64 
    6564    };
    6665}
Note: See TracChangeset for help on using the changeset viewer.