| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #include "BsScriptBuiltin.h"
- #include "BsMonoManager.h"
- #include "BsMonoClass.h"
- #include "BsMonoMethod.h"
- #include "BsMonoUtil.h"
- #include "BsBuiltinResources.h"
- #include "BsScriptSpriteTexture.h"
- #include "BsScriptShader.h"
- #include "BsScriptMesh.h"
- #include "BsScriptResourceManager.h"
- namespace BansheeEngine
- {
- ScriptBuiltin::ScriptBuiltin(MonoObject* instance)
- :ScriptObject(instance)
- { }
- void ScriptBuiltin::initRuntimeData()
- {
- metaData.scriptClass->addInternalCall("Internal_GetWhiteTexture", &ScriptBuiltin::internal_GetWhiteTexture);
- metaData.scriptClass->addInternalCall("Internal_GetDiffuseShader", &ScriptBuiltin::internal_GetDiffuseShader);
- metaData.scriptClass->addInternalCall("Internal_GetMesh", &ScriptBuiltin::internal_GetMesh);
- }
- MonoObject* ScriptBuiltin::internal_GetWhiteTexture()
- {
- HSpriteTexture whiteTexture = BuiltinResources::instance().getWhiteSpriteTexture();
- ScriptSpriteTexture* scriptSpriteTex;
- ScriptResourceManager::instance().getScriptResource(whiteTexture, &scriptSpriteTex, true);
- return scriptSpriteTex->getManagedInstance();
- }
- MonoObject* ScriptBuiltin::internal_GetDiffuseShader()
- {
- HShader diffuseShader = BuiltinResources::instance().getDiffuseShader();
- ScriptShader* scriptShader;
- ScriptResourceManager::instance().getScriptResource(diffuseShader, &scriptShader, true);
- return scriptShader->getManagedInstance();
- }
- MonoObject* ScriptBuiltin::internal_GetMesh(BuiltinMesh meshType)
- {
- HMesh mesh = BuiltinResources::instance().getMesh(meshType);
- ScriptMesh* scriptMesh;
- ScriptResourceManager::instance().getScriptResource(mesh, &scriptMesh, true);
- return scriptMesh->getManagedInstance();
- }
- }
|