String DayString::ToFormat(const String& format) const { auto d = data.DayOfWeek(); if (format == "~~~~") return DayLongName(d); else if (format == "~~~") return DayShortName(d); else if (format == "~~") return FormatValue(data.Days(), "##"); else return AnyToStr(data.Days()); }
//---------------------------------------------------------------------------- bool ApplicationBase::Initlize () { if (msIsInitlized) return true; // srand time_t ti; time(&ti); srand((unsigned int)ti); #ifdef PX2_USE_MEMORY Memory::Initialize(); #endif StringHelp::Initlize(); FString::Initlize(); Logger *logger = new0 Logger(); #if defined(_WIN32) || defined(WIN32) logger->AddFileHandler("PX2Application_Log.txt", LT_INFO|LT_ERROR|LT_USER); #endif logger->AddOutputWindowHandler(LT_INFO|LT_ERROR|LT_USER); logger->StartLogger(); InitializeNetwork(); DateTime time; int year1 = time.Year(); int month1 = time.Month(); int week1 = time.Week(); int day1 = time.Day(); int dayOfWeek1 = time.DayOfWeek(); int dayOfYear1 = time.DayOfYear(); int hour1 = time.Hour(); int minute1 = time.Minute(); int second1 = time.Second(); int millisecond1 = time.Millisecond(); int microsecond1 = time.Microsecond(); PX2_LOG_INFO("Year:%d; Month:%d; Week:%d; Day:%d; DayOfWeek:%d; DayOfYear:%d; Hour:%d; Minute:%d; Second:%d; Millisecond:%d; Microsecond:%d", year1, month1, week1, day1, dayOfWeek1, dayOfYear1, hour1, minute1, second1, millisecond1, microsecond1); PX2_LOG_INFO("Begin ApplicationBase::Initlize."); mTimerMan = new0 TimerManager(); mIMEDisp = new0 IMEDispatcher(); PX2_UNUSED(mIMEDisp); mLanguageMan = new0 LanguageManager(); mResMan = new0 ResourceManager(); PX2_LM.Add("Data/engine/engineLanguage.csv"); mEventWorld = new0 EventWorld(); mEventWorld->ComeIn(this); #if defined (PX2_LUA) mScriptMan = ScriptManager::Create(ScriptManager::ST_LUA); LuaManager *luaMan = (LuaManager*)mScriptMan; tolua_PX2_open(luaMan->GetLuaState()); #endif mScriptEventHandler = new0 ScriptEventHandler(); mEventWorld->ComeIn(mScriptEventHandler); mRoot = new0 GraphicsRoot(); mRoot->Initlize(); //mDBM = new0 DynamicBufferManager(); //mDBM->Initlize(); mGameMan = new0 GameManager(); mGameMan->LoadBoost("Data/boost.xml"); int width = mGameMan->GetBoostWidth(); int height = mGameMan->GetBoostHeight(); #ifdef __MARMALADE__ width = s3eSurfaceGetInt(S3E_SURFACE_DEVICE_WIDTH); height = s3eSurfaceGetInt(S3E_SURFACE_DEVICE_HEIGHT); #endif std::string projPath = mGameMan->GetProjectPath(); if (0!=width && 0!=height) { mWidth = width; mHeight = height; } mInputEventAdapter = new0 InputEventAdapter(); // input manager created in it mInputEventAdapter->Convert2Touch(true); mFontMan = new0 FontManager(); PX2_UNUSED(mFontMan); mUIManager = new0 UIManager(); mEventWorld->ComeIn(mUIManager); mInputEventAdapter->GetInputEventListener()->AddHandler(mUIManager->GetDefaultView()); SoundSystemInitInfo info; info.MaxChannels = 24; info.DopplerScale = 1.0f; info.DistanceFactor = 100.0f; info.RolloffScale = 1.2f; #if defined(_WIN32) || defined(WIN32) mSoundSystem = SoundSystem::Create(SoundSystem::ST_FMOD, info); #elif defined (__ANDROID__) || defined(__MARMALADE__) mSoundSystem = SoundSystem::Create(SoundSystem::ST_ANDROID, info); #endif mProject = new0 Project(); mProject->SetInGamePlay(true); mProject->Load(projPath); #if defined (__ANDROID__) || defined(__MARMALADE__) if (AST_960X640==mScreenSuitType) { mProject->SetWidth(960.0f); mProject->SetHeight(640.0f); } else if (AST_1136X640==mScreenSuitType) { mProject->SetWidth(1136.0f); mProject->SetHeight(640.0f); } else if (AST_640X960 == mScreenSuitType) { mProject->SetWidth(640.0f); mProject->SetHeight(960.0f); } else if (AST_640X1136 == mScreenSuitType) { mProject->SetWidth(640.0f); mProject->SetHeight(1136.0f); } #endif mUIManager->GetDefaultView()->SetProjSize((float)mProject->GetWidth(), (float)mProject->GetHeight()); Float4 color = mProject->GetColor(); bool loadDataVersion = PX2_RM.LoadDataVersionXML("Data/version.xml"); if (!loadDataVersion) { assertion(false, "Load Data/version.xml failed.\n"); PX2_LOG_ERROR("Load Data/version.xml failed."); } PX2_LOG_INFO("Begin ApplicationBase::OnInitlizeApp."); OnInitlizeApp(); mInputEventAdapter->Initlize(); PX2_LOG_INFO("Begin ApplicationBase::OnSize."); OnSize(width, height); mScriptMan->SetUserTypePointer("PX2_LOG", "Logger", Logger::GetSingletonPtr()); mScriptMan->SetUserTypePointer("PX2_GM", "GameManager", mGameMan); mScriptMan->SetUserTypePointer("PX2_PROJ", "Project", mProject); mScriptMan->SetUserTypePointer("PX2_LM", "LanguageManager", &(PX2_LM)); mScriptMan->SetUserTypePointer("PX2_RM", "ResourceManager", mResMan); mScriptMan->SetUserTypePointer("PX2_SM", "ScriptManager", mScriptMan); mScriptMan->SetUserTypePointer("PX2_UIM", "UIManager", mUIManager); mScriptMan->SetUserTypePointer("PX2_SS", "SoundSystem", mSoundSystem); mScriptMan->SetUserTypePointer("PX2_SOUNDM", "SoundManager", SoundManager::GetSingletonPtr()); PX2_LOG_INFO("OnInitlize()"); OnInitlize(); msIsInitlized = true; return true; }