Ejemplo n.º 1
0
void MainLayer::pageViewEvent(Ref* sender, PageView::EventType type)
{
	if (type != PageView::EventType::TURNING)
		return;
	auto pageView = dynamic_cast<PageView*>(sender);
	if (_focus && _focus->getParent() != pageView->getPage(pageView->getCurPageIndex()))
	{
		_isFocusNotOnTab = false;
		removeFocusAction();
		_tabNode->setUserObject(nullptr);
	}

	auto node = LsTools::seekNodeByName(_rootNode, "Node_btn");
	for (auto& child : node->getChildren())
	{
		auto btn = dynamic_cast<Button*>(child);
		btn->setBright(true);
		btn->setScale(1.0f);
	}

	auto btn = getCurTabBtn();
	btn->setBright(false);
	if (!_isFocusNotOnTab){
		btn->setScale(TAB_BTN_SCALE);
		_navi_Scelect->stopAllActions();
		_navi_Scelect->setPositionX(btn->getPositionX());
	}
		
	
	
	//_navi_Scelect->setPositionX(btn->getPositionX());
	//changeTab(pageView->getCurPageIndex());
	createSpecRecomend();
}
Ejemplo n.º 2
0
void BattleHudLayer::showUI()
{
    auto ui = GUIReader::getInstance()->widgetFromJsonFile(UI_DIALOG_BATTLEHUD);
    this->addChild(ui, 0, "UI");
    
    // select
    auto btn0 = (Button*)Helper::seekWidgetByName(ui, "Button0");
    auto btn1 = (Button*)Helper::seekWidgetByName(ui, "Button1");
    auto btn2 = (Button*)Helper::seekWidgetByName(ui, "Button2");
    auto btn3 = (Button*)Helper::seekWidgetByName(ui, "Button3");
    auto btn4 = (Button*)Helper::seekWidgetByName(ui, "Button4");
    btn0->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this));
    btn1->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this));
    btn2->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this));
    btn3->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this));
    btn4->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this));
    btn0->setBright(true);
    btn1->setBright(false);
    btn2->setBright(false);
    btn3->setBright(false);
    btn4->setBright(false);
    _select = 0;
    
    // skill
    auto skill1 = (Button*)Helper::seekWidgetByName(ui, "Skill1");
    auto skill2 = (Button*)Helper::seekWidgetByName(ui, "Skill2");
    skill1->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::skillCallback, this));
    skill2->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::skillCallback, this));
    
    // retreat
    auto retreat = (Button*)Helper::seekWidgetByName(ui, "RetreatButton");
    retreat->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::retreatCallback, this));

    showInfo();
}
Ejemplo n.º 3
0
void Widget::copyProperties(Widget *widget)
{
    setEnabled(widget->isEnabled());
    setVisible(widget->isVisible());
    setBright(widget->isBright());
    setTouchEnabled(widget->isTouchEnabled());
    _touchPassedEnabled = false;
    setLocalZOrder(widget->getLocalZOrder());
    setTag(widget->getTag());
    setName(widget->getName());
    setActionTag(widget->getActionTag());
    _ignoreSize = widget->_ignoreSize;
    _size = widget->_size;
    _customSize = widget->_customSize;
    copySpecialProperties(widget);
    _sizeType = widget->getSizeType();
    _sizePercent = widget->_sizePercent;
    _positionType = widget->_positionType;
    _positionPercent = widget->_positionPercent;
    setPosition(widget->getPosition());
    setAnchorPoint(widget->getAnchorPoint());
    setScaleX(widget->getScaleX());
    setScaleY(widget->getScaleY());
    setRotation(widget->getRotation());
    setRotationX(widget->getRotationX());
    setRotationY(widget->getRotationY());
    setFlipX(widget->isFlipX());
    setFlipY(widget->isFlipY());
    setColor(widget->getColor());
    setOpacity(widget->getOpacity());
    setCascadeOpacityEnabled(widget->isCascadeOpacityEnabled());
    setCascadeColorEnabled(widget->isCascadeColorEnabled());
    onSizeChanged();
}
Ejemplo n.º 4
0
//英雄按钮
void EquipUpgradeLayer::heroButton_OnTouch(Ref* sender, Widget::TouchEventType type)
{
    if (type!=Widget::TouchEventType::ENDED) return;
    SoundBLL::getInstance()->playEffect(kButtonSound);
    
    for (auto &btn : m_HeroItemButtons) {
        btn->setTouchEnabled(true);
        btn->setBright(true);
    }
    
    auto btn=(ui::Button*)sender;
    btn->setTouchEnabled(false);
    btn->setBright(false);
    
    currSelectHeroID=btn->getTag();
    
    showWearpack();
    
    m_WearPanel->setVisible(false);
    s_wearborder->setVisible(false);
    //英雄
    HeroBase *hero=GameObjectFactory::getHero(currSelectHeroID-1);
    //刷新数据
    updateInfo(hero->getHeroModel());
}
Ejemplo n.º 5
0
void EstimatePlace::setSecondSelect()
{
    Vector<__String*> vInfo = setSecondSelectListInfo();
    if(_vSecondButton.size() > 0) _vSecondButton.clear();
    
    for(int i = 0 ; i < vInfo.size(); i++)
    {
        auto button = ui::Button::create("UI_TopMenuBG-hd.png");
        button->setBright(true);
        button->setZoomScale(0.1f);
        button->addTouchEventListener([&](Ref* sender, ui::Widget::TouchEventType type){
            switch (type)
            {
                case ui::Widget::TouchEventType::BEGAN:
                    break;
                case ui::Widget::TouchEventType::ENDED:
                    
                    SecondbuttonCallBack(sender);
                    break;
                default:
                    break;
            }
        });
        
        _vSecondButton.pushBack(button);
        
        setTypeLabel(1, vInfo.at(i)->getCString());
    }
}
Ejemplo n.º 6
0
void EstimatePlace::setFirstSelect()
{
    for(int i=0;i<3;i++)
    {
        auto button = ui::Button::create("UI_TopMenuBG-hd.png");
        button->setBright(true);
        button->setZoomScale(0.1f);
        button->addTouchEventListener([&](Ref* sender, ui::Widget::TouchEventType type){
            switch (type)
            {
                case ui::Widget::TouchEventType::BEGAN:
                    break;
                case ui::Widget::TouchEventType::ENDED:
                    
                    buttonCallBack(sender);
                    break;
                default:
                    break;
            }
        });
        
        _vFirstButton.pushBack(button);
        
        setTypeLabel(0, i==0 ? "주거공간": i==1? "상업공간": "사무공간");
    }
}
Ejemplo n.º 7
0
void UIWidget::copyProperties(UIWidget *widget)
{
    setEnabled(widget->isEnabled());
    setVisible(widget->isVisible());
    setBright(widget->isBright());
    setTouchEnabled(widget->isTouchEnabled());
    m_bTouchPassedEnabled = false;
    setZOrder(widget->getZOrder());
    setUpdateEnabled(widget->isUpdateEnabled());
    setTag(widget->getTag());
    setName(widget->getName());
    setActionTag(widget->getActionTag());
    m_bIgnoreSize = widget->m_bIgnoreSize;
    m_tSize = widget->m_tSize;
    m_tCustomSize = widget->m_tCustomSize;
    copySpecialProperties(widget);
    m_eSizeType = widget->getSizeType();
    m_tSizePercent = widget->m_tSizePercent;
    m_ePositionType = widget->m_ePositionType;
    m_tPositionPercent = widget->m_tPositionPercent;
    setPosition(widget->getPosition());
    setAnchorPoint(widget->getAnchorPoint());
    setScaleX(widget->getScaleX());
    setScaleY(widget->getScaleY());
    setRotation(widget->getRotation());
    setRotationX(widget->getRotationX());
    setRotationY(widget->getRotationY());
    setFlipX(widget->isFlipX());
    setFlipY(widget->isFlipY());
    setColor(widget->getColor());
    setOpacity(widget->getOpacity());
    setCascadeOpacityEnabled(widget->isCascadeOpacityEnabled());
    setCascadeColorEnabled(widget->isCascadeColorEnabled());
    onSizeChanged();
}
Ejemplo n.º 8
0
void Button::setScale9Enabled(bool able)
{
    if (_scale9Enabled == able)
    {
        return;
    }

    _scale9Enabled = able;

    _buttonNormalRenderer->setScale9Enabled(_scale9Enabled);
    _buttonClickedRenderer->setScale9Enabled(_scale9Enabled);
    _buttonDisableRenderer->setScale9Enabled(_scale9Enabled);

    if (_scale9Enabled)
    {
        bool ignoreBefore = _ignoreSize;
        ignoreContentAdaptWithSize(false);
        _prevIgnoreSize = ignoreBefore;
    }
    else
    {
        ignoreContentAdaptWithSize(_prevIgnoreSize);
    }

    setCapInsetsNormalRenderer(_capInsetsNormal);
    setCapInsetsPressedRenderer(_capInsetsPressed);
    setCapInsetsDisabledRenderer(_capInsetsDisabled);

    _brightStyle = BrightStyle::NONE;
    setBright(_bright);

    _normalTextureAdaptDirty = true;
    _pressedTextureAdaptDirty = true;
    _disabledTextureAdaptDirty = true;
}
Ejemplo n.º 9
0
void FittingLayer::itemClicked(Index index)
{
	assert(index.category == mCurCategory);

	auto chosenSymbol = getChosenSymbol(index);
	if (chosenSymbol->isVisible())
	{
		FigureManager::getInstance()->undressItem(mAllItems[(int)index.category][index.index].figureKey);
		chosenSymbol->setVisible(false);
		if(mAllItems[(int)mCurCategory][index.index].saleState != Item::SaleState::GIFT)
		{
			--iSelectedValidItemCnt;	
		}
	}

	else
	{
		chosenSymbol->setVisible(true); //mark the click item as selected
		if(mAllItems[(int)mCurCategory][index.index].saleState != Item::SaleState::GIFT)
		{
			++iSelectedValidItemCnt;
		}

		//dress the selected item, get the removedKeys, mark removedKeys-item as unselected
		std::set<FigureKey> removedKeys = FigureManager::getInstance()->dressItem(
			mAllItems[(int)index.category][index.index].figureKey);

		for (auto iter = removedKeys.begin(); iter != removedKeys.end(); ++iter)
		{
			Index index = figureKeyToIndex(*iter);
			if (index.isValid())
			{
				if(getChosenSymbol(index)->isVisible() && 
					mAllItems[(int)mCurCategory][index.index].saleState != Item::SaleState::GIFT)
				{
					--iSelectedValidItemCnt;
				}
			}

			markFigureKeyUnselected(*iter);
		}
	}

	auto buyButton = dynamic_cast<cocos2d::ui::Button*>(getChildByName(BUY_BUTTON));
	auto chooseItemImageView = dynamic_cast<cocos2d::ui::ImageView*>(buyButton->getChildByName(CHOOSE_NUM_IMAGE));
	auto chooseItemLab = dynamic_cast<cocos2d::Label*>(getChildByName(CHOOSE_NUM_TAG));

	buyButton->setEnabled(iSelectedValidItemCnt > 0);
	buyButton->setBright(iSelectedValidItemCnt > 0);

	chooseItemImageView->setVisible(iSelectedValidItemCnt > 0);
	chooseItemLab->setVisible(iSelectedValidItemCnt > 0);
	chooseItemLab->setString(intToString(iSelectedValidItemCnt));

}
Ejemplo n.º 10
0
bool Widget::init()
{
    if (ProtectedNode::init())
    {
        initRenderer();
        setBright(true);
        ignoreContentAdaptWithSize(true);
        setAnchorPoint(Vec2(0.5f, 0.5f));
        return true;
    }
    return false;
}
Ejemplo n.º 11
0
void BattleHudLayer::selectCallback(Ref* sender, Widget::TouchEventType type)
{
    if (type == Widget::TouchEventType::ENDED) {
        auto ui = (Widget*)this->getChildByName("UI");
        auto btn = (Button*)sender;
        auto name = btn->getName();
        
        auto btn0 = (Button*)Helper::seekWidgetByName(ui, "Button0");
        auto btn1 = (Button*)Helper::seekWidgetByName(ui, "Button1");
        auto btn2 = (Button*)Helper::seekWidgetByName(ui, "Button2");
        auto btn3 = (Button*)Helper::seekWidgetByName(ui, "Button3");
        auto btn4 = (Button*)Helper::seekWidgetByName(ui, "Button4");
        btn0->setBright(false);
        btn1->setBright(false);
        btn2->setBright(false);
        btn3->setBright(false);
        btn4->setBright(false);
        btn->setBright(true);
        
        if (name == "Button0") _select = 0;
        if (name == "Button1") _select = 1;
        if (name == "Button2") _select = 2;
        if (name == "Button3") _select = 3;
        if (name == "Button4") _select = 4;
        
        _mapLayer->_ai->setSelect(_select);
    }
}
Ejemplo n.º 12
0
void UIButton::setScale9Enabled(bool able)
{
    if (m_bScale9Enabled == able)
    {
        return;
    }
    m_eBrightStyle = BRIGHT_NONE;
    m_bScale9Enabled = able;

    
    m_pRenderer->removeChild(m_pButtonNormalRenderer, true);
    m_pRenderer->removeChild(m_pButtonClickedRenderer, true);
    m_pRenderer->removeChild(m_pButtonDisableRenderer, true);
    
    m_pButtonNormalRenderer = NULL;
    m_pButtonClickedRenderer = NULL;
    m_pButtonDisableRenderer = NULL;
    if (m_bScale9Enabled)
    {
        m_pButtonNormalRenderer = CCScale9Sprite::create();
        m_pButtonClickedRenderer = CCScale9Sprite::create();
        m_pButtonDisableRenderer = CCScale9Sprite::create();
    }
    else
    {
        m_pButtonNormalRenderer = CCSprite::create();
        m_pButtonClickedRenderer = CCSprite::create();
        m_pButtonDisableRenderer = CCSprite::create();
    }

    loadTextureNormal(m_strNormalFileName.c_str(), m_eNormalTexType);
    loadTexturePressed(m_strClickedFileName.c_str(), m_ePressedTexType);
    loadTextureDisabled(m_strDisabledFileName.c_str(), m_eDisabledTexType);
    m_pRenderer->addChild(m_pButtonNormalRenderer,NORMALRENDERERZ);
    m_pRenderer->addChild(m_pButtonClickedRenderer,PRESSEDRENDERERZ);
    m_pRenderer->addChild(m_pButtonDisableRenderer,DISABLEDRENDERERZ);
    if (m_bScale9Enabled)
    {
        bool ignoreBefore = m_bIgnoreSize;
        ignoreContentAdaptWithSize(false);
        m_bPrevIgnoreSize = ignoreBefore;
    }
    else
    {
        ignoreContentAdaptWithSize(m_bPrevIgnoreSize);
    }
    setCapInsetsNormalRenderer(m_capInsetsNormal);
    setCapInsetsPressedRenderer(m_capInsetsPressed);
    setCapInsetsDisabledRenderer(m_capInsetsDisabled);
    setBright(m_bBright);
}
Ejemplo n.º 13
0
void UIButton::setScale9Enabled(bool able)
{
    if (_scale9Enabled == able)
    {
        return;
    }
    _brightStyle = BRIGHT_NONE;
    _scale9Enabled = able;

    
    _renderer->removeChild(_buttonNormalRenderer, true);
    _renderer->removeChild(_buttonClickedRenderer, true);
    _renderer->removeChild(_buttonDisableRenderer, true);
    
    _buttonNormalRenderer = NULL;
    _buttonClickedRenderer = NULL;
    _buttonDisableRenderer = NULL;
    if (_scale9Enabled)
    {
        _buttonNormalRenderer = Scale9Sprite::create();
        _buttonClickedRenderer = Scale9Sprite::create();
        _buttonDisableRenderer = Scale9Sprite::create();
    }
    else
    {
        _buttonNormalRenderer = CCSprite::create();
        _buttonClickedRenderer = CCSprite::create();
        _buttonDisableRenderer = CCSprite::create();
    }

    loadTextureNormal(_normalFileName.c_str(), _normalTexType);
    loadTexturePressed(_clickedFileName.c_str(), _pressedTexType);
    loadTextureDisabled(_disabledFileName.c_str(), _disabledTexType);
    _renderer->addChild(_buttonNormalRenderer,NORMALRENDERERZ);
    _renderer->addChild(_buttonClickedRenderer,PRESSEDRENDERERZ);
    _renderer->addChild(_buttonDisableRenderer,DISABLEDRENDERERZ);
    if (_scale9Enabled)
    {
        bool ignoreBefore = _ignoreSize;
        ignoreContentAdaptWithSize(false);
        _prevIgnoreSize = ignoreBefore;
    }
    else
    {
        ignoreContentAdaptWithSize(_prevIgnoreSize);
    }
    setCapInsetsNormalRenderer(_capInsetsNormal);
    setCapInsetsPressedRenderer(_capInsetsPressed);
    setCapInsetsDisabledRenderer(_capInsetsDisabled);
    setBright(_bright);
}
Ejemplo n.º 14
0
void UIWidget::setBright(bool bright, bool containChild)
{
    setBright(bright);
    if (containChild)
    {
        ccArray* childrenArray = getChildren()->data;
        int length = childrenArray->num;
        for (int i=0; i<length; ++i)
        {
            UIWidget* child = (UIWidget*)childrenArray->arr[i];
            child->setBright(bright,containChild);
        }
    }
}
Ejemplo n.º 15
0
bool Widget::init()
{
    if (Node::init())
    {
        initRenderer();
        setCascadeColorEnabled(true);
        setCascadeOpacityEnabled(true);
        setBright(true);
        ignoreContentAdaptWithSize(true);
        setAnchorPoint(Point(0.5f, 0.5f));
        return true;
    }
    return false;
}
Ejemplo n.º 16
0
void Button::setScale9Enabled(bool able)
{
    if (_scale9Enabled == able)
    {
        return;
    }
    _brightStyle = BrightStyle::NONE;
    _scale9Enabled = able;
    removeProtectedChild(_buttonNormalRenderer);
    removeProtectedChild(_buttonClickedRenderer);
    removeProtectedChild(_buttonDisableRenderer);
    _buttonNormalRenderer = nullptr;
    _buttonClickedRenderer = nullptr;
    _buttonDisableRenderer = nullptr;
    if (_scale9Enabled)
    {
        _buttonNormalRenderer = extension::Scale9Sprite::create();
        _buttonClickedRenderer = extension::Scale9Sprite::create();
        _buttonDisableRenderer = extension::Scale9Sprite::create();
    }
    else
    {
        _buttonNormalRenderer = Sprite::create();
        _buttonClickedRenderer = Sprite::create();
        _buttonDisableRenderer = Sprite::create();
    }

    loadTextureNormal(_normalFileName, _normalTexType);
    loadTexturePressed(_clickedFileName, _pressedTexType);
    loadTextureDisabled(_disabledFileName, _disabledTexType);
    addProtectedChild(_buttonNormalRenderer, NORMAL_RENDERER_Z, -1);
    addProtectedChild(_buttonClickedRenderer, PRESSED_RENDERER_Z, -1);
    addProtectedChild(_buttonDisableRenderer, DISABLED_RENDERER_Z, -1);
    if (_scale9Enabled)
    {
        bool ignoreBefore = _ignoreSize;
        ignoreContentAdaptWithSize(false);
        _prevIgnoreSize = ignoreBefore;
    }
    else
    {
        ignoreContentAdaptWithSize(_prevIgnoreSize);
    }
    setCapInsetsNormalRenderer(_capInsetsNormal);
    setCapInsetsPressedRenderer(_capInsetsPressed);
    setCapInsetsDisabledRenderer(_capInsetsDisabled);
    setBright(_bright);
}
Ejemplo n.º 17
0
bool Widget::init()
{
    if (ProtectedNode::init())
    {
        initRenderer();
        setBright(true);
        onFocusChanged = CC_CALLBACK_2(Widget::onFocusChange,this);
        onNextFocusedWidget = nullptr;
        this->setAnchorPoint(Vec2(0.5f, 0.5f));

        ignoreContentAdaptWithSize(true);

        return true;
    }
    return false;
}
Ejemplo n.º 18
0
bool UIWidget::init()
{
    m_children = CCArray::create();
    m_children->retain();
    initRenderer();
    m_pRenderer->retain();
    m_pRenderer->setZOrder(m_nWidgetZOrder);
    CCRGBAProtocol* renderRGBA = DYNAMIC_CAST_CCRGBAPROTOCOL;
    if (renderRGBA)
    {
        renderRGBA->setCascadeColorEnabled(true);
        renderRGBA->setCascadeOpacityEnabled(true);
    }
    setBright(true);
    ignoreContentAdaptWithSize(true);
    return true;
}
Ejemplo n.º 19
0
bool Widget::init()
{
    if (CCNode::init())
    {
        _widgetChildren = CCArray::create();
        CC_SAFE_RETAIN(_widgetChildren);
        _layoutParameterDictionary = CCDictionary::create();
        CC_SAFE_RETAIN(_layoutParameterDictionary);
        _nodes = CCArray::create();
        CC_SAFE_RETAIN(_nodes);
        initRenderer();
        setBright(true);
        setAnchorPoint(CCPoint(0.5f, 0.5f));
        return true;
    }
    return false;
}
Ejemplo n.º 20
0
Image* CCImageColorSpace::imageWithHSB(Image *pRGBImage, int pHueValue, int pSaturationValue, int pBrightnessValue) {
	if (pHueValue == 0 && pSaturationValue == 0 && pBrightnessValue == 0) {
        return pRGBImage;
	}
	
	pSaturationValue = pSaturationValue * 255 / 100;
    pBrightnessValue = pBrightnessValue * 255 / 100;
	
	if (!pRGBImage->getData()) {
		CCLOG("Create PixelData error!");
		return NULL;
	}
	
    const long lLen = pRGBImage->getDataLen() * 4;
    CCLOG("lLen %ld",lLen);
    unsigned char *lData = (unsigned char *)malloc(sizeof(unsigned char) * lLen);
    memset(lData, 0, lLen);
    memcpy(lData, pRGBImage->getData(), lLen);
    
	int pixOff = 0;  //the end of every pixcel
	
	for(int y = 0; y < pRGBImage->getHeight(); y++) {
		for (int x = 0; x < pRGBImage->getWidth(); x++) {
            int red = (unsigned char)lData[pixOff];
            int green = (unsigned char)lData[pixOff + 1];
            int blue = (unsigned char)lData[pixOff + 2];
            int alpha = (unsigned char)lData[pixOff + 3];
            
            if ((red|green|blue) != 0) {
                setHueAndSaturation(&red, &green, &blue, pHueValue, pSaturationValue);
                setBright(&red, &green, &blue, alpha, pBrightnessValue);
            }
            
            lData[pixOff] = red;
            lData[pixOff + 1] = green;
            lData[pixOff + 2] = blue;
            
			pixOff += 4;
        }
	}
    Image *lImage = new Image();
    lImage->initWithRawData(lData, lLen, pRGBImage->getWidth(), pRGBImage->getHeight(), 4, true);
    lImage->autorelease();
	return lImage;
}
Ejemplo n.º 21
0
void Widget::copyProperties(Widget *widget)
{
    setEnabled(widget->isEnabled());
    setVisible(widget->isVisible());
    setBright(widget->isBright());
    setTouchEnabled(widget->isTouchEnabled());
    setLocalZOrder(widget->getLocalZOrder());
    setTag(widget->getTag());
    setName(widget->getName());
    setActionTag(widget->getActionTag());
    _ignoreSize = widget->_ignoreSize;
    this->setContentSize(widget->_contentSize);
    _customSize = widget->_customSize;
    _sizeType = widget->getSizeType();
    _sizePercent = widget->_sizePercent;
    _positionType = widget->_positionType;
    _positionPercent = widget->_positionPercent;
    setPosition(widget->getPosition());
    setAnchorPoint(widget->getAnchorPoint());
    setScaleX(widget->getScaleX());
    setScaleY(widget->getScaleY());
    setRotation(widget->getRotation());
    setRotationSkewX(widget->getRotationSkewX());
    setRotationSkewY(widget->getRotationSkewY());
    setFlippedX(widget->isFlippedX());
    setFlippedY(widget->isFlippedY());
    setColor(widget->getColor());
    setOpacity(widget->getOpacity());
    _touchEventCallback = widget->_touchEventCallback;
    _touchEventListener = widget->_touchEventListener;
    _touchEventSelector = widget->_touchEventSelector;
    _clickEventListener = widget->_clickEventListener;
    _focused = widget->_focused;
    _focusEnabled = widget->_focusEnabled;
    _propagateTouchEvents = widget->_propagateTouchEvents;

    copySpecialProperties(widget);

    Map<int, LayoutParameter*>& layoutParameterDic = widget->_layoutParameterDictionary;
    for (auto iter = layoutParameterDic.begin(); iter != layoutParameterDic.end(); ++iter)
    {
        setLayoutParameter(iter->second->clone());
    }
}
Ejemplo n.º 22
0
void Widget::copyProperties(Widget *widget)
{
    setEnabled(widget->isEnabled());
    setVisible(widget->isVisible());
    setBright(widget->isBright());
    setTouchEnabled(widget->isTouchEnabled());
    setLocalZOrder(widget->getLocalZOrder());
    setTag(widget->getTag());
    setName(widget->getName());
    setActionTag(widget->getActionTag());
    _ignoreSize = widget->_ignoreSize;
    _size = widget->_size;
    _customSize = widget->_customSize;
    _sizeType = widget->getSizeType();
    _sizePercent = widget->_sizePercent;
    _positionType = widget->_positionType;
    _positionPercent = widget->_positionPercent;
    setPosition(widget->getPosition());
    setAnchorPoint(widget->getAnchorPoint());
    setScaleX(widget->getScaleX());
    setScaleY(widget->getScaleY());
    setRotation(widget->getRotation());
    setRotationSkewX(widget->getRotationSkewX());
    setRotationSkewY(widget->getRotationSkewY());
    setFlippedX(widget->isFlippedX());
    setFlippedY(widget->isFlippedY());
    setColor(widget->getColor());
    setOpacity(widget->getOpacity());
    _touchEventCallback = widget->_touchEventCallback;
    _touchEventListener = widget->_touchEventListener;
    _touchEventSelector = widget->_touchEventSelector;
    _focused = widget->_focused;
    _focusEnabled = widget->_focusEnabled;
    
    copySpecialProperties(widget);

    //FIXME:copy focus properties, also make sure all the subclass the copy behavior is correct
    Map<int, LayoutParameter*>& layoutParameterDic = widget->_layoutParameterDictionary;
    for (auto iter = layoutParameterDic.begin(); iter != layoutParameterDic.end(); ++iter)
    {
        setLayoutParameter(iter->second->clone());
    }
    onSizeChanged();
}
Ejemplo n.º 23
0
bool Layout::init()
{
    if (CCNode::init())
    {
        _widgetChildren = CCArray::create();
        CC_SAFE_RETAIN(_widgetChildren);
        _layoutParameterDictionary = CCDictionary::create();
        CC_SAFE_RETAIN(_layoutParameterDictionary);
        _nodes = CCArray::create();
        CC_SAFE_RETAIN(_nodes);
        initRenderer();
        setBright(true);
        ignoreContentAdaptWithSize(false);
        setSize(CCSizeZero);
        setAnchorPoint(CCPointZero);
        return true;
    }
    return false;
}
Ejemplo n.º 24
0
bool Widget::init()
{
    if (CCNodeRGBA::init())
    {
        _widgetChildren = CCArray::create();
        CC_SAFE_RETAIN(_widgetChildren);
        _layoutParameterDictionary = CCDictionary::create();
        CC_SAFE_RETAIN(_layoutParameterDictionary);
        _nodes = CCArray::create();
        CC_SAFE_RETAIN(_nodes);
        initRenderer();
        setCascadeColorEnabled(true);
        setCascadeOpacityEnabled(true);
        setBright(true);
        ignoreContentAdaptWithSize(true);
        setAnchorPoint(CCPoint(0.5f, 0.5f));
        return true;
    }
    return false;
}
Ejemplo n.º 25
0
bool Layout::init()
{
    m_children = CCArray::create();
    m_children->retain();
    initRenderer();
    m_pRenderer->retain();
    m_pRenderer->setZOrder(m_nWidgetZOrder);
    CCRGBAProtocol* renderRGBA = dynamic_cast<CCRGBAProtocol*>(m_pRenderer);
    if (renderRGBA)
    {
        renderRGBA->setCascadeColorEnabled(false);
        renderRGBA->setCascadeOpacityEnabled(false);
    }
    ignoreContentAdaptWithSize(false);
    setSize(CCSizeZero);
    setBright(true);
    setAnchorPoint(ccp(0, 0));
    m_pScheduler = CCDirector::sharedDirector()->getScheduler();
    CC_SAFE_RETAIN(m_pScheduler);
    return true;
}
Ejemplo n.º 26
0
bool UIWidget::init()
{
    m_children = CCArray::create();
    m_children->retain();
    m_pLayoutParameterDictionary = CCDictionary::create();
    CC_SAFE_RETAIN(m_pLayoutParameterDictionary);
    initRenderer();
    m_pRenderer->retain();
    m_pRenderer->setZOrder(m_nWidgetZOrder);
    CCRGBAProtocol* renderRGBA = DYNAMIC_CAST_CCRGBAPROTOCOL;
    if (renderRGBA)
    {
        renderRGBA->setCascadeColorEnabled(true);
        renderRGBA->setCascadeOpacityEnabled(true);
    }
    setBright(true);
    ignoreContentAdaptWithSize(true);
    m_pScheduler = CCDirector::sharedDirector()->getScheduler();
    CC_SAFE_RETAIN(m_pScheduler);
    return true;
}
Ejemplo n.º 27
0
void Widget::copyProperties(Widget *widget)
{
    setEnabled(widget->isEnabled());
    setVisible(widget->isVisible());
    setBright(widget->isBright());
    setTouchEnabled(widget->isTouchEnabled());
    _touchPassedEnabled = false;
    setLocalZOrder(widget->getLocalZOrder());
    setTag(widget->getTag());
    setName(widget->getName());
    setActionTag(widget->getActionTag());
    _ignoreSize = widget->_ignoreSize;
    _size = widget->_size;
    _customSize = widget->_customSize;
    copySpecialProperties(widget);
    _sizeType = widget->getSizeType();
    _sizePercent = widget->_sizePercent;
    _positionType = widget->_positionType;
    _positionPercent = widget->_positionPercent;
    setPosition(widget->getPosition());
    setAnchorPoint(widget->getAnchorPoint());
    setScaleX(widget->getScaleX());
    setScaleY(widget->getScaleY());
    setRotation(widget->getRotation());
    setRotationSkewX(widget->getRotationSkewX());
    setRotationSkewY(widget->getRotationSkewY());
    setFlippedX(widget->isFlippedX());
    setFlippedY(widget->isFlippedY());
    setColor(widget->getColor());
    setOpacity(widget->getOpacity());
    Map<int, LayoutParameter*>& layoutParameterDic = widget->_layoutParameterDictionary;
    for (auto iter = layoutParameterDic.begin(); iter != layoutParameterDic.end(); ++iter)
    {
        setLayoutParameter(iter->second->clone());
    }
    onSizeChanged();
}
Ejemplo n.º 28
0
void UIWidget::disable(bool containChildren)
{
    setBright(false,containChildren);
    setTouchEnable(false,containChildren);
}
Ejemplo n.º 29
0
// on "init" you need to initialize your instance
bool LearnScene::init()
{
    if ( !LayerColor::initWithColor(Constants::BACKGROUND_COLOR) )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    
    // Home btn
    auto btn = ui::Button::create("HomeBtn", "HomeBtn", "", ui::Widget::TextureResType::PLIST);
    btn->setAnchorPoint(Vec2::ANCHOR_TOP_RIGHT);
    btn->setPosition(Vec2(origin.x + visibleSize.width, origin.y + visibleSize.height));
    btn->addTouchEventListener(CC_CALLBACK_2(LearnScene::touchEvent, this));
    this->addChild(btn, 1, 1);
    
    // Learn progress txt
    float retainedPercent = round(Constants::getRetainedWordCount() * 100 / Constants::getTotalWordCount());
    std::stringstream stm;
    stm << "Learning progress: " << retainedPercent << "%";
    auto label = Label::createWithBMFont(Constants::FONT_BOLD12, stm.str());
    label->setColor(Color3B::BLACK);
    label->setAnchorPoint(Vec2::ANCHOR_MIDDLE_LEFT);
    label->setPosition(origin.x + 14, origin.y + visibleSize.height - 28);
    this->addChild(label, 2, 2);
    
    // Learn progress bar
    auto sprite9 = ui::Scale9Sprite::createWithSpriteFrameName("PbBg", Rect(2, 2, 2, 2));
    sprite9->setContentSize(Size(visibleSize.width - 28, 18));
    sprite9->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height - 60));
    this->addChild(sprite9, 3, 3);
    
    auto pb = ui::Scale9Sprite::createWithSpriteFrameName("PbProgress", Rect(2, 2, 2, 2));
    Size pbSize = sprite9->getContentSize();
    pbSize.width *= retainedPercent / 100;
    if(pbSize.width < 6) pbSize.width = 6;
    pb->setContentSize(pbSize);
    pb->setAnchorPoint(Vec2::ANCHOR_BOTTOM_LEFT);
    sprite9->addChild(pb, 1, 1);
    
    // Text area
    sprite9 = ui::Scale9Sprite::createWithSpriteFrameName("TextArea", Rect(12, 12, 12, 12));
    sprite9->setContentSize(Size(visibleSize.width-28, visibleSize.height - 264));
    sprite9->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height - 86 - sprite9->getContentSize().height / 2));
    this->addChild(sprite9, 4, 4);
    
    // choices
    btn = ui::Button::create("ChoiceBg", "ChoiceSelectedBg", "", ui::Widget::TextureResType::PLIST);
    btn->setScale9Enabled(true);
    btn->setCapInsets(Rect(5, 5, 5, 5));
    btn->setSize(Size(visibleSize.width-28, 30));
    btn->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + 148));
    btn->getTitleRenderer()->setBMFontFilePath(Constants::FONT_REGULAR12);
    btn->getTitleRenderer()->setColor(Color3B::BLACK);
    btn->setTitleText("I know this word.");
    btn->addTouchEventListener(CC_CALLBACK_2(LearnScene::touchEvent, this));
    this->addChild(btn, 5, 5);
    btn = ui::Button::create("ChoiceBg", "ChoiceSelectedBg", "", ui::Widget::TextureResType::PLIST);
    btn->setScale9Enabled(true);
    btn->setCapInsets(Rect(5, 5, 5, 5));
    btn->setSize(Size(visibleSize.width-28, 30));
    btn->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + 103));
    btn->getTitleRenderer()->setBMFontFilePath(Constants::FONT_REGULAR12);
    btn->getTitleRenderer()->setColor(Color3B::BLACK);
    btn->setTitleText("Not yet!");
    btn->addTouchEventListener(CC_CALLBACK_2(LearnScene::touchEvent, this));
    this->addChild(btn, 6, 6);
    
    // check btn
    btn = ui::Button::create("BtnNormal", "BtnPressed", "BtnDisabled", ui::Widget::TextureResType::PLIST);
    btn->setScale9Enabled(true);
    btn->setCapInsets(Rect(12, 12, 12, 12));
    btn->setSize(Size(visibleSize.width-28, 58));
    btn->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + 45));
    btn->getTitleRenderer()->setBMFontFilePath(Constants::FONT_BOLD30);
    btn->setTitleText("Check");
    btn->addTouchEventListener(CC_CALLBACK_2(LearnScene::touchEvent, this));
    this->addChild(btn, 7, 7);
    btn->setEnabled(false);
    btn->setBright(false);
    
    // term
    std::string nextWord = Constants::getNextWordToLearn();
    label = Label::createWithBMFont(Constants::FONT_BOLD30, nextWord);
    label->setColor(Color3B::BLACK);
    label->setPosition(sprite9->getContentSize().width/2, sprite9->getContentSize().height/2);
    sprite9->addChild(label, 1, 1);
    
    // definition
    const ValueMap& wInfo = Configuration::getInstance()->getValue("words").asValueMap().at(nextWord).asValueMap();
    auto it = wInfo.find("ldef");
    std::string ldef = it != wInfo.end() ? it->second.asString() : "Missing definition";
    label = Label::createWithBMFont(Constants::FONT_REGULAR14, ldef);
    label->setColor(Color3B::BLACK);
    label->setWidth(sprite9->getContentSize().width - 28);
    label->setAlignment(TextHAlignment::LEFT);
    label->setPosition(sprite9->getContentSize().width/2, sprite9->getContentSize().height/2);
    sprite9->addChild(label, 2, 2);
    label->setOpacity(0);
    label->setVisible(false);
    
    // play sound
    Constants::playText(nextWord);
    
    // init vars
    this->startTime = time(0);
    this->showNext = false;
    this->answerChoice = -1;
    
    return true;
}
Ejemplo n.º 30
0
void UIWidget::active(bool containChildren)
{
    setBright(true,containChildren);
    setTouchEnable(true,containChildren);
}