| 835 | } |
| 836 | |
| 837 | ScriptingObject* Scripting::NewObject(const ScriptingTypeHandle& type) |
| 838 | { |
| 839 | if (!type) |
| 840 | { |
| 841 | LOG(Error, "Invalid type."); |
| 842 | return nullptr; |
| 843 | } |
| 844 | const ScriptingType& scriptingType = type.GetType(); |
| 845 | |
| 846 | // Create unmanaged object |
| 847 | const ScriptingObjectSpawnParams params(Guid::New(), type); |
| 848 | ScriptingObject* obj = scriptingType.Script.Spawn(params); |
| 849 | if (obj == nullptr) |
| 850 | LOG(Error, "Failed to spawn object of type \'{0}\'.", scriptingType.ToString()); |
| 851 | return obj; |
| 852 | } |
| 853 | |
| 854 | ScriptingObject* Scripting::NewObject(const MClass* type) |
| 855 | { |