Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 5, 2016, 3:59:38 PM (7 years ago)
Author:
ooguz
Message:

Distance Trigger Added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/QuestGuide_HS16/src/modules/waypoints/WaypointGroup.cc

    r11309 r11318  
    1717        RegisterObject(WaypointGroup);
    1818        activeWaypoint = nullptr;
     19        current = 0;
    1920
    2021        //model = new Model(this->getContext());
     
    2526        //model->setPosition(Vector3(0.0,0.0,0.0));        // this is wrong, it has to be triggered
    2627        //waypoint_active = false;
    27         //distancetrigger = new DistanceTrigger(this->getContext());   
     28        //distancetrigger = new DistanceTrigger(this->getContext());
    2829        //distancetrigger->setDistance(100);
    2930        //this->attach(distancetrigger);
    30        
     31
    3132    }
    3233
     
    4041     //setOrientation()
    4142
    42  
     43
    4344
    4445
     
    5758    void WaypointGroup::setWaypoint(Waypoint* object)
    5859    {
     60        object->setWaypointGroup(this);
    5961        this->waypoints_.insert(object);
    6062    }
    6163
     64    void WaypointGroup::activateNext(){
     65        if (std::next(waypoints_.begin(), current) != std::next(waypoints_.end(), 0)){
     66          activeWaypoint = *std::next(waypoints_.begin(), current);
     67          ++current;
     68        }
     69    }
    6270
    6371    Waypoint* WaypointGroup::getActive(){
    6472          if (activeWaypoint == nullptr){
    6573            orxout() << "Null Pointer" << endl;
    66             activateNext();
     74            activeWaypoint = getFirst();
    6775
    68           }
    69           //else if (activeWaypoint->)           
     76          }
    7077          return activeWaypoint;
    7178    }
    7279
    73     Waypoint* WaypointGroup::activateNext(){
    74         for (Waypoint* object : this->waypoints_){
    75             if(!(object->waypoint_actived)){
    76                 object->enable_waypoint();
    77                 activeWaypoint = object;
    78                 break;
    79             }
    80         }
    81         return activeWaypoint;
     80//    Waypoint* WaypointGroup::activateNext(){
     81//        for (Waypoint* object : this->waypoints_){
     82//            if(!(object->waypoint_actived)){
     83//                //object->enable_waypoint();
     84//                activeWaypoint = object;
     85//                break;
     86//            }
     87//        }
     88//        return activeWaypoint;
     89//    }
     90
     91    Waypoint* WaypointGroup::getFirst(){
     92        std::set<Waypoint*>::iterator it = waypoints_.begin();
     93        return *it;
    8294    }
    8395
    8496
    85    
    8697
    8798    void WaypointGroup::XMLPort(Element& xmlelement, XMLPort::Mode mode){
Note: See TracChangeset for help on using the changeset viewer.