Exemplo n.º 1
0
void PlotScript::dispatchAll(const char* str)
{
	// 脚本初始化
	ValueVector triggerOn;
	ValueVector vec1;
	stringToValueVector(std::string(str),"###",vec1);
	for (auto i:vec1)
	{
		ValueVector vec2;
		stringToValueVector(i.asString(),"~~~",vec2);
		if(vec2.size() < 2)
		{
			vec2.push_back(cocos2d::Value(""));
		}
		triggerOn.push_back(cocos2d::Value(vec2));
	}

	for(auto trigger:triggerOn)
	{
		auto vec = trigger.asValueVector();
		ValueMap map;
		stringToValueMap(vec.at(0).asString(),map);
		if(map["target"].asString() == "player")
		{
			map["target"] = Detect::shareDetect()->getPlayer()->getName();
		}
		EventHelper::getInstance()->dispatchByStr(valueMapToString(map),vec.at(1).asString());
	}   
}
Exemplo n.º 2
0
void User::getShareReward(int index)
{
	if(getShareRewardsLock(index - 1) == 1)
	{
		PopPanel::getInstance()->note("shareReward","type:Text---text:"+ a2u("已经获得该奖励"),1.0f,false,true);
		return;
	}
	
	auto name = "shareReward" + cocos2d::Value(index).asString();
	
	ValueVector rewards;
	ValueVector rewardVec;
	stringToValueVector(PlotScript::sharedHD()->getLuaVarString("script/Test.lua", name.c_str()),"###",rewardVec);
	for(auto pair:rewardVec)
	{
		ValueMap rewardMap;
		stringToValueMap(pair.asString(), rewardMap);
		rewards.push_back(cocos2d::Value(rewardMap));
	}

	// 默认只有一个奖品
	auto rewardMap = rewards.at(0).asValueMap();
	int typeId = rewardMap["typeId"].asInt();
	int num = rewardMap["num"].asInt();

	for(int i = 0; i < num; i ++)
	{
		auto prop = Prop::create(typeId);
		// 获得奖励
		auto player = Detect::shareDetect()->getPlayer();
		player->addProp(prop);
	}

	auto prop = Prop::create(typeId);
	PopPanel::getInstance()->note("cantEquip","type:Text---text:"+ a2u("恭喜获得 ###") + "type:Text---text:"+ prop->getNickName() + "|color:{255,0,0}");

	setShareRewardsLock(index - 1, 1);
}
Exemplo n.º 3
0
bool SparDiskPanel::init()
{
	_sparDisk = Detect::shareDetect()->getPlayer()->getSparDisk();

	_equipSparPan = static_cast<Layout*>(Helper::seekWidgetByName(_root, "Panel_equipSpar"));
	_bagSparPan = static_cast<Layout*>(Helper::seekWidgetByName(_root, "Panel_bagSpar"));
	_introPan = static_cast<Layout*>(Helper::seekWidgetByName(_root, "Panel_intro"));
	_nickNameLab = static_cast<Text*>(_introPan->getChildByName("Label_name"));
	_introLab = static_cast<Text*>(_introPan->getChildByName("Label_intro"));

	_refineBtn = static_cast<Button*>(_introPan->getChildByName("Button_refine"));

	_patchNumLab = static_cast<Text*>(_introPan->getChildByName("Label_patchNum"));
	_completeLab = static_cast<Text*>(_introPan->getChildByName("Label_complete"));

	_refineBtn->addTouchEventListener(CC_CALLBACK_2(SparDiskPanel::onRefine, this));

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

	int i = 0;
	// ³õʼ»¯ÒõÓ°
	// disks
	i = 0;
	for(auto sparPan:_equipSparPan->getChildren())
	{
		auto image = static_cast<ImageView*>(sparPan->getChildByName("Image_item"));
		auto bg = static_cast<ImageView*>(sparPan->getChildByName("Image_bg_item"));
		auto button = static_cast<Button*>(sparPan->getChildByName("Button_item"));
		auto num = static_cast<TextAtlas*>(sparPan->getChildByName("AtlasLabel"));
		auto sparBox = SparBox::create(button,bg,image,num);
		_equipSparBoxs.pushBack(sparBox);
		button->addTouchEventListener(CC_CALLBACK_2(SparDiskPanel::onEquipSparClicked, this));
		sparBox->setTag(i);
		i++;
	}

	// spar
	i = 0;
	for(auto sparPan:_bagSparPan->getChildren())
	{
		auto image = static_cast<ImageView*>(sparPan->getChildByName("Image_item"));
		auto bg = static_cast<ImageView*>(sparPan->getChildByName("Image_bg_item"));
		auto button = static_cast<Button*>(sparPan->getChildByName("Button_item"));
		auto num = static_cast<TextAtlas*>(sparPan->getChildByName("AtlasLabel"));
		auto sparBox = SparBox::create(button,bg,image,num);
		_sparBoxs.pushBack(sparBox);
		button->addTouchEventListener(CC_CALLBACK_2(SparDiskPanel::onSparClicked, this));
		sparBox->setTag(i);
		i++;

		auto name = sparPan->getName();
		ValueVector valueName;
		stringToValueVector(name, "_", valueName);
		auto typeId = valueName.at(valueName.size() - 1).asInt();
		sparBox->setFixSpar(typeId);
	}

	updateSpars();
	setSelectSparBox(nullptr);
	_selectEquipSparBox = _equipSparBoxs.at(0);
	return true;
}