Example #1
0
/*
==================
HUDLayer::LoadResources
==================
*/
void HUDLayer::LoadResources()
{
	Pim::SpriteBatchNode *batch = new Pim::SpriteBatchNode("hudbutton.png");
	AddChild(batch);

	Pim::Sprite *spr = new Pim::Sprite;
	spr->rect = Pim::Rect(0,0,40,100);
	spr->UseBatchNode(batch);
	
	buttonNext = new MyButton(spr,NULL,NULL,NULL);
	buttonNext->SetCallback((DemoScene*)GetParentScene());
	buttonNext->position = Pim::Vec2(780,300);
	batch->AddChild(buttonNext);

	spr = new Pim::Sprite;
	spr->scale.x = -1;
	spr->rect = Pim::Rect(0,0,40,100);
	spr->UseBatchNode(batch);

	buttonPrev = new MyButton(spr, NULL, NULL, NULL);
	buttonPrev->SetCallback((DemoScene*)GetParentScene());
	buttonPrev->position = Pim::Vec2(20,300);
	batch->AddChild(buttonPrev);
}
Example #2
0
void EC_DynamicComponent::RemoveAllAttributes(AttributeChange::Type change)
{
    for(unsigned i = attributes_.size() - 1; i < attributes_.size(); --i)
    {
        // Trigger scenemanager signal
        Scene::SceneManager* scene = GetParentScene();
        if (scene)
            scene->EmitAttributeRemoved(this, attributes_[i], change);
        
        QString name = QString::fromStdString(attributes_[i]->GetNameString());
        
        // Trigger internal signal(s)
        emit AttributeAboutToBeRemoved(attributes_[i]);
        SAFE_DELETE(attributes_[i]);
        attributes_.erase(attributes_.begin() + i);
        emit AttributeRemoved(name);
    }
}
Example #3
0
void EC_DynamicComponent::RemoveAttribute(const QString &name, AttributeChange::Type change)
{
    for(AttributeVector::iterator iter = attributes_.begin(); iter != attributes_.end(); iter++)
    {
        if((*iter)->GetNameString() == name.toStdString())
        {
            // Trigger scenemanager signal
            Scene::SceneManager* scene = GetParentScene();
            if (scene)
                scene->EmitAttributeRemoved(this, *iter, change);
            
            // Trigger internal signal(s)
            emit AttributeAboutToBeRemoved(*iter);
            SAFE_DELETE(*iter);
            attributes_.erase(iter);
            emit AttributeRemoved(name);
            break;
        }
    }
}
Example #4
0
IAttribute *EC_DynamicComponent::CreateAttribute(const QString &typeName, const QString &name, AttributeChange::Type change)
{
    if(ContainsAttribute(name))
        return IComponent::GetAttribute(name);

    IAttribute *attribute = framework_->GetComponentManager()->CreateAttribute(this, typeName.toStdString(), name.toStdString());
    if(!attribute)
    {
        LogError("Failed to create new attribute:" + name + " in dynamic component:" + Name());
        return 0;
    }

    // Trigger scenemanager signal
    Scene::SceneManager* scene = GetParentScene();
    if (scene)
        scene->EmitAttributeAdded(this, attribute, change);
    
    // Trigger internal signal
    emit AttributeAdded(attribute);
    EmitAttributeChanged(attribute, change);
    return attribute;
}