Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 18, 2011, 4:35:01 PM (13 years ago)
Author:
sven
Message:

First working dock example..

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/dockingsystem2/src/modules/docking/DockToShip.cc

    r8196 r8257  
    5151    }
    5252
     53
     54    void DockToShip::XMLPort(Element& xmlelement, XMLPort::Mode mode) {
     55        SUPER(DockToShip, XMLPort, xmlelement, mode);
     56
     57        XMLPortParam(DockToShip, "target", setTargetId, getTargetId, xmlelement, mode);
     58    }
     59
     60    void DockToShip::setTargetId(std::string str) {
     61        this->target = str;
     62    }
     63
     64    std::string DockToShip::getTargetId() {
     65        return this->target;
     66    }
     67
     68
    5369    bool DockToShip::docking(PlayerInfo* player)
    5470    {
     
    6076    {
    6177        COUT(0) << "DockToShip::attach" << endl;
     78
     79        DockingTarget *target = DockingEffect::findTarget(this->target);
     80        if (target == NULL) {
     81            COUT(0) << "Can't retrieve target for '" << this->target << "'.." << std::endl;
     82            return false;
     83        }
     84
     85        ControllableEntity *dockTo = (ControllableEntity*) target->getParent();
     86        if (dockTo == NULL) {
     87            COUT(0) << "Parent is not a ControllableEntity.." << std::endl;
     88            return false;
     89        }
     90
     91        player->startTemporaryControl(dockTo);
     92
    6293        return true;
    6394    }
Note: See TracChangeset for help on using the changeset viewer.