Ejemplo n.º 1
0
void WinningRaking::UpdateView()
{
	RewardListInfo* prewardlistinfo = nullptr;
	prewardlistinfo = g_globalTableConfig.m_RewardListInfo;
	if (prewardlistinfo)
	{
		for(int i = 0;i < 5; i++)
		{
			RewardListInfo& info = prewardlistinfo[i];
			SetLabelString(m_pRewardNum[i], FormatCash(info.m_uRankID));
			SetLabelStringWithBoundWidth(m_pRewardName[i], info.m_strNickName.c_str(), 90);
			if(info.m_bIfShow)
			{
				m_pSpriteFlowers[i]->SetFrameIdx(0);
			}
			else
			{
				m_pSpriteFlowers[i]->SetFrameIdx(1);
			}
			SetLabelString(m_pRewardCount[i], FormatCash(info.m_dRankCount).c_str());
		}
	}
	char szText[100] = {0};
	sprintf(szText, "皇家%s%%奖池", do_fraction(prewardlistinfo->m_uRoyalCount, 2).c_str());
	SetLabelString(m_pRewardContext[0], szText);
	sprintf(szText, "同花顺%s%%奖池", do_fraction(prewardlistinfo->m_uflowersCount,2).c_str());
	SetLabelString(m_pRewardContext[1], szText);
}
Ejemplo n.º 2
0
int cutPoly2 (struct Plex *plex)
{
	int result, k;
	long nx, ny;
	long i, e, v0, v1;
	double p1[3], p2[3], p3[3], p4[3];
	struct PlexEdge *plexedg;
	struct PlexVertex *pv0, *pv1;
	
	nx = plex -> dimensions[0]; ny = plex -> dimensions[1];
	if (!defineGrid (plex)) return (0);
	/* go through grid lines perpendicular to x-axis */
	for (i = 0; i < nx; i++) {
		for (k = 0; k < 3; k++) {
			p1[k] = *(plex -> xgrid + 6 * i + k);
			p2[k] = *(plex -> xgrid + 6 * i + 3 + k);
		}
		for (e = 0; e < plex -> n_edge; e++) {
			plexedg = plex -> plexedges + e;
			v0 = plexedg -> vns[0];
			v1 = plexedg -> vns[1];
			pv0 = plex -> plexvertices + (v0-1);
			pv1 = plex -> plexvertices + (v1-1);
			for (k = 0; k < 3; k++) {
				p3[k] = pv0 -> center[k];
				p4[k] = pv1 -> center[k];
			}
			result = lines_intersect (p1, p2, p3, p4);
			if (!result) continue;
			result = do_fraction (plex, plexedg, p1, p2, p3, p4);
			if (!result) return (0);
		}
	}
	/* go through grid lines perpendicular to y-axis */
	for (i = 0; i < ny; i++) {
		for (k = 0; k < 3; k++) {
			p1[k] = *(plex -> ygrid + 6 * i + k);
			p2[k] = *(plex -> ygrid + 6 * i + 3 + k);
		}
		for (e = 0; e < plex -> n_edge; e++) {
			plexedg = plex -> plexedges + e;
			v0 = plexedg -> vns[0];
			v1 = plexedg -> vns[1];
			pv0 = plex -> plexvertices + (v0-1);
			pv1 = plex -> plexvertices + (v1-1);
			for (k = 0; k < 3; k++) {
				p3[k] = pv0 -> center[k];
				p4[k] = pv1 -> center[k];
			}
			result = lines_intersect (p1, p2, p3, p4);
			if (!result) continue;
			result = do_fraction (plex, plexedg, p1, p2, p3, p4);
			if (!result) return (0);
		}
	}
	return (1);
}
Ejemplo n.º 3
0
void TextureNumber::UpdateZeroNumber(double dNumber, int size)
{
	if (fabs(m_dNumber - dNumber) >= 0.5f)
	{
		m_dNumber = dNumber;

		std::string strRet;
		if (m_bNeedFormat)
		{
			auto pFunFormat = [](double dValueFormating, double dLow, double dHigh, const std::string& strUnit, std::string& strRet){
				if (dValueFormating >= dLow && dValueFormating < dHigh)
				{
					double dHigh = dValueFormating / dLow;
					double dRest = dValueFormating - dLow * unsigned(dHigh);
					strRet = do_fraction(dHigh, (dRest >= dLow / 100.0f) ? 3 : 0);
					strRet += strUnit;
					return true;
				}
				return false;
			};
			if (pFunFormat(dNumber, 10000.0f, 100000000.0f, "W", strRet))
			{
			}
			else if (pFunFormat(dNumber, 100000000.0f, 1000000000000.0f, "Y", strRet))
			{
			}
			else if (pFunFormat(dNumber, 1000000000000.0f, 10000000000000000.0f, "Z", strRet))
			{
			}
			else
			{
				strRet = do_fraction(dNumber);
			}
		}
		else
		{
			strRet = do_fraction(dNumber);
		}

		size_t len = strRet.length();
		if(strRet.length() < size)
		{
			for(int index =(int) 0; index + len < size; index++)
				strRet.insert(index, "0");
		}
		std::vector<unsigned> vecIdxs;
		if (m_bHasPreFlag)
		{
			if (m_dNumber > 0)
			{
				vecIdxs.push_back(10);
			}
			else if (m_dNumber < 0)
			{
				vecIdxs.push_back(11);
			}
		}
		for (unsigned i = 0; i < strRet.size(); ++i)
		{
			char c = strRet[i];
			if (c >= '0' && c <= '9')
			{
				vecIdxs.push_back(c - '0');
			}
			else if (c == '.')
			{
				vecIdxs.push_back(12);
			}
			else if (c == 'W') // 万
			{				
				vecIdxs.push_back(13);
			}
			else if (c == 'Y') // 亿
			{
				vecIdxs.push_back(14);
			}
			else if (c == 'Z') // 兆
			{
				vecIdxs.push_back(15);
			}
			else
			{
				continue;
			}
		}

		m_vecNumbers = vecIdxs;
		ReAdjustFrame();
	}
}