void NormalMonsterHPLayer::SetEnemyHpLable(float currentHp,bool isAnim,PLAYER_ID enemyId,unsigned int monsterType)
{
	SpriteMonster* monster = SpriteMonsterMgr::Get()->GetMonster(enemyId.getID());
	if(monster == NULL)
	{
		return;
	}

	float totalHp = monster->getTotalBlood();
	float scale = UIManager::sharedManager()->getScaleFactor();
	float percent= scale;
	if(totalHp != 0)
	{
		percent *= currentHp / totalHp;
	}
	if(m_hpPic)
	{
		m_hpPic->stopAllActions();
		if(isAnim)
		{
			CCActionInterval* actionScale = CCScaleTo::create(0.2f,percent,scale);
			m_hpPic->runAction(actionScale);
		}
		else
		{
			m_hpPic->setScaleX(percent);
		}
	}

	if(m_targetMonsterId != enemyId.getID())
	{
		const char* mosterNameIndex = LuaTinkerManager::Get()->getLuaConfig<const char *>("MonsterBasicInfomation", "MonsterBasicInfomation", monsterType, "Name");
		CCAssert(mosterNameIndex,"monster name index is null");
		const char* monsterName = Localizatioin::getLocalization(mosterNameIndex);
		CCAssert(monsterName,"monster name is null");
		m_nameLabel->setString(monsterName);

		char levelStr[20];
		sprintf(levelStr,"Lv%d",monster->getLevel());
		m_levelLabel->setString(levelStr);
	}

	b_checkMonster = true;
	m_targetMonsterId = enemyId.getID();
}
//type : 1 世界boss 2 勇者试炼 3 主城防守
void SpriteMonsterMgr::updateSpecialMonsterHPLayer(int id, int nowHp, int totalHp, int type)
{
	UILayout * layout = UIManager::sharedManager()->getUILayout("WorldBossHPUI");
	SpriteMonster * monster = NULL;
	if (m_tabMonsters.find(id) != m_tabMonsters.end())
	{
		monster = m_tabMonsters[id];
	}
	if (layout && monster)
	{		
		if (!specialMonsterHpInited)
		{			
			const char* mosterNameIndex = LuaTinkerManager::Get()->getLuaConfig<const char *>("MonsterBasicInfomation", "MonsterBasicInfomation", monster->GetTypeId(), "Name");
			const char* monsterName = Localizatioin::getLocalization(mosterNameIndex);

			CCSprite * monsterHPBarNode = NULL;

			if (type != 3)
			{
				layout->FindChildObjectByName<UILabel>("bossName")->setString(monsterName);

				stringstream bossLevelStream;
				bossLevelStream << "Lv." << monster->getLevel();
				string bossLevel = bossLevelStream.str();

				//layout->FindChildObjectByName<UILabel>("bossLevel")->setString(bossLevel.c_str());
				layout->FindChildObjectByName<UILabel>("bossLevel")->setString("");

				monsterHPBarNode = (CCSprite *)layout->FindChildObjectByName<UIPicture>("bossHPBar")->getCurrentNode();
				
			}
			else
			{
				layout->FindChildObjectByName<UILabel>("cityName")->setString(monsterName);

				monsterHPBarNode = (CCSprite *)layout->FindChildObjectByName<UIPicture>("cityHPBar")->getCurrentNode();
			}



			monsterHPBarNode->setAnchorPoint(ccp(0, 0.5f));

			CCPoint oldPos = monsterHPBarNode->getPosition();
			float scale = UIManager::sharedManager()->getScaleFactor();
			monsterHPBarNode->setPosition(ccp(oldPos.x-scale * monsterHPBarNode->getContentSize().width/2, oldPos.y));

			specialMonsterHpInited = true;
		}

		stringstream hpStream;
		hpStream << nowHp << "/" << totalHp;
		string hpStr = hpStream.str();


		switch (type)
		{
		case 1:
			//layout->FindChildObjectByName<UILabel>("bossHPNum")->setString(hpStr.c_str());
			layout->FindChildObjectByName<UILabel>("bossHPNum")->setString(Localizatioin::getLocalization("M_WORLDBOSS_HP"));
			break;

		case 2:
			layout->FindChildObjectByName<UILabel>("bossHPNum")->setString("");
			break;

		default:
			break;
		}

		
		CCSprite * monsterHPBarNode = NULL;
		if (type != 3)
		{
			monsterHPBarNode = (CCSprite *)layout->FindChildObjectByName<UIPicture>("bossHPBar")->getCurrentNode();
		}
		else
		{
			monsterHPBarNode = (CCSprite *)layout->FindChildObjectByName<UIPicture>("cityHPBar")->getCurrentNode();
		}
		
		float scale = UIManager::sharedManager()->getScaleFactor();
		float percent= scale;
		if(totalHp != 0)
		{
			percent *= nowHp * 1.0f / totalHp;
		}

		CCActionInterval* actionScale = CCScaleTo::create(0.2f,percent,scale);
		monsterHPBarNode->runAction(actionScale);
	}
}