Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 10, 2008, 5:25:38 PM (16 years ago)
Author:
dsommer
Message:

funktioniert :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/pickups2/src/orxonox/objects/pickup/PickupSpawner.cc

    r2227 r2389  
    1616
    1717        this->template_ = 0;
    18         this->distance_ = 50;
     18        this->distance_ = 20;
     19        this->respawntimer_= 0;
    1920}
    2021
     
    2829
    2930        XMLPortParam(PickupSpawner, "item", setItemTemplate, getItemTemplate, xmlelement, mode);
    30         XMLPortParam(PickupSpawner, "distance", setDistance, getDistance, xmlelement, mode).defaultValues(50.0f);
     31        XMLPortParam(PickupSpawner, "distance", setDistance, getDistance, xmlelement, mode).defaultValues(20.0f);
     32        XMLPortParam(PickupSpawner, "respawntimer", setRespawnTimer, getRespawnTimer, xmlelement, mode);
     33       
    3134}
    3235
     
    5457        if (this->isActive() && this->template_ && this->template_->getBaseclassIdentifier())
    5558        {
    56                 COUT(0) << "activated" << std::endl;
     59                COUT(0) << "ITEM PICKED UP" << std::endl;
    5760                //if(player->isA(itemtemplate_->getPlayerBaseClass()))
    5861                {
     
    6366                        newitem->addTemplate(this->itemtemplate_);
    6467                        if (newitem->pickedUp(player)== true)
     68                        {
     69                                if(respawntimer_!=0)
     70                                        this->triggerRespawnTimer();
    6571                                this->setActive(false);
     72                                this->fireEvent();
     73                        }       
    6674                        else
    6775                                delete newobject;
     
    7280        }
    7381}
     82
     83void PickupSpawner::triggerRespawnTimer()
     84{       
     85       
     86        if(respawntimer_!=0)
     87        {
     88                ExecutorMember<BaseObject>* executor = createExecutor(createFunctor(&BaseObject::setActive));
     89                executor->setDefaultValues(true);
     90                RespawnTimer_.setTimer(this->respawntimer_, false, (BaseObject*)this, executor);
     91                COUT(0) << "TIMER SET" << std::endl;
     92        }       
    7493}
     94void PickupSpawner::changedActivity()
     95{
     96/*
     97        COUT(0) << "Visble?" << std::endl;
     98        if(isActive())
     99        {
     100                setVisible(true);
     101                COUT(0) << "Visble!" << std::endl;
     102        }
     103        if(isActive()==false)
     104        {
     105                setVisible(false);
     106                COUT(0) << "INvisble!" << std::endl;
     107        }
     108               
     109*/
     110        SUPER(PickupSpawner, changedActivity);
     111
     112        for (std::set<WorldEntity*>::iterator it = this->getAttachedObjects().begin(); it != this->getAttachedObjects().end(); ++it)
     113                (*it)->setVisible(this->isActive());
     114}
     115
     116
     117}
     118
     119
     120
Note: See TracChangeset for help on using the changeset viewer.