bool CScriptSystem::CompleteInit() { CryLogAlways(" Initializing CryMono ..."); // Create root domain and determine the runtime version we'll be using. m_pRootDomain = new CScriptDomain(eRV_4_30319); m_domains.push_back(m_pRootDomain); CScriptArray::m_pDefaultElementClass = mono_get_object_class(); #ifndef _RELEASE m_pPdb2MdbAssembly = m_pRootDomain->LoadAssembly(PathUtils::GetMonoPath() + "bin\\pdb2mdb.dll"); #endif RegisterPriorityBindings(); return Reload(); }
bool CScriptSystem::CompleteInit() { CryLogAlways(" Initializing CryMono ..."); // Create root domain and determine the runtime version we'll be using. m_pRootDomain = new CScriptDomain(eRV_4_30319); m_domains.push_back(m_pRootDomain); CScriptArray::m_pDefaultElementClass = mono_get_object_class(); #ifndef _RELEASE m_pPdb2MdbAssembly = m_pRootDomain->LoadAssembly(PathUtils::GetMonoPath() + "bin\\pdb2mdb.dll"); #endif RegisterPriorityBindings(); m_bFirstReload = true; if(Reload()) { m_bFirstReload = false; RegisterSecondaryBindings(); gEnv->pGameFramework->RegisterListener(this, "CryMono", eFLPriority_Game); gEnv->pSystem->GetISystemEventDispatcher()->RegisterListener(&g_systemEventListener_CryMono); CryModuleMemoryInfo memInfo; CryModuleGetMemoryInfo(&memInfo); IMonoClass *pCryStats = m_pCryBraryAssembly->GetClass("CryStats", "CryEngine.Utilities"); IMonoObject *pMemoryUsage = *pCryStats->GetPropertyValue(NULL, "MemoryUsage"); CryLogAlways(" Initializing CryMono done, MemUsage=%iKb", (memInfo.allocated + pMemoryUsage->Unbox<long>()) / 1024); pMemoryUsage->Release(); } else { CryLogAlways(" Initializing CryMono failed!"); return false; } return true; }