MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / CreateDomain

Method CreateDomain

Source/Engine/Scripting/Runtime/Mono.cpp:174–196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

172}
173
174MDomain* MCore::CreateDomain(const StringAnsi& domainName)
175{
176#if USE_MONO_AOT
177 LOG(Fatal, "Scripts can run only in single domain mode with AOT mode enabled.");
178 return nullptr;
179#endif
180
181 for (int32 i = 0; i < MDomains.Count(); i++)
182 {
183 if (MDomains[i]->GetName() == domainName)
184 return MDomains[i];
185 }
186
187 auto domain = New<MDomain>(domainName);
188 const auto monoDomain = mono_domain_create_appdomain((char*)domainName.Get(), nullptr);
189#if MONO_DEBUG_ENABLE
190 mono_debug_domain_create(monoDomain);
191#endif
192 ASSERT(monoDomain);
193 domain->_monoDomain = monoDomain;
194 MDomains.Add(domain);
195 return domain;
196}
197
198void MCore::UnloadDomain(const StringAnsi& domainName)
199{

Callers

nothing calls this directly

Calls 4

CountMethod · 0.45
GetNameMethod · 0.45
GetMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected