Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 6, 2011, 11:06:45 PM (13 years ago)
Author:
anbueche
Message:

First steps to use of Triggers and Events

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/portals/src/orxonox/worldentities/PortalLink.cc

    r8177 r8198  
    11#include "PortalLink.h"
    22#include "core/XMLPort.h"
     3#include "objects/triggers/MultiTriggerContainer.h"
    34
    45namespace orxonox
     
    2930    }
    3031   
    31     void PortalLink::use(WorldEntity * entity)
    32     {
    33        
    34     }
    3532    void PortalLink::tick(float dt)
    3633    {
    37        
     34        SUPER(PortalLink, tick)
    3835    }
     36   
     37    void PortalLink::processEvent(Event& event)
     38    {
     39        SUPER(PortalLink, processEvent);
     40        if(!event.activate_)
     41        {
     42            return;
     43        }
     44        MultiTriggerContainer * origin = dynamic_cast<MultiTriggerContainer *>(event.originator_);
     45        if(!origin)
     46        {
     47            return;
     48        }
     49        PortalEndPoint * eventFrom = dynamic_cast<PortalEndPoint *>(origin->getOriginator());
     50        WorldEntity * eventEntity = dynamic_cast<WorldEntity *>(origin->getData());
     51        if(eventFrom != this->from_ || !eventEntity || eventFrom->hasRecentlyJumpedOut(eventEntity) == true)
     52        {
     53            return;
     54        }
     55        to_->jumpOut(entity);
     56    }
     57
    3958}
Note: See TracChangeset for help on using the changeset viewer.