diff --git a/src/MoonSharp.Interpreter.Tests/EndToEnd/CollectionsBaseInterfGenRegisteredTests.cs b/src/MoonSharp.Interpreter.Tests/EndToEnd/CollectionsBaseInterfGenRegisteredTests.cs index 7715cee8..ca62217d 100644 --- a/src/MoonSharp.Interpreter.Tests/EndToEnd/CollectionsBaseInterfGenRegisteredTests.cs +++ b/src/MoonSharp.Interpreter.Tests/EndToEnd/CollectionsBaseInterfGenRegisteredTests.cs @@ -8,52 +8,54 @@ namespace MoonSharp.Interpreter.Tests.EndToEnd { - [TestFixture] - public class CollectionsBaseInterfGenRegisteredTests + public class RegCollItem { - public class RegCollItem + public int Value; + + public RegCollItem(int v) { - public int Value; + Value = v; + } + } - public RegCollItem(int v) - { - Value = v; - } + public class RegCollMethods + { + List m_Items = new List() { new RegCollItem(7), new RegCollItem(8), new RegCollItem(9) }; + List m_List = new List() { 1, 2, 3 }; + int[] m_Array = new int[3] { 2, 4, 6 }; + int[,] m_MultiArray = new int[2, 3] { { 2, 4, 6 }, { 7, 8, 9 } }; + + public int[,] GetMultiArray() + { + return m_MultiArray; } - public class RegCollMethods + public int[] GetArray() { - List m_Items = new List() { new RegCollItem(7), new RegCollItem(8), new RegCollItem(9) }; - List m_List = new List() { 1, 2, 3 }; - int[] m_Array = new int[3] { 2, 4, 6 }; - int[,] m_MultiArray = new int[2, 3] { { 2, 4, 6 }, { 7, 8, 9 } }; + return m_Array; + } - public int[,] GetMultiArray() - { - return m_MultiArray; - } + public List GetItems() + { + return m_Items; + } - public int[] GetArray() - { - return m_Array; - } + public List GetList() + { + return m_List; + } - public List GetItems() - { - return m_Items; - } + public IEnumerator GetEnumerator() + { + return GetList().GetEnumerator(); + } + } - public List GetList() - { - return m_List; - } - public IEnumerator GetEnumerator() - { - return GetList().GetEnumerator(); - } - } + [TestFixture] + public class CollectionsBaseInterfGenRegisteredTests + { void Do(string code, Action asserts) { Do(code, (d, o) => asserts(d)); diff --git a/src/MoonSharp.Interpreter/Script.cs b/src/MoonSharp.Interpreter/Script.cs index 94b69e5b..c60b408a 100644 --- a/src/MoonSharp.Interpreter/Script.cs +++ b/src/MoonSharp.Interpreter/Script.cs @@ -28,7 +28,7 @@ public class Script : IScriptPrivateResource /// /// The version of the MoonSharp engine /// - public const string VERSION = "1.2.0.0"; + public const string VERSION = "1.2.1.0"; /// /// The Lua version being supported diff --git a/src/Unity/UnityTestBed/Assembly-CSharp.csproj b/src/Unity/UnityTestBed/Assembly-CSharp.csproj index 5480e868..b5ed7bf3 100644 --- a/src/Unity/UnityTestBed/Assembly-CSharp.csproj +++ b/src/Unity/UnityTestBed/Assembly-CSharp.csproj @@ -19,7 +19,7 @@ full false Temp\bin\Debug\ - DEBUG;TRACE;UNITY_5_3_1;UNITY_5_3;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_NETWORK;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_TEXTUREID_MAP;PLAYERCONNECTION_LISTENS_FIXED_PORT;DEBUGGER_LISTENS_FIXED_PORT;PLATFORM_SUPPORTS_ADS_ID;SUPPORT_ENVIRONMENT_VARIABLES;PLATFORM_SUPPORTS_PROFILER;PLATFORM_HAS_NO_SUPPORT_FOR_BUCKET_ALLOCATOR;STRICTCPP_NEW_DELETE_SIGNATURES;WWW_USE_CURL;HAS_NEON_SKINNIG;UNITY_INPUT_SIMULATE_EVENTS;PLATFORM_ALWAYS_USES_STDOUT_FOR_LOG;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;UNITY_TVOS;UNITY_IPHONE_API;ENABLE_IL2CPP;DEVELOPMENT_BUILD;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX;ENABLE_IOS_ON_DEMAND_RESOURCES;ENABLE_IOS_APP_SLICING + DEBUG;TRACE;UNITY_5_3_1;UNITY_5_3;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_NETWORK;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_TEXTUREID_MAP;PLAYERCONNECTION_LISTENS_FIXED_PORT;DEBUGGER_LISTENS_FIXED_PORT;PLATFORM_SUPPORTS_ADS_ID;SUPPORT_ENVIRONMENT_VARIABLES;PLATFORM_SUPPORTS_PROFILER;PLATFORM_HAS_NO_SUPPORT_FOR_BUCKET_ALLOCATOR;STRICTCPP_NEW_DELETE_SIGNATURES;WWW_USE_CURL;HAS_NEON_SKINNIG;UNITY_INPUT_SIMULATE_EVENTS;PLATFORM_ALWAYS_USES_STDOUT_FOR_LOG;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;ENABLE_RUNTIME_GI;UNITY_IOS;UNITY_IPHONE;UNITY_IPHONE_API;SUPPORT_MULTIPLE_DISPLAYS;ENABLE_IL2CPP;DEVELOPMENT_BUILD;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX;ENABLE_IOS_ON_DEMAND_RESOURCES;ENABLE_IOS_APP_SLICING prompt 4 0169 diff --git a/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.Tests.dll b/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.Tests.dll index 42be9376..2dbe16f5 100644 Binary files a/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.Tests.dll and b/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.Tests.dll differ diff --git a/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.dll b/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.dll index ffc3e657..05bf0799 100644 Binary files a/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.dll and b/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.dll differ diff --git a/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.xml b/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.xml index 51902bef..4623be98 100644 --- a/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.xml +++ b/src/Unity/UnityTestBed/Assets/Plugins/MoonSharp.Interpreter.xml @@ -206,6 +206,27 @@ Implementation of IEqualityComparer enforcing reference equality + + + Marks a property as a configruation property + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name for this property + + + + The metamethod name (like '__div', '__ipairs', etc.) + + Marks a method as the handler of metamethods of a userdata type @@ -222,6 +243,27 @@ The metamethod name (like '__div', '__ipairs', etc.) + + + Lists a userdata member not to be exposed to scripts referencing it by name. + + + + + Initializes a new instance of the class. + + Name of the member to hide. + + + + Gets the name of the member to be hidden. + + + + + Forces a class member visibility to scripts. Can be used to hide public members. Equivalent to MoonSharpVisible(false). + + Base interface to describe access to members of a given type. @@ -410,7 +452,7 @@ If the type got restricted, the original type before the restriction. - + Initializes a new instance of the class. @@ -419,6 +461,8 @@ if set to true the parameter has default value. The default value. if set to true, is an out param. + if set to true is a ref param. + if set to true is variable arguments param. @@ -442,7 +486,7 @@ The new type. - Cannot restrict a ref/out param + Cannot restrict a ref/out or varargs param or Specified operation is not a restriction @@ -472,6 +516,16 @@ Gets a value indicating whether this instance is an out parameter + + + Gets a value indicating whether this instance is a "ref" parameter + + + + + Gets a value indicating whether this instance is a variable arguments param + + Gets a value indicating whether this instance has been restricted. @@ -613,14 +667,14 @@ The CLR data type. The converter function, or null if not found - + Sets a custom converter from a CLR data type. Set null to remove a previous custom converter. The CLR data type. The converter, or null. - + Sets a custom converter from a CLR data type. Set null to remove a previous custom converter. @@ -634,6 +688,14 @@ Type of the color data. The converter function, or null if not found + + + + Sets a custom converter from a CLR data type. Set null to remove a previous custom converter. + + The CLR data type. + The converter, or null. + Removes all converters. @@ -646,16 +708,17 @@ - Determines whether a - is changing visibility of a member + Determines whether a + or a is changing visibility of a member to scripts. The member to check. - true if visibility is forced visible, + true if visibility is forced visible, false if visibility is forced hidden or the specified MemberInfo is null, if no attribute was found + If both MoonSharpHiddenAttribute and MoonSharpVisibleAttribute are specified and they convey different messages. @@ -672,6 +735,13 @@ The mi. + + + Gets the Types implemented in the assembly, catching the ReflectionTypeLoadException just in case.. + + The assebly + + Gets the name of a conversion method to be exposed to Lua scripts @@ -679,6 +749,27 @@ The type. + + + Gets all implemented types by a given type + + The t. + + + + + Converts the specified name from underscore_case to camelCase. + + The name. + + + + + Converts the specified name to one with an uppercase first letter (something to Something). + + The name. + + An abstract user data descriptor which accepts members described by objects and @@ -814,6 +905,31 @@ Thrown if a name conflict is detected and one of the conflicting members does not support overloads. + + + Finds the member with a given name. If not found, null is returned. + + Name of the member. + + + + + Removes the member with a given name. In case of overloaded functions, all overloads are removed. + + Name of the member. + + + + Finds the meta member with a given name. If not found, null is returned. + + Name of the member. + + + + Removes the meta member with a given name. In case of overloaded functions, all overloads are removed. + + Name of the member. + Performs an "index" "get" operation. This tries to resolve minor variations of member names. @@ -881,6 +997,7 @@ Converts the specified name from underscore_case to camelCase. + Just a wrapper over the method with the same name, The name. @@ -888,6 +1005,7 @@ Converts the specified name to one with an uppercase first letter (something to Something). + Just a wrapper over the method with the same name, The name. @@ -961,6 +1079,508 @@ Gets a human readable friendly name of the descriptor + + + Gets the member names. + + + + + Gets the members. + + + + + Gets the meta member names. + + + + + Gets the meta members. + + + + + An interface for type descriptors having the ability to generate other descriptors on the fly. + + + + + + Generates a new descriptor for the specified type. + + The purpose is to allow a mechanism by which a type descriptor can replace itself with another + descriptor for a specific type. For example, descriptors can be created on the fly to support + generic types through this mechanism. + + The return value should be: + null - if this descriptor is simply skipped for the specified type + this - acts as if the descriptor was a vanilla descriptor + a new descriptor - if a new descriptor should be used in place of this one + + It's recommended that instances of descriptors are cached for future references. One possible way, + to do the caching is to have the generator register the descriptor through . + In that case, it should query whether the type is exactly registered, through + + NOTE-1 : the search for descriptors does NOT stop with the descriptor returned by this type, but + other descriptors (e.g. for interfaces) might still be added. + + NOTE-2 : the descriptor generation mechanism is not triggered on an exact match of types. + + NOTE-3 : the method is called in the context of a lock over the descriptors registry so no unpredictable changes to the + registry can come from other threads during the execution of this method. However this method should not take other + locks, to avoid deadlocks. + + + The type. + Null, this object instance or a new descriptor. + + + + Utility class which may be used to set properties on an object of type T, from values contained in a Lua table. + Properties must be decorated with the . + This is a generic version of . + + The type of the object. + + + + Common interface for property assigners - basically used for sub-assigners + + + + + Assigns the properties of the specified object without checking the type. + + The object. + The data. + + + + Initializes a new instance of the class. + + The expected missing properties, that is expected fields in the table with no corresponding property in the object. + + + + Adds an expected missing property, that is an expected field in the table with no corresponding property in the object. + + The name. + + + + Assigns properties from tables to an object. + + The object. + The table. + Object is null + A field does not correspond to any property and that property is not one of the expected missing ones. + + + + Gets the type-unsafe assigner corresponding to this object. + + + + + + Sets the subassigner for the given type. Pass null to remove usage of subassigner for the given type. + + Type of the property for which the subassigner will be used. + The property assigner. + + + + Sets the subassigner for the given type + + Type of the property for which the subassigner will be used. + The property assigner. + + + + Assigns the properties of the specified object without checking the type. + + The object. + The data. + + + + Utility class which may be used to set properties on an object from values contained in a Lua table. + Properties must be decorated with the . + See for a generic compile time type-safe version. + + + + + Initializes a new instance of the class. + + The type of the object. + The expected missing properties, that is expected fields in the table with no corresponding property in the object. + + Type cannot be a value type. + + + + + Adds an expected missing property, that is an expected field in the table with no corresponding property in the object. + + The name. + + + + Assigns properties from tables to an object. + + The object. + The table. + Object is null + The object is of an incompatible type. + A field does not correspond to any property and that property is not one of the expected missing ones. + + + + Sets the subassigner for the given type. Pass null to remove usage of subassigner for the given type. + + Type of the property for which the subassigner will be used. + The property assigner. + + + + Assigns the properties of the specified object without checking the type. + + The object. + The data. + + + + Implementation of IProxyFactory taking two delegates for simple instancing of proxies. + + The type of the proxy. + The type of the target. + + + + Interface for proxy objects (type safe version) + + The type of the proxy. + The type of the target. + + + + Interface for proxy objects (type unsafe version) + + + + + Takes an instance of a target object and returns a proxy object wrapping it + + + + + Gets the proxied type + + + + + Gets the proxy type + + + + + Takes an instance of a target object and returns a proxy object wrapping it + + + + + Initializes a new instance of the class. + + The proxy. + The deproxy. + + + + Takes an instance of a target object and returns a proxy object wrapping it + + + + + Takes an instance of a target object and returns a proxy object wrapping it + + + + + + + Gets the proxied type + + + + + + Gets the proxy type + + + + + Data descriptor used for proxy objects + + + + + Proxies the specified object. + + The object. + + + + + Performs an "index" "get" operation. + + The script originating the request + The object (null if a static request is done) + The index. + If set to true, it's indexed with a name, if false it's indexed through brackets. + + + + + Performs an "index" "set" operation. + + The script originating the request + The object (null if a static request is done) + The index. + The value to be set + If set to true, it's indexed with a name, if false it's indexed through brackets. + + + + + Converts this userdata to string + + The object. + + + + + Gets a "meta" operation on this userdata. If a descriptor does not support this functionality, + it should return "null" (not a nil). + These standard metamethods can be supported (the return value should be a function accepting the + classic parameters of the corresponding metamethod): + __add, __sub, __mul, __div, __div, __pow, __unm, __eq, __lt, __le, __lt, __len, __concat, + __pairs, __ipairs, __iterator, __call + These standard metamethods are supported through other calls for efficiency: + __index, __newindex, __tostring + + The script originating the request + The object (null if a static request is done) + The name of the metamember. + + + + + Determines whether the specified object is compatible with the specified type. + Unless a very specific behaviour is needed, the correct implementation is a + simple " return type.IsInstanceOfType(obj); " + + The type. + The object. + + + + + Gets the descriptor which describes the proxy object + + + + + Gets the name of the descriptor (usually, the name of the type described). + + + + + Gets the type this descriptor refers to + + + + + Member descriptor which allows to define new members which behave similarly to class instance members + + + + + Class providing easier marshalling of CLR functions + + + + + Initializes this instance. + This *MUST* be called by the constructors extending this class to complete initialization. + + Name of the function. + if set to true [is static]. + The parameters. + if set to true [is extension method]. + + + + Gets a callback function as a delegate + + The script for which the callback must be generated. + The object (null for static). + + + + + Gets the callback function. + + The script for which the callback must be generated. + The object (null for static). + + + + + Gets the callback function as a DynValue. + + The script for which the callback must be generated. + The object (null for static). + + + + + Creates a callback DynValue starting from a MethodInfo. + + The script. + The mi. + The object. + + + + + Builds the argument list. + + The script. + The object. + The context. + The arguments. + Output: A list containing the indices of all "out" parameters, or null if no out parameters are specified. + The arguments, appropriately converted. + + + + Builds the return value of a call + + The script. + The out parameters indices, or null. See . + The parameters passed to the function. + The return value from the function. Use DynValue.Void if the function returned no value. + A DynValue to be returned to scripts + + + + The internal callback which actually executes the method + + The script. + The object. + The context. + The arguments. + + + + + Gets the value of this member as a to be exposed to scripts. + + The script. + The object owning this member, or null if static. + + The value of this member as a . + + + + + Sets the value. + + The script. + The object. + The v. + + + + + Gets a value indicating whether the described method is static. + + + + + Gets the name of the described method + + + + + Gets a sort discriminant to give consistent overload resolution matching in case of perfectly equal scores + + + + + Gets the type of the arguments of the underlying CLR function + + + + + Gets the type which this extension method extends, null if this is not an extension method. + + + + + Gets a value indicating the type of the ParamArray parameter of a var-args function. If the function is not var-args, + null is returned. + + + + + Gets a value indicating the type of the elements of the ParamArray parameter of a var-args function. If the function is not var-args, + null is returned. + + + + + Gets the types of access supported by this member + + + + + Initializes a new instance of the class. + A new member descriptor is defined, which is a function taking no parameters and returning void, doing nothing. + + Name of the function. + + + + Initializes a new instance of the class. + The function described by descriptors created by this callback are defined as if they take no parameters + and thus don't support overload resolution well (unless they really take no parameters) but can freely be + used if no overload resolution is required. + + Name of the function. + The callback function. + + + + Initializes a new instance of the class. + Members defined with this constructor will support overload resolution. + + Name of the function. + The call back. + The parameters. + + + + The internal callback which actually executes the method + + The script. + The object. + The context. + The arguments. + + Standard descriptor for Enum values @@ -1050,19 +1670,19 @@ Gets a value indicating whether this instance describes a flags enumeration. - + Class providing a simple descriptor for constant DynValues in userdata - + - Initializes a new instance of the class. + Initializes a new instance of the class. The name. The value. - + Gets the value of this member as a to be exposed to scripts. @@ -1072,7 +1692,7 @@ The value of this member as a . - + Sets the value of this member from a . @@ -1081,38 +1701,38 @@ The value to be set. userdata '{0}' cannot be written to. - + Gets a value indicating whether the described member is static. - + Gets the name of the member - + Gets the types of access supported by this member - + Gets the value wrapped by this descriptor - + Class providing easier marshalling of CLR events. Handling is limited to a narrow range of handler signatures, which, however, covers in practice most of all available events. - + The maximum number of arguments supported in an event handler delegate - + Tries to create a new StandardUserDataEventDescriptor, returning null in case the method is not visible to script code. @@ -1121,7 +1741,7 @@ The A new StandardUserDataEventDescriptor or null. - + Checks if the event is compatible with a standard descriptor @@ -1142,17 +1762,17 @@ or The event handler has a value type parameter or a by ref parameter or - The event handler signature is not a valid method according to + The event handler signature is not a valid method according to - + - Initializes a new instance of the class. + Initializes a new instance of the class. The ei. The access mode. - + Gets a dynvalue which is a facade supporting add/remove methods which is callable from scripts @@ -1160,7 +1780,7 @@ The object for which the facade should be written. - + Sets the value. @@ -1168,22 +1788,22 @@ The object. The v. - + Gets the EventInfo object of the event described by this descriptor - + Gets a value indicating whether the event described by this descriptor is static. - + Gets the name of the member - + Gets the types of access supported by this member @@ -1233,46 +1853,46 @@ The name of the metamember. - + Class providing easier marshalling of overloaded CLR functions - + - Initializes a new instance of the class. + Initializes a new instance of the class. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The name. The declaring type. The descriptor of the first overloaded method. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The name. The declaring type. The descriptors of the overloaded methods. - + Sets the extension methods snapshot. The version. The ext methods. - + Adds an overload. The overload. - + Performs the overloaded call. @@ -1283,7 +1903,7 @@ function call doesn't match any overload - + Calculates the score for the overload. @@ -1293,7 +1913,7 @@ if set to true, is an extension method. - + Gets a callback function as a delegate @@ -1301,7 +1921,7 @@ The object (null for static). - + Gets the callback function. @@ -1309,7 +1929,7 @@ The object (null for static). - + Gets the value of this member as a to be exposed to scripts. @@ -1319,7 +1939,7 @@ The value of this member as a . - + Sets the value of this member from a . @@ -1328,22 +1948,22 @@ The value to be set. - + Gets or sets a value indicating whether this instance ignores extension methods. - + Gets the name of the first described overload - + Gets the name of the first described overload - + Gets the number of overloaded methods contained in this collection @@ -1351,28 +1971,28 @@ The overload count. - + Gets a value indicating whether there is at least one static method in the resolution list - + Gets the types of access supported by this member - + Comparer class for IOverloadableMemberDescriptor - + Class providing easier marshalling of CLR fields - + Tries to create a new StandardUserDataFieldDescriptor, returning null in case the field is not visible to script code. @@ -1381,14 +2001,14 @@ The A new StandardUserDataFieldDescriptor or null. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The FieldInfo. The - + Gets the value of the property @@ -1396,7 +2016,7 @@ The object. - + Sets the value of the property @@ -1404,56 +2024,56 @@ The object. The value to set. - + Gets the FieldInfo got by reflection - + Gets the - + Gets a value indicating whether the described property is static. - + Gets the name of the property - + Gets a value indicating whether this instance is a constant - + Gets a value indicating whether this instance is readonly - + Gets the types of access supported by this member - + Member descriptor for the default constructor of value types. - + Initializes a new instance of the - class + class representing the default empty ctor for a value type. Type of the value. valueType is not a value type - + Invokes the member from script. Implementors should raise exceptions if the value cannot be executed or if access to an @@ -1465,7 +2085,7 @@ The arguments. - + Gets the value of this member as a to be exposed to scripts. @@ -1478,7 +2098,7 @@ The value of this member as a . - + Sets the value of this member from a . @@ -1489,51 +2109,215 @@ The object owning this member, or null if static. The value to be set. - + Gets a value indicating whether the described method is static. - + Gets the name of the described method - + + + This property is equal to the value type to be constructed. + + + + + Gets the type of the arguments of the underlying CLR function + + + + + Gets the type which this extension method extends, null if this is not an extension method. + + + + + Gets a value indicating the type of the ParamArray parameter of a var-args function. If the function is not var-args, + null is returned. + + + + + Gets a value indicating the type of the elements of the ParamArray parameter of a var-args function. If the function is not var-args, + null is returned. + + + + + Gets a sort discriminant to give consistent overload resolution matching in case of perfectly equal scores + + + + + Gets the types of access supported by this member + + + + + Standard user data descriptor used to instantiate generics. + + + + + Initializes a new instance of the class. + + The type this descriptor refers to. + The interop access mode this descriptor uses for members access + + + + + + + + + + + + + + + + + + + + + + Gets the interop access mode this descriptor uses for members access + + + + + + + + + + + Registry of all extension methods. Use UserData statics to access these. + + + + + Registers an extension Type (that is a type containing extension methods) + + The type. + The InteropAccessMode. + + + + Gets all the extension methods which can match a given name + + The name. + + + + + Gets a number which gets incremented everytime the extension methods registry changes. + Use this to invalidate caches based on extension methods + + + + + + Gets all the extension methods which can match a given name and extending a given Type + + The name. + The extended type. + + + + + Registry of all type descriptors. Use UserData statics to access these. + + + + + Registers all types marked with a MoonSharpUserDataAttribute that ar contained in an assembly. + + The assembly. + if set to true extension types are registered to the appropriate registry. + + + + Determines whether the specified type is registered. Note that this should be used only to check if a descriptor + has been registered EXACTLY. For many types a descriptor can still be created, for example through the descriptor + of a base type or implemented interfaces. + + The type + + + + + Unregisters a type. + WARNING: unregistering types at runtime is a dangerous practice and may cause unwanted errors. + Use this only for testing purposes or to re-register the same type in a slightly different way. + Additionally, it's a good practice to discard all previous loaded scripts after calling this method. + + The The type to be unregistered + + - This property is equal to the value type to be constructed. + Registers a proxy type. + The proxy factory. + The access mode. + Name of the friendly. + - + - Gets the type of the arguments of the underlying CLR function + Registers a type + The type. + The access mode (used only if a default type descriptor is created). + Friendly name of the descriptor. + The descriptor, or null to use a default one. + - + - Gets the type which this extension method extends, null if this is not an extension method. + Resolves the default type of the access mode for the given type + The access mode. + The type. + - + - Gets a value indicating the type of the ParamArray parameter of a var-args function. If the function is not var-args, - null is returned. + Gets the best possible type descriptor for a specified CLR type. + The CLR type for which the descriptor is desired. + if set to true interfaces are used in the search. + - + - Gets a value indicating the type of the elements of the ParamArray parameter of a var-args function. If the function is not var-args, - null is returned. + Determines whether the specified type is blacklisted. + Blacklisted types CANNOT be registered using default descriptors but they can still be registered + with custom descriptors. Forcing registration of blacklisted types in this way can introduce + side effects. + The t. + - + - Gets a sort discriminant to give consistent overload resolution matching in case of perfectly equal scores + Gets or sets the default access mode to be used in the whole application + + The default access mode. + + InteropAccessMode is InteropAccessMode.Default - + - Gets the types of access supported by this member + Gets or sets the registration policy to be used in the whole application @@ -2522,6 +3306,14 @@ + + + Gets or sets the automatic yield counter. + + + The automatic yield counter. + + Possible types of coroutine @@ -2595,6 +3387,26 @@ The access mode (optional). Friendly name for the type (optional) + + + Registers a proxy type. + + The proxy factory. + The access mode. + A friendly name for the descriptor. + + + + + Registers a proxy type using a delegate. + + The type of the proxy. + The type of the target. + A delegate creating a proxy object from a target object. + The access mode. + A friendly name for the descriptor. + + Registers a type with a custom userdata descriptor @@ -2616,6 +3428,24 @@ The assembly. if set to true extension types are registered to the appropriate registry. + + + Determines whether the specified type is registered. Note that this should be used only to check if a descriptor + has been registered EXACTLY. For many types a descriptor can still be created, for example through the descriptor + of a base type or implemented interfaces. + + The type. + + + + + Determines whether the specified type is registered. Note that this should be used only to check if a descriptor + has been registered EXACTLY. For many types a descriptor can still be created, for example through the descriptor + of a base type or implemented interfaces. + + The type. + + Unregisters a type. @@ -2677,11 +3507,12 @@ The type. The InteropAccessMode. - + - Gets all the extension methods which can match a given name + Gets all the extension methods which can match a given name and extending a given Type The name. + The extended type. @@ -2691,6 +3522,29 @@ + + + Gets the best possible type descriptor for a specified CLR type. + + The CLR type for which the descriptor is desired. + if set to true interfaces are used in the search. + + + + + Gets the best possible type descriptor for a specified CLR type. + + The CLR type for which the descriptor is desired. + if set to true interfaces are used in the search. + + + + + Gets the best possible type descriptor for a specified CLR object. + + The object. + + Gets or sets the "uservalue". See debug.getuservalue and debug.setuservalue. @@ -2746,6 +3600,11 @@ The return values of the coroutine + + + Gets or sets a value indicating whether this is a forced yield. + + Wrapper for a debugger initiated action @@ -3309,6 +4168,14 @@ Name of the function. + + + Gets the specified argument as a long integer + + The argument number. + Name of the function. + + Gets the specified argument as a string, calling the __tostring metamethod if needed, in a NON @@ -3600,6 +4467,11 @@ Creates a new writable value initialized to an empty table. + + + Creates a new writable value initialized to with array contents. + + Creates a new request for a tail call. This is the preferred way to execute Lua/MoonSharp code from a callback, @@ -3630,6 +4502,13 @@ The yield argumenst. + + + Creates a new request for a yield of the current coroutine. + + The yield argumenst. + + Creates a new tuple initialized to the specified values. @@ -3717,6 +4596,13 @@ False if value is false or nil, true otherwise. + + + Returns this DynValue as an instance of , if possible, + null otherwise + + False if value is false or nil, true otherwise. + Converts a tuple to a scalar value. If it's already a scalar value, this function returns "this". @@ -4034,6 +4920,14 @@ Gets the current global env, or null if not found. + + + Gets the script owning this resource. + + + The script owning this resource. + + Class representing the source code of a given script @@ -4091,6 +4985,11 @@ Coroutine is suspended + + + Coroutine has been forcefully suspended (i.e. auto-yielded) + + Coroutine is running @@ -4251,6 +5150,66 @@ Gets the type this descriptor refers to + + + A user data descriptor which aggregates multiple descriptors and tries dispatching members + on them, in order. + + Used, for example, for objects implementing multiple interfaces but for which no descriptor is + specifically registered. + + + + + Initializes a new instance of the class. + + The descriptors. + The type. + + + + Performs an "index" "get" operation. + + The script originating the request + The object (null if a static request is done) + The index. + If set to true, it's indexed with a name, if false it's indexed through brackets. + + + + + Performs an "index" "set" operation. + + The script originating the request + The object (null if a static request is done) + The index. + The value to be set + If set to true, it's indexed with a name, if false it's indexed through brackets. + + + + + Converts this userdata to string + + The object. + + + + + Gets a "meta" operation on this userdata. If a descriptor does not support this functionality, + it should return "null" (not a nil). + These standard metamethods can be supported (the return value should be a function accepting the + classic parameters of the corresponding metamethod): + __add, __sub, __mul, __div, __div, __pow, __unm, __eq, __lt, __le, __lt, __len, __concat, + __pairs, __ipairs, __iterator, __call + These standard metamethods are supported through other calls for efficiency: + __index, __newindex, __tostring + + The script originating the request + The object (null if a static request is done) + The name of the metamember. + + Determines whether the specified object is compatible with the specified type. @@ -4261,6 +5220,21 @@ The object. + + + Gets the descriptors aggregated by this object, allowing changes to the descriptor list + + + + + Gets the name of the descriptor (usually, the name of the type described). + + + + + Gets the type this descriptor refers to + + Standard descriptor for userdata types. @@ -4333,14 +5307,22 @@ Use the default access mode - + Class providing easier marshalling of CLR functions - + + + Initializes a new instance of the class. + + The MethodBase (MethodInfo or ConstructorInfo) got through reflection. + The interop access mode. + Invalid accessMode + + - Tries to create a new StandardUserDataMethodDescriptor, returning + Tries to create a new MethodMemberDescriptor, returning null in case the method is not visible to script code. @@ -4348,18 +5330,10 @@ The if set to true forces visibility. - A new StandardUserDataMethodDescriptor or null. + A new MethodMemberDescriptor or null. - - - Initializes a new instance of the class. - - The MethodBase (MethodInfo or ConstructorInfo) got through reflection. - The interop access mode. - Invalid accessMode - - + Checks if the method is compatible with a standard descriptor @@ -4373,40 +5347,7 @@ The method contains pointer parameters, or has a pointer return type - - - Gets a callback function as a delegate - - The script for which the callback must be generated. - The object (null for static). - - - - - Gets the callback function. - - The script for which the callback must be generated. - The object (null for static). - - - - - Gets the callback function as a DynValue. - - The script for which the callback must be generated. - The object (null for static). - - - - - Creates a callback DynValue starting from a MethodInfo. - - The script. - The mi. - The object. - - - + The internal callback which actually executes the method @@ -4416,88 +5357,33 @@ The arguments. - - - Gets the value of this member as a to be exposed to scripts. - - The script. - The object owning this member, or null if static. - - The value of this member as a . - - - + - Sets the value. + Called by standard descriptors when background optimization or preoptimization needs to be performed. - The script. - The object. - The v. - + Out/Ref params cannot be precompiled. - + Gets the method information (can be a MethodInfo or ConstructorInfo) - + Gets the access mode used for interop - - - Gets a value indicating whether the described method is static. - - - - - Gets the name of the described method - - - + Gets a value indicating whether the described method is a constructor - - - Gets a sort discriminant to give consistent overload resolution matching in case of perfectly equal scores - - - - - Gets the type of the arguments of the underlying CLR function - - - - - Gets the type which this extension method extends, null if this is not an extension method. - - - - - Gets a value indicating the type of the ParamArray parameter of a var-args function. If the function is not var-args, - null is returned. - - - - - Gets a value indicating the type of the elements of the ParamArray parameter of a var-args function. If the function is not var-args, - null is returned. - - - - - Gets the types of access supported by this member - - - + Class providing easier marshalling of CLR properties - + Tries to create a new StandardUserDataPropertyDescriptor, returning null in case the property is not visible to script code. @@ -4506,25 +5392,25 @@ The A new StandardUserDataPropertyDescriptor or null. - + - Initializes a new instance of the class. + Initializes a new instance of the class. NOTE: This constructor gives get/set visibility based exclusively on the CLR visibility of the getter and setter methods. The pi. The access mode. - + - Initializes a new instance of the class. + Initializes a new instance of the class. The PropertyInfo. The The getter method. Use null to make the property writeonly. The setter method. Use null to make the property readonly. - + Gets the value of the property @@ -4532,7 +5418,7 @@ The object. - + Sets the value of the property @@ -4540,32 +5426,32 @@ The object. The value to set. - + Called by standard descriptors when background optimization or preoptimization needs to be performed. - + Gets the PropertyInfo got by reflection - + Gets the - + Gets a value indicating whether the described property is static. - + Gets the name of the property - + Gets a value indicating whether this instance can be read from @@ -4573,7 +5459,7 @@ true if this instance can be read from; otherwise, false. - + Gets a value indicating whether this instance can be written to. @@ -4581,7 +5467,7 @@ true if this instance can be written to; otherwise, false. - + Gets the types of access supported by this member @@ -5104,6 +5990,12 @@ if your scripts are stored under Assets/Resources/Scripts, you should pass the value "Scripts". If null, "MoonSharp/Scripts" is used. + + + Initializes a new instance of the class. + + A dictionary mapping filenames to the proper Lua script code. + Opens a file for reading the script code. @@ -6050,6 +6942,15 @@ execution uses this table. + + + Gets or sets a value indicating whether the debugger is enabled. + Note that unless a debugger attached, this property returns a + value which might not reflect the real status of the debugger. + Use this property if you want to disable the debugger for some + executions. + + Gets the source code count. @@ -6079,6 +6980,13 @@ The owner script. + + + Initializes a new instance of the class. + + The owner. + The values for the "array-like" part of the table. + Removes all items from the Table. diff --git a/src/Unity/UnityTestBed/Assets/link.xml b/src/Unity/UnityTestBed/Assets/link.xml index 632ce429..4e99264d 100644 --- a/src/Unity/UnityTestBed/Assets/link.xml +++ b/src/Unity/UnityTestBed/Assets/link.xml @@ -1,6 +1,20 @@ - - + + + + + + + + + + + + + + + + diff --git a/src/Unity/UnityTestBed/ProjectSettings/ProjectSettings.asset b/src/Unity/UnityTestBed/ProjectSettings/ProjectSettings.asset index e145ea1e..bca6a68e 100644 Binary files a/src/Unity/UnityTestBed/ProjectSettings/ProjectSettings.asset and b/src/Unity/UnityTestBed/ProjectSettings/ProjectSettings.asset differ diff --git a/src/Unity/UnityTestBed/UnityTestBed.userprefs b/src/Unity/UnityTestBed/UnityTestBed.userprefs index cd6197f5..0d739706 100644 --- a/src/Unity/UnityTestBed/UnityTestBed.userprefs +++ b/src/Unity/UnityTestBed/UnityTestBed.userprefs @@ -1,7 +1,8 @@  - + + diff --git a/src/Unity/UnityTestBed/UnityVS.UnityTestBed.CSharp.csproj b/src/Unity/UnityTestBed/UnityVS.UnityTestBed.CSharp.csproj index 86d74e5d..253b97e7 100644 --- a/src/Unity/UnityTestBed/UnityVS.UnityTestBed.CSharp.csproj +++ b/src/Unity/UnityTestBed/UnityVS.UnityTestBed.CSharp.csproj @@ -13,10 +13,10 @@ {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} .NETFramework v3.5 - Unity Subset v3.5 + Unity Full v3.5 Game:1 - tvOS:37 + iOS:9 5.3.1f1 @@ -25,7 +25,7 @@ Temp\UnityVS_bin\Debug\ prompt 4 - DEBUG;TRACE;UNITY_5_3_1;UNITY_5_3;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_NETWORK;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_TEXTUREID_MAP;PLAYERCONNECTION_LISTENS_FIXED_PORT;DEBUGGER_LISTENS_FIXED_PORT;PLATFORM_SUPPORTS_ADS_ID;SUPPORT_ENVIRONMENT_VARIABLES;PLATFORM_SUPPORTS_PROFILER;PLATFORM_HAS_NO_SUPPORT_FOR_BUCKET_ALLOCATOR;STRICTCPP_NEW_DELETE_SIGNATURES;WWW_USE_CURL;HAS_NEON_SKINNIG;UNITY_INPUT_SIMULATE_EVENTS;PLATFORM_ALWAYS_USES_STDOUT_FOR_LOG;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;UNITY_TVOS;UNITY_IPHONE_API;ENABLE_IL2CPP;DEVELOPMENT_BUILD;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX;ENABLE_IOS_ON_DEMAND_RESOURCES;ENABLE_IOS_APP_SLICING + DEBUG;TRACE;UNITY_5_3_1;UNITY_5_3;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_NETWORK;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_TEXTUREID_MAP;PLAYERCONNECTION_LISTENS_FIXED_PORT;DEBUGGER_LISTENS_FIXED_PORT;PLATFORM_SUPPORTS_ADS_ID;SUPPORT_ENVIRONMENT_VARIABLES;PLATFORM_SUPPORTS_PROFILER;PLATFORM_HAS_NO_SUPPORT_FOR_BUCKET_ALLOCATOR;STRICTCPP_NEW_DELETE_SIGNATURES;WWW_USE_CURL;HAS_NEON_SKINNIG;UNITY_INPUT_SIMULATE_EVENTS;PLATFORM_ALWAYS_USES_STDOUT_FOR_LOG;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;ENABLE_RUNTIME_GI;UNITY_IOS;UNITY_IPHONE;UNITY_IPHONE_API;SUPPORT_MULTIPLE_DISPLAYS;ENABLE_IL2CPP;DEVELOPMENT_BUILD;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX;ENABLE_IOS_ON_DEMAND_RESOURCES;ENABLE_IOS_APP_SLICING pdbonly @@ -33,7 +33,7 @@ Temp\UnityVS_bin\Release\ prompt 4 - TRACE;UNITY_5_3_1;UNITY_5_3;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_NETWORK;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_TEXTUREID_MAP;PLAYERCONNECTION_LISTENS_FIXED_PORT;DEBUGGER_LISTENS_FIXED_PORT;PLATFORM_SUPPORTS_ADS_ID;SUPPORT_ENVIRONMENT_VARIABLES;PLATFORM_SUPPORTS_PROFILER;PLATFORM_HAS_NO_SUPPORT_FOR_BUCKET_ALLOCATOR;STRICTCPP_NEW_DELETE_SIGNATURES;WWW_USE_CURL;HAS_NEON_SKINNIG;UNITY_INPUT_SIMULATE_EVENTS;PLATFORM_ALWAYS_USES_STDOUT_FOR_LOG;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;UNITY_TVOS;UNITY_IPHONE_API;ENABLE_IL2CPP;DEVELOPMENT_BUILD;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX;ENABLE_IOS_ON_DEMAND_RESOURCES;ENABLE_IOS_APP_SLICING + TRACE;UNITY_5_3_1;UNITY_5_3;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_NETWORK;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_TEXTUREID_MAP;PLAYERCONNECTION_LISTENS_FIXED_PORT;DEBUGGER_LISTENS_FIXED_PORT;PLATFORM_SUPPORTS_ADS_ID;SUPPORT_ENVIRONMENT_VARIABLES;PLATFORM_SUPPORTS_PROFILER;PLATFORM_HAS_NO_SUPPORT_FOR_BUCKET_ALLOCATOR;STRICTCPP_NEW_DELETE_SIGNATURES;WWW_USE_CURL;HAS_NEON_SKINNIG;UNITY_INPUT_SIMULATE_EVENTS;PLATFORM_ALWAYS_USES_STDOUT_FOR_LOG;ENABLE_UNITYADS_RUNTIME;UNITY_UNITYADS_API;ENABLE_RUNTIME_GI;UNITY_IOS;UNITY_IPHONE;UNITY_IPHONE_API;SUPPORT_MULTIPLE_DISPLAYS;ENABLE_IL2CPP;DEVELOPMENT_BUILD;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX;ENABLE_IOS_ON_DEMAND_RESOURCES;ENABLE_IOS_APP_SLICING