| 148 | } |
| 149 | |
| 150 | MClass* FindClass(MonoClass* monoClass, bool addIfMissing = true) |
| 151 | { |
| 152 | if (monoClass == nullptr) |
| 153 | return nullptr; |
| 154 | PROFILE_CPU(); |
| 155 | auto& modules = BinaryModule::GetModules(); |
| 156 | for (auto module : modules) |
| 157 | { |
| 158 | auto managedModule = dynamic_cast<ManagedBinaryModule*>(module); |
| 159 | if (managedModule && managedModule->Assembly->IsLoaded()) |
| 160 | { |
| 161 | MClass* result = managedModule->Assembly->GetClass(monoClass); |
| 162 | if (result != nullptr) |
| 163 | return result; |
| 164 | } |
| 165 | } |
| 166 | if (addIfMissing) |
| 167 | { |
| 168 | MISSING_CODE("TODO: register new MClass"); // TODO: this might happen when for example querying class to array of game script type and it should add new MClass to handle this |
| 169 | } |
| 170 | return nullptr; |
| 171 | } |
| 172 | } |
| 173 | |
| 174 | MDomain* MCore::CreateDomain(const StringAnsi& domainName) |
no test coverage detected