Exemple #1
0
CCString* CCString::createWithFormat(const char* format, ...)
{
    CCString* pRet = CCString::create("");
    va_list ap;
    va_start(ap, format);
    pRet->initWithFormatAndValist(format, ap);
    va_end(ap);

    return pRet;
}
	void ProcessApplication::log(ELogType type, const char* format, ...)	{
		CCString* tempString = new CCString();
		va_list ap;
		va_start(ap, format);
		bool initialized(tempString->initWithFormatAndValist(format, ap));
		va_end(ap);
		if(initialized)	{
			log(type, EConsoleBackColor_Black, tempString->getCString());
		}
		tempString->release();
	}
	void ProcessApplication::log( ELogType type, EConsoleBackColor backColor, const char* format, ... )
	{
		CCString* tempString = new CCString();
		va_list ap;
		va_start(ap, format);
		bool initialized(tempString->initWithFormatAndValist(format, ap));
		va_end(ap);
		if(initialized)	{
			ConsoleBackColorScope colorScope(type, backColor);
			const char* logString(tempString->getCString());
			switch(type)	{
			case( ELogType_Info ):
				{
					logger().information(logString);
				}
				break;
			case( ELogType_Status ):
				{
					logger().information(logString);
				}
				break;
			case( ELogType_Message ):
				{
					logger().information(logString);
				}
				break;
			case( ELogType_Warning ):
				{
					logger().information(logString);
				}
				break;
			case( ELogType_Error ):
				{
					logger().information(logString);
				}
				break;
			default:
				logger().information(logString);
				break;
			}

			// TODO: is debugger present ...
			WCHAR wszBuf[cocos2d::kMaxLogLen + 1] = {0};
			MultiByteToWideChar(CP_UTF8, 0, logString, -1, wszBuf, sizeof(wszBuf));
			OutputDebugStringW(wszBuf);
			OutputDebugStringA("\n");
		}
		tempString->release();
	}