Esempio n. 1
0
void User::updateBuffsEffect()
{
	setMultiFightDelay(1);
	setMultiSpeed(1);
	for(auto buff:_buffs)
	{
		auto effectMap = buff->getEffectMap();
		for(auto pair:effectMap)
		{
			auto type = pair.first;
			auto value = pair.second;
			if(type == "moveSpeed")
			{
				setMultiSpeed(value.asFloat());
			}
			else if(type == "fightDelay")
			{
				setMultiFightDelay(value.asFloat());
			}
		}
	}

	auto gameScene = dynamic_cast<GameScene*>(Director::sharedDirector()->getRunningScene());
	if(gameScene != nullptr)
	{
		auto hud = gameScene->getHud();
		hud->updateBuffList();
	}
}
Esempio n. 2
0
bool HudPanel::init()
{
	_joyStickLayOut = static_cast<Layout*>(Helper::seekWidgetByName(_root, "Panel_joyStickLayOut"));
	_joyStickPanel = JoyStickPanel::create("joyStick");
	_joyStickPanel->setPosition(Vec2(400,72));
	addChild(_joyStickPanel);

	_joyStickPanel->setDieRadius(100);//设置死亡半径(外圈)
	_joyStickPanel->setFailRadius(10);//设置失效半径(內圈)
	//_stick->setAutoPosition(true);
	Detect::shareDetect()->setJoyStick(_joyStickPanel);

	_popPanel = PopPanel::getInstance();

	_bubbleLabel = BubbleLabel::create();
	addChild(_bubbleLabel);

	_layerColor = LayerColor::create(Color4B(0,0,0,255));
	_layerColor->setContentSize(Director::getInstance()->getWinSize());
	_layerColor->setOpacity(0);
	addChild(_layerColor);

	_popPanel = PopPanel::getInstance();
	_popPanel->reset();
	addChild(_popPanel);
	ChatManager::getInstance()->setChatPanel(_popPanel->chatPanel);

	//_listener = EventListenerCustom::create("hud", CC_CALLBACK_1(HudPanel::onTrigger, this));
	_listener = EventListenerCustom::create("hud", [=](EventCustom *event){onTrigger(event);});
	_eventDispatcher->addEventListenerWithSceneGraphPriority(_listener, this);

	for(auto node:_buttons->getChildren())
	{
		auto button = static_cast<Button*>(node);
		button->addTouchEventListener(CC_CALLBACK_2(HudPanel::onButtonClicked, this));
	}

	auto action1 = ScaleBy::create(0.15,1.5,1.5,1.0);
	_stress1 = Sequence::create(action1,action1->reverse(),nullptr);
	_stress1->retain();

	_plotBlock = false;

	_buffList = static_cast<ListView*>(Helper::seekWidgetByName(_root, "ListView_buffs"));
	updateBuffList();
	_buffList->addEventListener((ui::ListView::ccListViewCallback)CC_CALLBACK_2(HudPanel::selectedBuffEvent, this));
	return true;
}