Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 18, 2009, 6:00:13 PM (15 years ago)
Author:
Aurelian
Message:

Respawning changed, not possible anymore, not completely working. Movable Entity is now able to cause damage.

Location:
code/branches/gametypes/src/orxonox/objects/worldentities/triggers
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • code/branches/gametypes/src/orxonox/objects/worldentities/triggers/CheckPoint.cc

    r2978 r2986  
    3737
    3838#include "orxonox/objects/worldentities/ControllableEntity.h"
     39#include "orxonox/objects/worldentities/pawns/Pawn.h"
    3940
    4041namespace orxonox
     
    5152    this->bIsDestination_ = false;
    5253    //this->setVisible(true);
     54
     55    this->notifyMaskUpdate();
    5356  }
    5457
     
    8790     }
    8891  }
     92
     93  void CheckPoint::notifyMaskUpdate()
     94  {
     95      this->targetMask_.exclude(Class(BaseObject));
     96      this->targetMask_.include(Class(Pawn));
     97  }
    8998}
  • code/branches/gametypes/src/orxonox/objects/worldentities/triggers/CheckPoint.h

    r2970 r2986  
    5757    private:
    5858      virtual void triggered(bool bIsTriggered);
     59      virtual void notifyMaskUpdate();
    5960
    6061      inline void setDestination(bool isDestination)
  • code/branches/gametypes/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc

    r2826 r2986  
    3535#include "core/XMLPort.h"
    3636
    37 #include "orxonox/objects/worldentities/ControllableEntity.h"
     37#include "orxonox/objects/worldentities/pawns/Pawn.h"
    3838
    3939namespace orxonox
     
    109109    WEMask.include(Class(WorldEntity));
    110110    this->targetMask_ *= WEMask;
     111
     112    this->notifyMaskUpdate();
    111113  }
    112114
     
    133135        if(this->isForPlayer())
    134136        {
    135           ControllableEntity* player = dynamic_cast<ControllableEntity*>(entity);
     137          Pawn* player = dynamic_cast<Pawn*>(entity);
    136138          this->setTriggeringPlayer(player);
    137139        }
  • code/branches/gametypes/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h

    r2826 r2986  
    6363    protected:
    6464      virtual bool isTriggered(TriggerMode mode);
     65      virtual void notifyMaskUpdate() {}
     66
     67      ClassTreeMask targetMask_;
    6568
    6669    private:
    67       ClassTreeMask targetMask_;
    6870      std::set<Ogre::Node*> targetSet_;
    6971      float distance_;
  • code/branches/gametypes/src/orxonox/objects/worldentities/triggers/PlayerTrigger.h

    r2662 r2986  
    6060        @return Returns a pointer to the ControllableEntity that triggered the PlayerTrigger.
    6161        */
    62         inline ControllableEntity* getTriggeringPlayer(void) const
     62        inline Pawn* getTriggeringPlayer(void) const
    6363            { return this->player_; }
    6464       
     
    7777        @param player A pointer to the ControllableEntity that triggered the PlayerTrigger.
    7878        */
    79         inline void setTriggeringPlayer(ControllableEntity* player)
     79        inline void setTriggeringPlayer(Pawn* player)
    8080           { this->player_ = player; }
    8181
     
    8888       
    8989    private:
    90         ControllableEntity* player_; //!< The player that triggered the PlayerTrigger.
     90        Pawn* player_; //!< The player that triggered the PlayerTrigger.
    9191        bool isForPlayer_; //!< Is true when the PlayerTrigger schould be set to normally be triggered by ControllableEntities.
    9292   
Note: See TracChangeset for help on using the changeset viewer.