blob: eb2142c52e41fda0d7f6da47286c6457d5a60ee8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#ifndef _SCRIPTINGTYPEPROVIDER_FLASH
#define _SCRIPTINGTYPEPROVIDER_FLASH
#include "../IScriptingTypeProvider.h"
//#include "Runtime/Scripting/ScriptingUtility.h"
#if UNITY_FLASH
extern "C" ScriptingTypePtr Ext_Flash_GetScriptingTypeFromName(const char* name);
class ScriptingTypeProvider_Flash : public IScriptingTypeProvider
{
public:
virtual BackendNativeType NativeTypeFor(const char* namespaze, const char* name)
{
if (strcmp(name,"Object") == 0)
name = "_Object";
if (strcmp(namespaze,"System")==0)
{
if (strcmp(name,"String")==0)
return Ext_Flash_GetScriptingTypeFromName("String");
if (strcmp(name,"Int32")==0)
return Ext_Flash_GetScriptingTypeFromName("int");
if (strcmp(name,"Single")==0)
return Ext_Flash_GetScriptingTypeFromName("Number");
if (strcmp(name,"Double")==0)
return Ext_Flash_GetScriptingTypeFromName("Number");
if (strcmp(name,"Byte")==0)
return Ext_Flash_GetScriptingTypeFromName("int");
}
std::string combined(namespaze);
if (combined.size() > 0)
combined+=".";
combined+=name;
return Ext_Flash_GetScriptingTypeFromName(combined.c_str());
}
virtual ScriptingTypePtr Provide(BackendNativeType nativePtr)
{
return (ScriptingTypePtr)nativePtr;
}
virtual void Release(ScriptingTypePtr t)
{
}
};
#endif
#endif
|