Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 7, 2011, 4:11:20 PM (14 years ago)
Author:
kmaurus
Message:

healthDecreasing added, position of SpaceBoundaries added to the radar

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/spaceboundaries/src/orxonox/worldentities/SpaceBoundaries.h

    r8166 r8201  
    2626 *
    2727 */
     28 
     29 /* TODO: - Markiere SpaceBoundaries-Position mit einem schoenen Objekt
     30          - Kugel-Model mal hinzufuegen, das nur sichtbar ist, wenn man genuegend nah an maxDistance dran ist
     31          - Reflexion an obiger Kugel beim Versuch durchzudringen
     32 */
    2833
    2934#ifndef _SpaceBoundaries_H__
    3035#define _SpaceBoundaries_H__
    3136
    32 /* Folgender Block ist Copy-Paste und somit teilweise wohl unnoetig */
    33 #include "OrxonoxPrereqs.h"
    34 #include "core/SubclassIdentifier.h"
    35 
    3637/* Einige, spezifische include-Statements */
    3738#include "core/CoreIncludes.h"
    3839#include "tools/interfaces/Tickable.h"
     40#include "interfaces/RadarViewable.h"
    3941#include "worldentities/StaticEntity.h"
    4042#include "worldentities/WorldEntity.h"
     
    4446#include <string>
    4547
     48/**
     49@brief SpaceBoundaries gives level creators the possibility to bar Pawns from leaving a defined area.
     50
     51       Four attributes can/should be defined in the XML-File:
     52       'position', 'warnDistance', 'maxDistance', 'healthDecrease'.
     53*/
    4654
    4755namespace orxonox
     
    5361            ~SpaceBoundaries();
    5462           
    55             void setCenter(Vector3 r);
    56             Vector3 getCenter();
    57            
    5863            void setMaxDistance(float r);
    5964            float getMaxDistance();
     
    6166            void setWarnDistance(float r);
    6267            float getWarnDistance();
     68           
     69            void setHealthDecrease(float amount);
     70            float getHealthDecrease();
    6371
    6472            void XMLPort(Element& xmlelement, XMLPort::Mode mode);
     
    6775
    6876        private:
    69             Vector3 center_;
    70             float maxDistance_;
    71             float warnDistance_;
     77            float maxDistance_; //!< maximal zulaessige Entfernung von 'this->getPosition()'.
     78            float warnDistance_; //!< Entfernung von 'this->getPosition()', ab der eine Warnung angezeigt wird, dass man bald das zulaessige Areal verlaesst.
     79           
     80            float healthDecrease_; //!< Mass fuer die Anzahl Health-Points, die nach ueberschreiten der Entfernung 'maxDistance_' von 'this->getPosition()' abgezogen werden.
     81                                   //!< Empfohlene Werte: 0.1 (langsame Health-Verminderung) bis 5 (sehr schnelle Health-Verminderung)
     82           
     83            RadarViewable* centerRadar_; //!< Repraesentation von 'this->getPosition()' auf dem Radar.
    7284       
    73             float computeDistance(WorldEntity *item); //!< Auf den Mittelpunkt 'center' bezogen.
     85            float computeDistance(WorldEntity *item); //!< Auf den Mittelpunkt 'this->getPosition()' bezogen.
    7486            void displayWarning(const std::string warnText);
    7587            bool isHumanPlayer(Pawn *item);
     88           
    7689 //           ColoredTextAreaOverlayElementFactory* pColoredTextAreaOverlayElementFactory;
    7790    };
Note: See TracChangeset for help on using the changeset viewer.