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(); }