Beispiel #1
0
//EVENT LISTENER
//do not invoke the parents method...
void ObjectWorld::eventRecieved(Event e){

    /*
    QString debug_output =  "Ow  ID: " + QString::number(this->EventTransmitter::id()) +
                            "   Event: " + QString::number(e.type);
    qDebug(debug_output.toUtf8());
    */

    if(e.type == Event::EventCompositeObjectModelLoaded){
        SP<CompositeObject> obj = e.compositeObject->getCompositeObject();
        //dispatch to correct tree
        if(obj->hasLight()){
            debugMessage("light...");
            //add it to the light dynamic tree...
            ot_dynamic_lights->addCompositeObject(obj);
            return;
        }
        else{
            //has no light... but should have a model
            if(obj->getObjectMovementType() == CompositeObject::MovementDynamic){
                debugMessage("dynamic...");
                ot_dynamic_model->addCompositeObject(obj);


                //count_models_out += 1;
                /*
                debugMessage("ObjectWorld : dyn_object in/out:  " +
                             QString::number(count_models_in) + " / " +
                             QString::number(count_models_out) + " ... " +
                             QString::number(obj->getAllListeners().size()));
                */
                return;
            }
            if(obj->getObjectMovementType() == CompositeObject::MovementStatic){
                debugMessage("static...");
                ot->addModel(obj);
                return;
            }
        }
    }
}