Exemplo n.º 1
0
bool CustomInput::onAssignCCBCustomProperty(CCObject* pTarget, const char* pMemberVariableName, const cocos2d::Value& pCCBValue)
{
    CustomInput* target = dynamic_cast<CustomInput*>(pTarget);
    if(pCCBValue.getType() == cocos2d::Value::Type::INTEGER && strcmp(pMemberVariableName, "maxChar") == 0)
    {
        target->setMaxChar(pCCBValue.asInt());
    }
    else if(pCCBValue.getType() == cocos2d::Value::Type::INTEGER && strcmp(pMemberVariableName, "fontSize") == 0)
    {
        target->setFontSize(pCCBValue.asInt());
    }
    else if(pCCBValue.getType() == cocos2d::Value::Type::STRING && strcmp(pMemberVariableName, "placeHolder") == 0)
    {
        target->setPlaceHolder(Screate(pCCBValue.asString()));
    }
    else if(pCCBValue.getType() == cocos2d::Value::Type::STRING && strcmp(pMemberVariableName, "fontName") == 0)
    {
        target->setFontName(Screate(pCCBValue.asString()));
    }
    else if(pCCBValue.getType() == cocos2d::Value::Type::BOOLEAN && strcmp(pMemberVariableName, "numbers") == 0)
    {
        target->setNumbersOnly(pCCBValue.asBool());
    }
    else
    {
        CustomBaseNode::onAssignCCBCustomProperty(pTarget, pMemberVariableName, pCCBValue);
    }
    return false;
}
Exemplo n.º 2
0
void resizeChildren(Node* parentNode, Node* resizeNode, float usedScale, int depth)
{
    Vector<Node*> nodeChildren = resizeNode->getChildren();
    for(auto node : nodeChildren)
    {
        node->setPosition(node->getPosition() * usedScale);
        if(isKindOfClass(node, Label))
        {
            Label* label = (Label*)node;
            label->setSystemFontSize(label->getSystemFontSize() * usedScale);
            /*TTFConfig newConfig = label->getTTFConfig();
            newConfig.fontSize *= usedScale;
            label->setTTFConfig(newConfig);*/
            label->setDimensions(label->getDimensions().width * usedScale, label->getDimensions().height * usedScale);
#if VERBOSE_LOAD_CCB
            CCLOG("label font : %s, size : %f, scale : %f, parent node scale : %f, dimensions : %f, %f, depth : %d", label->getSystemFontName().c_str(), label->getSystemFontSize(), label->getScale(), parentNode->getScale(), label->getDimensions().width, label->getDimensions().height, depth);
#endif
        }
        else if(isKindOfClass(node, CustomInput))
        {
            CustomInput* input = (CustomInput*)node;
            input->setFontSize((float)input->getFontSize() * usedScale);
            input->setPreferredSize(Size(input->getPreferredSize().width * usedScale, input->getPreferredSize().height * usedScale));
#if VERBOSE_LOAD_CCB
            CCLOG("input font size : %d, parent node scale : %f, dimensions : %f, %f, depth : %d", input->getFontSize(), parentNode->getScale(), input->getPreferredSize().width, input->getPreferredSize().height, depth);
#endif
        }
        else if(isKindOfClass(node, Sprite))
        {
            
        }
        else if(isKindOfClass(node, ui::Scale9Sprite))
        {
            ui::Scale9Sprite* sprite = (ui::Scale9Sprite*)node;
            sprite->setContentSize(SizeMult(node->getContentSize(), usedScale));
            sprite->setInsetBottom(sprite->getInsetBottom() * usedScale);
            sprite->setInsetLeft(sprite->getInsetRight() * usedScale);
            sprite->setInsetRight(sprite->getInsetRight() * usedScale);
            sprite->setInsetTop(sprite->getInsetTop() * usedScale);
        }
        else  //Panel
        {
            node->setContentSize(SizeMult(node->getContentSize(), usedScale));
            if(!node->getChildren().empty())
            {
                resizeChildren(parentNode, node, usedScale, depth+1);
            }
        }
    }
}