Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 17, 2016, 8:40:05 PM (8 years ago)
Author:
fvultier
Message:

Fixed errors with pickups.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/tgidronFS16/src/modules/hover/Hover.cc

    r11168 r11169  
    9898            for(int y=0; y<numCells; y++){
    9999                for(int x=0; x<numCells; x++){
    100                     switch(levelcode[ y * numCells + x ]){
     100                    switch(levelcode[ y * numCells + x ])
     101                    {
    101102                        case 1: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
    102                                 break;
     103                            break;
    103104                        case 3: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 1);
    104105                        case 2: (new HoverWall(origin_->getContext()))->init(x+1, numCells-y, cellSize, cellHeight, 0);
    105                         default: break;
     106                        default:
     107                            break;
    106108                    }
    107                 }   
     109                }
    108110            }
    109111
     
    120122            for (int i = 0; i<5; i++)
    121123            {
    122                 PickupSpawner* pickup = new PickupSpawner(origin_->getContext());
    123                 pickup->setPosition(rand()%numCells, rand()%numCells, cellSize);
    124                 //pickup->setPickupTemplateName(origin_->getPickupMeta());
    125                 //pickup->setPickupTemplateName("destroymetapickup");
    126                 pickup->setMaxSpawnedItems(5);
    127                 pickup->setRespawnTime(30);
    128                 pickup->setTriggerDistance(5);
    129                 //pickup->createDroppedPickup(this->getContext(), pickup , this, 5);
    130                 pickups_.push_back(pickup);
    131             }
    132 
    133 
     124                PickupSpawner* pickupSpawner = new PickupSpawner(origin_->getContext());
     125
     126                pickupSpawner->setPosition(get3dCoordinates(rand()%numCells, rand()%numCells, 10.0f));
     127                pickupSpawner->setPickupTemplateName(origin_->getPickupTemplate());
     128                pickupSpawner->setMaxSpawnedItems(5);
     129                pickupSpawner->setRespawnTime(30);
     130                pickupSpawner->setTriggerDistance(5);
     131                // Add pickup spawner to the pickup spawner list
     132                pickupSpawners_.push_back(pickupSpawner);
     133            }
     134
     135            orxout() << this->origin_->getPickupTemplate() << endl;
     136            orxout() << this->origin_->getPickupRepresentationTemplate() << endl;
    134137        }
    135138    }
    136139
    137140
    138 
    139     void Hover::startLevel(){
     141    // Rename/delete this function.
     142    void Hover::startLevel()
     143    {
    140144        //Generate 5 flags randomly (test only 1 flag)
    141145            for ( int i = 0; i < 5; i++ )
     
    152156                //PickupSpawner->setPosition(rand()%numCells, rand()%numCells, cellSize);
    153157                //pickup->createDroppedPickup(this->getContext(), pickup , this, 5);
    154                 pickups_.push_back(pickup);
    155             }
    156 
     158                pickupSpawners_.push_back(pickup);
     159            }
     160
     161           
    157162    }
    158163
     
    163168
    164169        // Check if ship collided with one of the flags
    165         for ( unsigned int i = 0; i < flags_.size(); i++ ){
    166             if(flags_[i]->getCollided()){
     170        for ( unsigned int i = 0; i < flags_.size(); i++ )
     171        {
     172            if(flags_[i]->getCollided())
     173            {
    167174                flags_[i]->destroyLater();
    168175                flags_.erase (flags_.begin()+i);
     
    186193
    187194    }
     195
     196    Vector3 Hover::get3dCoordinates(int x, int y, float heightOffset)
     197    {
     198        return Vector3(x*cellSize*1.0f + cellSize/2, heightOffset, y*cellSize*1.0f + cellSize/2);
     199    }
    188200}
Note: See TracChangeset for help on using the changeset viewer.