Procházet zdrojové kódy

Feature: Added support for ApplyOnDirty, PassByCopy, NotNull and NativeWrapper attributes
- And some fixes to various inspector fields, esp. distribution ones

BearishSun před 7 roky
rodič
revize
bc640b9fb1
100 změnil soubory, kde provedl 553 přidání a 37 odebrání
  1. 2 2
      Source/Scripting/MBansheeEditor/GUI/GUIColorDistributionField.cs
  2. 2 0
      Source/Scripting/MBansheeEditor/GUI/GUIVector2DistributionField.cs
  3. 2 0
      Source/Scripting/MBansheeEditor/GUI/GUIVector3DistributionField.cs
  4. 2 0
      Source/Scripting/MBansheeEditor/Generated/GUIColorDistributionField.generated.cs
  5. 1 0
      Source/Scripting/MBansheeEditor/Generated/GUIColorGradient.generated.cs
  6. 1 0
      Source/Scripting/MBansheeEditor/Generated/GUIColorGradientField.generated.cs
  7. 1 0
      Source/Scripting/MBansheeEditor/Generated/GUICurves.generated.cs
  8. 3 0
      Source/Scripting/MBansheeEditor/Generated/GUICurvesField.generated.cs
  9. 3 0
      Source/Scripting/MBansheeEditor/Generated/GUIFloatDistributionField.generated.cs
  10. 1 0
      Source/Scripting/MBansheeEditor/Generated/GUIGraphTicks.generated.cs
  11. 5 0
      Source/Scripting/MBansheeEditor/Generated/GUITimeline.generated.cs
  12. 3 0
      Source/Scripting/MBansheeEditor/Generated/GUIVector2DistributionField.generated.cs
  13. 3 0
      Source/Scripting/MBansheeEditor/Generated/GUIVector3DistributionField.generated.cs
  14. 1 1
      Source/Scripting/MBansheeEditor/Windows/Animation/GUIFieldSelector.cs
  15. 1 1
      Source/Scripting/MBansheeEditor/Windows/Inspector/GenericInspector.cs
  16. 69 9
      Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableArray.cs
  17. 1 1
      Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableColorDistribution.cs
  18. 0 2
      Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableDictionary.cs
  19. 4 4
      Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableField.cs
  20. 1 1
      Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableFloat.cs
  21. 1 1
      Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableInt.cs
  22. 30 10
      Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableObject.cs
  23. 17 2
      Source/Scripting/MBansheeEditor/Windows/Inspector/Style/InspectableFieldStyle.cs
  24. 54 3
      Source/Scripting/MBansheeEditor/Windows/Inspector/Style/InspectableFieldStyleInfo.cs
  25. 8 0
      Source/Scripting/MBansheeEngine/Generated/AmbientOcclusionSettings.generated.cs
  26. 7 0
      Source/Scripting/MBansheeEngine/Generated/AnimationClip.generated.cs
  27. 4 0
      Source/Scripting/MBansheeEngine/Generated/AnimationCurves.generated.cs
  28. 2 0
      Source/Scripting/MBansheeEngine/Generated/AsyncOpEx.generated.cs
  29. 5 0
      Source/Scripting/MBansheeEngine/Generated/Audio.generated.cs
  30. 8 0
      Source/Scripting/MBansheeEngine/Generated/AudioClip.generated.cs
  31. 8 0
      Source/Scripting/MBansheeEngine/Generated/AutoExposureSettings.generated.cs
  32. 5 0
      Source/Scripting/MBansheeEngine/Generated/BloomSettings.generated.cs
  33. 7 0
      Source/Scripting/MBansheeEngine/Generated/CAnimation.generated.cs
  34. 10 0
      Source/Scripting/MBansheeEngine/Generated/CAudioSource.generated.cs
  35. 1 0
      Source/Scripting/MBansheeEngine/Generated/CBone.generated.cs
  36. 2 0
      Source/Scripting/MBansheeEngine/Generated/CBoxCollider.generated.cs
  37. 15 0
      Source/Scripting/MBansheeEngine/Generated/CCamera.generated.cs
  38. 4 0
      Source/Scripting/MBansheeEngine/Generated/CCapsuleCollider.generated.cs
  39. 11 0
      Source/Scripting/MBansheeEngine/Generated/CCharacterController.generated.cs
  40. 7 0
      Source/Scripting/MBansheeEngine/Generated/CCollider.generated.cs
  41. 10 0
      Source/Scripting/MBansheeEngine/Generated/CD6Joint.generated.cs
  42. 5 0
      Source/Scripting/MBansheeEngine/Generated/CDecal.generated.cs
  43. 5 0
      Source/Scripting/MBansheeEngine/Generated/CDistanceJoint.generated.cs
  44. 4 0
      Source/Scripting/MBansheeEngine/Generated/CHingeJoint.generated.cs
  45. 3 0
      Source/Scripting/MBansheeEngine/Generated/CJoint.generated.cs
  46. 11 0
      Source/Scripting/MBansheeEngine/Generated/CLight.generated.cs
  47. 2 0
      Source/Scripting/MBansheeEngine/Generated/CLightProbeVolume.generated.cs
  48. 1 0
      Source/Scripting/MBansheeEngine/Generated/CMeshCollider.generated.cs
  49. 7 0
      Source/Scripting/MBansheeEngine/Generated/CParticleSystem.generated.cs
  50. 2 0
      Source/Scripting/MBansheeEngine/Generated/CPlaneCollider.generated.cs
  51. 4 0
      Source/Scripting/MBansheeEngine/Generated/CReflectionProbe.generated.cs
  52. 4 0
      Source/Scripting/MBansheeEngine/Generated/CRenderable.generated.cs
  53. 17 0
      Source/Scripting/MBansheeEngine/Generated/CRigidbody.generated.cs
  54. 2 0
      Source/Scripting/MBansheeEngine/Generated/CSkybox.generated.cs
  55. 3 0
      Source/Scripting/MBansheeEngine/Generated/CSliderJoint.generated.cs
  56. 2 0
      Source/Scripting/MBansheeEngine/Generated/CSphereCollider.generated.cs
  57. 1 0
      Source/Scripting/MBansheeEngine/Generated/CSphericalJoint.generated.cs
  58. 1 0
      Source/Scripting/MBansheeEngine/Generated/ColorDistribution.generated.cs
  59. 1 0
      Source/Scripting/MBansheeEngine/Generated/ColorGradient.generated.cs
  60. 4 0
      Source/Scripting/MBansheeEngine/Generated/ColorGradingSettings.generated.cs
  61. 7 0
      Source/Scripting/MBansheeEngine/Generated/DepthOfFieldSettings.generated.cs
  62. 6 0
      Source/Scripting/MBansheeEngine/Generated/FontBitmap.generated.cs
  63. 1 0
      Source/Scripting/MBansheeEngine/Generated/Material.generated.cs
  64. 5 0
      Source/Scripting/MBansheeEngine/Generated/Mesh.generated.cs
  65. 2 0
      Source/Scripting/MBansheeEngine/Generated/MorphChannel.generated.cs
  66. 2 0
      Source/Scripting/MBansheeEngine/Generated/MorphShape.generated.cs
  67. 1 0
      Source/Scripting/MBansheeEngine/Generated/MorphShapes.generated.cs
  68. 3 0
      Source/Scripting/MBansheeEngine/Generated/ParticleCollisions.generated.cs
  69. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleColor.generated.cs
  70. 4 0
      Source/Scripting/MBansheeEngine/Generated/ParticleDepthCollisionSettings.generated.cs
  71. 15 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitter.generated.cs
  72. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitterBoxShape.generated.cs
  73. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitterCircleShape.generated.cs
  74. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitterConeShape.generated.cs
  75. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitterHemisphereShape.generated.cs
  76. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitterLineShape.generated.cs
  77. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitterRectShape.generated.cs
  78. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitterSkinnedMeshShape.generated.cs
  79. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitterSphereShape.generated.cs
  80. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleEmitterStaticMeshShape.generated.cs
  81. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleForce.generated.cs
  82. 6 0
      Source/Scripting/MBansheeEngine/Generated/ParticleGpuSimulationSettings.generated.cs
  83. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleGravity.generated.cs
  84. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleOrbit.generated.cs
  85. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleRotation.generated.cs
  86. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleSize.generated.cs
  87. 16 0
      Source/Scripting/MBansheeEngine/Generated/ParticleSystemSettings.generated.cs
  88. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleTextureAnimation.generated.cs
  89. 10 0
      Source/Scripting/MBansheeEngine/Generated/ParticleVectorFieldSettings.generated.cs
  90. 1 0
      Source/Scripting/MBansheeEngine/Generated/ParticleVelocity.generated.cs
  91. 2 0
      Source/Scripting/MBansheeEngine/Generated/Physics.generated.cs
  92. 3 0
      Source/Scripting/MBansheeEngine/Generated/PhysicsMaterial.generated.cs
  93. 2 0
      Source/Scripting/MBansheeEngine/Generated/PhysicsMesh.generated.cs
  94. 6 0
      Source/Scripting/MBansheeEngine/Generated/PixelData.generated.cs
  95. 20 0
      Source/Scripting/MBansheeEngine/Generated/RenderSettings.generated.cs
  96. 5 0
      Source/Scripting/MBansheeEngine/Generated/RenderTarget.generated.cs
  97. 3 0
      Source/Scripting/MBansheeEngine/Generated/RenderTexture.generated.cs
  98. 10 0
      Source/Scripting/MBansheeEngine/Generated/RendererMeshData.generated.cs
  99. 2 0
      Source/Scripting/MBansheeEngine/Generated/RootMotion.generated.cs
  100. 4 0
      Source/Scripting/MBansheeEngine/Generated/ScreenSpaceReflectionsSettings.generated.cs

+ 2 - 2
Source/Scripting/MBansheeEditor/GUI/GUIColorDistributionField.cs

@@ -22,7 +22,7 @@ namespace BansheeEditor
                     if (!success)
                     if (!success)
                         return;
                         return;
 
 
-                    if (distribution.DistributionType == PropertyDistributionType.Constant)
+                    if (DistributionType == PropertyDistributionType.Constant)
                         Value = new ColorDistribution(value);
                         Value = new ColorDistribution(value);
                     else
                     else
                         Value = new ColorDistribution(value, distribution.GetMaxConstant());
                         Value = new ColorDistribution(value, distribution.GetMaxConstant());
@@ -38,7 +38,7 @@ namespace BansheeEditor
                     if (!success)
                     if (!success)
                         return;
                         return;
 
 
-                    if(distribution.DistributionType == PropertyDistributionType.Curve)
+                    if(DistributionType == PropertyDistributionType.Curve)
                         Value = new ColorDistribution(colorGradient);
                         Value = new ColorDistribution(colorGradient);
                     else
                     else
                         Value = new ColorDistribution(colorGradient, distribution.GetMaxGradient());
                         Value = new ColorDistribution(colorGradient, distribution.GetMaxGradient());

+ 2 - 0
Source/Scripting/MBansheeEditor/GUI/GUIVector2DistributionField.cs

@@ -34,6 +34,7 @@ namespace BansheeEditor
                         Vector2Curve compoundCurve = AnimationUtility.CombineCurve2D(curves);
                         Vector2Curve compoundCurve = AnimationUtility.CombineCurve2D(curves);
                         Value = new Vector2Distribution(compoundCurve);
                         Value = new Vector2Distribution(compoundCurve);
                         OnChanged?.Invoke();
                         OnChanged?.Invoke();
+                        OnConfirmed?.Invoke();
                     });
                     });
                 }
                 }
             }
             }
@@ -58,6 +59,7 @@ namespace BansheeEditor
 
 
                             Value = new Vector2Distribution(minCompoundCurves, maxCompoundCurves);
                             Value = new Vector2Distribution(minCompoundCurves, maxCompoundCurves);
                             OnChanged?.Invoke();
                             OnChanged?.Invoke();
+                            OnConfirmed?.Invoke();
                         });
                         });
                 }
                 }
             }
             }

+ 2 - 0
Source/Scripting/MBansheeEditor/GUI/GUIVector3DistributionField.cs

@@ -34,6 +34,7 @@ namespace BansheeEditor
                         Vector3Curve compoundCurve = AnimationUtility.CombineCurve3D(curves);
                         Vector3Curve compoundCurve = AnimationUtility.CombineCurve3D(curves);
                         Value = new Vector3Distribution(compoundCurve);
                         Value = new Vector3Distribution(compoundCurve);
                         OnChanged?.Invoke();
                         OnChanged?.Invoke();
+                        OnConfirmed?.Invoke();
                     });
                     });
                 }
                 }
             }
             }
@@ -58,6 +59,7 @@ namespace BansheeEditor
 
 
                             Value = new Vector3Distribution(minCompoundCurves, maxCompoundCurves);
                             Value = new Vector3Distribution(minCompoundCurves, maxCompoundCurves);
                             OnChanged?.Invoke();
                             OnChanged?.Invoke();
+                            OnConfirmed?.Invoke();
                         });
                         });
                 }
                 }
             }
             }

+ 2 - 0
Source/Scripting/MBansheeEditor/Generated/GUIColorDistributionField.generated.cs

@@ -77,6 +77,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Changes the value of the field.</summary>
 		/// <summary>Changes the value of the field.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ColorDistribution Value
 		public ColorDistribution Value
 		{
 		{
 			get { return Internal_getValue(mCachedPtr); }
 			get { return Internal_getValue(mCachedPtr); }
@@ -85,6 +86,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Returns the type of the currently selected distribution.</summary>
 		/// <summary>Returns the type of the currently selected distribution.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public PropertyDistributionType DistributionType
 		public PropertyDistributionType DistributionType
 		{
 		{
 			get { return Internal_getType(mCachedPtr); }
 			get { return Internal_getType(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEditor/Generated/GUIColorGradient.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Color gradient to display.</summary>
 		/// <summary>Color gradient to display.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ColorGradient Gradient
 		public ColorGradient Gradient
 		{
 		{
 			get { return Internal_getGradient(mCachedPtr); }
 			get { return Internal_getGradient(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEditor/Generated/GUIColorGradientField.generated.cs

@@ -77,6 +77,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Changes the value of the field.</summary>
 		/// <summary>Changes the value of the field.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ColorGradient Value
 		public ColorGradient Value
 		{
 		{
 			get { return Internal_getValue(mCachedPtr); }
 			get { return Internal_getValue(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEditor/Generated/GUICurves.generated.cs

@@ -39,6 +39,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Animation curves to display.</summary>
 		/// <summary>Animation curves to display.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public CurveDrawInfo[] Curves
 		public CurveDrawInfo[] Curves
 		{
 		{
 			get { return Internal_getCurves(mCachedPtr); }
 			get { return Internal_getCurves(mCachedPtr); }

+ 3 - 0
Source/Scripting/MBansheeEditor/Generated/GUICurvesField.generated.cs

@@ -80,6 +80,7 @@ namespace BansheeEditor
 		/// that range.
 		/// that range.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AnimationCurve Curve
 		public AnimationCurve Curve
 		{
 		{
 			get { return Internal_getCurve(mCachedPtr); }
 			get { return Internal_getCurve(mCachedPtr); }
@@ -90,6 +91,7 @@ namespace BansheeEditor
 		/// field doesn't represent a range.
 		/// field doesn't represent a range.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AnimationCurve MinCurve
 		public AnimationCurve MinCurve
 		{
 		{
 			get { return Internal_getMinCurve(mCachedPtr); }
 			get { return Internal_getMinCurve(mCachedPtr); }
@@ -100,6 +102,7 @@ namespace BansheeEditor
 		/// field doesn't represent a range.
 		/// field doesn't represent a range.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AnimationCurve MaxCurve
 		public AnimationCurve MaxCurve
 		{
 		{
 			get { return Internal_getMaxCurve(mCachedPtr); }
 			get { return Internal_getMaxCurve(mCachedPtr); }

+ 3 - 0
Source/Scripting/MBansheeEditor/Generated/GUIFloatDistributionField.generated.cs

@@ -77,6 +77,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Changes the value of the field.</summary>
 		/// <summary>Changes the value of the field.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public FloatDistribution Value
 		public FloatDistribution Value
 		{
 		{
 			get { return Internal_getValue(mCachedPtr); }
 			get { return Internal_getValue(mCachedPtr); }
@@ -85,6 +86,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Returns the type of the currently selected distribution.</summary>
 		/// <summary>Returns the type of the currently selected distribution.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public PropertyDistributionType DistributionType
 		public PropertyDistributionType DistributionType
 		{
 		{
 			get { return Internal_getType(mCachedPtr); }
 			get { return Internal_getType(mCachedPtr); }
@@ -94,6 +96,7 @@ namespace BansheeEditor
 		/// Checks if any of the float input fields currently have input focus. Only relevant for non-curve distributions.
 		/// Checks if any of the float input fields currently have input focus. Only relevant for non-curve distributions.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool HasInputFocus
 		public bool HasInputFocus
 		{
 		{
 			get { return Internal_hasInputFocus(mCachedPtr); }
 			get { return Internal_hasInputFocus(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEditor/Generated/GUIGraphTicks.generated.cs

@@ -30,6 +30,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Number of tick levels that will be generated.</summary>
 		/// <summary>Number of tick levels that will be generated.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint NumLevels
 		public uint NumLevels
 		{
 		{
 			get { return Internal_getNumLevels(mCachedPtr); }
 			get { return Internal_getNumLevels(mCachedPtr); }

+ 5 - 0
Source/Scripting/MBansheeEditor/Generated/GUITimeline.generated.cs

@@ -20,6 +20,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Determines the range of values to display on the timeline, in seconds.</summary>
 		/// <summary>Determines the range of values to display on the timeline, in seconds.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Range
 		public float Range
 		{
 		{
 			get { return Internal_getRange(mCachedPtr); }
 			get { return Internal_getRange(mCachedPtr); }
@@ -28,6 +29,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Determines the offset at which the displayed timeline values start at, in seconds.</summary>
 		/// <summary>Determines the offset at which the displayed timeline values start at, in seconds.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Offset
 		public float Offset
 		{
 		{
 			get { return Internal_getOffset(mCachedPtr); }
 			get { return Internal_getOffset(mCachedPtr); }
@@ -36,6 +38,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Number of frames per second, used for frame selection and marking.</summary>
 		/// <summary>Number of frames per second, used for frame selection and marking.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint FPS
 		public uint FPS
 		{
 		{
 			get { return Internal_getFPS(mCachedPtr); }
 			get { return Internal_getFPS(mCachedPtr); }
@@ -44,6 +47,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Frame to display the frame marker on. Set to -1 to clear the frame marker.</summary>
 		/// <summary>Frame to display the frame marker on. Set to -1 to clear the frame marker.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint MarkedFrame
 		public uint MarkedFrame
 		{
 		{
 			get { return Internal_setMarkedFrame0(mCachedPtr); }
 			get { return Internal_setMarkedFrame0(mCachedPtr); }
@@ -52,6 +56,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Sets the size of padding to apply to the left and right sides of the curve drawing, in pixels.</summary>
 		/// <summary>Sets the size of padding to apply to the left and right sides of the curve drawing, in pixels.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint Padding
 		public uint Padding
 		{
 		{
 			get { return Internal_getPadding(mCachedPtr); }
 			get { return Internal_getPadding(mCachedPtr); }

+ 3 - 0
Source/Scripting/MBansheeEditor/Generated/GUIVector2DistributionField.generated.cs

@@ -77,6 +77,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Changes the value of the field.</summary>
 		/// <summary>Changes the value of the field.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector2Distribution Value
 		public Vector2Distribution Value
 		{
 		{
 			get { return Internal_getValue(mCachedPtr); }
 			get { return Internal_getValue(mCachedPtr); }
@@ -85,6 +86,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Returns the type of the currently selected distribution.</summary>
 		/// <summary>Returns the type of the currently selected distribution.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public PropertyDistributionType DistributionType
 		public PropertyDistributionType DistributionType
 		{
 		{
 			get { return Internal_getType(mCachedPtr); }
 			get { return Internal_getType(mCachedPtr); }
@@ -94,6 +96,7 @@ namespace BansheeEditor
 		/// Checks if any of the float input fields currently have input focus. Only relevant for non-curve distributions.
 		/// Checks if any of the float input fields currently have input focus. Only relevant for non-curve distributions.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool HasInputFocus
 		public bool HasInputFocus
 		{
 		{
 			get { return Internal_hasInputFocus(mCachedPtr); }
 			get { return Internal_hasInputFocus(mCachedPtr); }

+ 3 - 0
Source/Scripting/MBansheeEditor/Generated/GUIVector3DistributionField.generated.cs

@@ -77,6 +77,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Changes the value of the field.</summary>
 		/// <summary>Changes the value of the field.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3Distribution Value
 		public Vector3Distribution Value
 		{
 		{
 			get { return Internal_getValue(mCachedPtr); }
 			get { return Internal_getValue(mCachedPtr); }
@@ -85,6 +86,7 @@ namespace BansheeEditor
 
 
 		/// <summary>Returns the type of the currently selected distribution.</summary>
 		/// <summary>Returns the type of the currently selected distribution.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public PropertyDistributionType DistributionType
 		public PropertyDistributionType DistributionType
 		{
 		{
 			get { return Internal_getType(mCachedPtr); }
 			get { return Internal_getType(mCachedPtr); }
@@ -94,6 +96,7 @@ namespace BansheeEditor
 		/// Checks if any of the float input fields currently have input focus. Only relevant for non-curve distributions.
 		/// Checks if any of the float input fields currently have input focus. Only relevant for non-curve distributions.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool HasInputFocus
 		public bool HasInputFocus
 		{
 		{
 			get { return Internal_hasInputFocus(mCachedPtr); }
 			get { return Internal_hasInputFocus(mCachedPtr); }

+ 1 - 1
Source/Scripting/MBansheeEditor/Windows/Animation/GUIFieldSelector.cs

@@ -237,7 +237,7 @@ namespace BansheeEditor
             List<Element> elements = new List<Element>(); 
             List<Element> elements = new List<Element>(); 
             foreach (var field in serializableObject.Fields)
             foreach (var field in serializableObject.Fields)
             {
             {
-                if (!field.Animable)
+                if (!field.Flags.HasFlag(SerializableFieldAttributes.Animable))
                     continue;
                     continue;
 
 
                 string propertyPath = parent.path + "/" + field.Name;
                 string propertyPath = parent.path + "/" + field.Name;

+ 1 - 1
Source/Scripting/MBansheeEditor/Windows/Inspector/GenericInspector.cs

@@ -30,7 +30,7 @@ namespace BansheeEditor
                 SerializableObject serializableObject = new SerializableObject(InspectedObject.GetType(), InspectedObject);
                 SerializableObject serializableObject = new SerializableObject(InspectedObject.GetType(), InspectedObject);
                 foreach (var field in serializableObject.Fields)
                 foreach (var field in serializableObject.Fields)
                 {
                 {
-                    if (!field.Inspectable)
+                    if (!field.Flags.HasFlag(SerializableFieldAttributes.Inspectable))
                         continue;
                         continue;
                     
                     
                     string path = field.Name;
                     string path = field.Name;

+ 69 - 9
Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableArray.cs

@@ -16,6 +16,15 @@ namespace BansheeEditor
     public class InspectableArray : InspectableField
     public class InspectableArray : InspectableField
     {
     {
         private InspectableArrayGUI arrayGUIField;
         private InspectableArrayGUI arrayGUIField;
+        private InspectableFieldStyleInfo style;
+
+        /// <summary>
+        /// Style applied to the elements of the array and the array itself.
+        /// </summary>
+        internal InspectableFieldStyleInfo Style
+        {
+            get { return style; }
+        }
 
 
         /// <summary>
         /// <summary>
         /// Creates a new inspectable array GUI for the specified property.
         /// Creates a new inspectable array GUI for the specified property.
@@ -27,11 +36,12 @@ namespace BansheeEditor
         ///                     contain other fields, in which case you should increase this value by one.</param>
         ///                     contain other fields, in which case you should increase this value by one.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="property">Serializable property referencing the array whose contents to display.</param>
         /// <param name="property">Serializable property referencing the array whose contents to display.</param>
+        /// <param name="style">Information that can be used for customizing field rendering and behaviour.</param>
         public InspectableArray(Inspector parent, string title, string path, int depth, InspectableFieldLayout layout, 
         public InspectableArray(Inspector parent, string title, string path, int depth, InspectableFieldLayout layout, 
-            SerializableProperty property)
+            SerializableProperty property, InspectableFieldStyleInfo style)
             : base(parent, title, path, SerializableProperty.FieldType.Array, depth, layout, property)
             : base(parent, title, path, SerializableProperty.FieldType.Array, depth, layout, property)
         {
         {
-
+            this.style = style;
         }
         }
 
 
         /// <inheritdoc/>
         /// <inheritdoc/>
@@ -51,7 +61,7 @@ namespace BansheeEditor
         {
         {
             GUILayout arrayLayout = layout.AddLayoutY(layoutIndex);
             GUILayout arrayLayout = layout.AddLayoutY(layoutIndex);
 
 
-            arrayGUIField = InspectableArrayGUI.Create(parent, title, path, property, arrayLayout, depth);
+            arrayGUIField = InspectableArrayGUI.Create(parent, title, path, property, arrayLayout, depth, style);
             arrayGUIField.IsExpanded = parent.Persistent.GetBool(path + "_Expanded");
             arrayGUIField.IsExpanded = parent.Persistent.GetBool(path + "_Expanded");
             arrayGUIField.OnExpand += x => parent.Persistent.SetBool(path + "_Expanded", x);
             arrayGUIField.OnExpand += x => parent.Persistent.SetBool(path + "_Expanded", x);
         }
         }
@@ -66,6 +76,7 @@ namespace BansheeEditor
             private Inspector parent;
             private Inspector parent;
             private SerializableProperty property;
             private SerializableProperty property;
             private string path;
             private string path;
+            private InspectableFieldStyleInfo style;
 
 
             /// <summary>
             /// <summary>
             /// Returns the parent inspector the array GUI belongs to.
             /// Returns the parent inspector the array GUI belongs to.
@@ -83,6 +94,14 @@ namespace BansheeEditor
                 get { return path; }
                 get { return path; }
             }
             }
 
 
+            /// <summary>
+            /// Style applied to the elements of the array and the array itself.
+            /// </summary>
+            public InspectableFieldStyleInfo Style
+            {
+                get { return style; }
+            }
+
             /// <summary>
             /// <summary>
             /// Constructs a new inspectable array GUI.
             /// Constructs a new inspectable array GUI.
             /// </summary>
             /// </summary>
@@ -95,13 +114,15 @@ namespace BansheeEditor
             /// <param name="depth">Determines at which depth to render the background. Useful when you have multiple
             /// <param name="depth">Determines at which depth to render the background. Useful when you have multiple
             ///                     nested containers whose backgrounds are overlaping. Also determines background style,
             ///                     nested containers whose backgrounds are overlaping. Also determines background style,
             ///                     depths divisible by two will use an alternate style.</param>
             ///                     depths divisible by two will use an alternate style.</param>
+            /// <param name="style">Information that can be used for customizing field rendering and behaviour.</param>
             public InspectableArrayGUI(Inspector parent, LocString title, string path, SerializableProperty property, 
             public InspectableArrayGUI(Inspector parent, LocString title, string path, SerializableProperty property, 
-                GUILayout layout, int depth)
+                GUILayout layout, int depth, InspectableFieldStyleInfo style)
                 : base(title, layout, depth)
                 : base(title, layout, depth)
             {
             {
                 this.property = property;
                 this.property = property;
                 this.parent = parent;
                 this.parent = parent;
                 this.path = path;
                 this.path = path;
+                this.style = style;
 
 
                 array = property.GetValue<Array>();
                 array = property.GetValue<Array>();
                 if (array != null)
                 if (array != null)
@@ -120,10 +141,11 @@ namespace BansheeEditor
             /// <param name="depth">Determines at which depth to render the background. Useful when you have multiple
             /// <param name="depth">Determines at which depth to render the background. Useful when you have multiple
             ///                     nested containers whose backgrounds are overlaping. Also determines background style,
             ///                     nested containers whose backgrounds are overlaping. Also determines background style,
             ///                     depths divisible by two will use an alternate style.</param>
             ///                     depths divisible by two will use an alternate style.</param>
+            /// <param name="style">Information that can be used for customizing field rendering and behaviour.</param>
             public static InspectableArrayGUI Create(Inspector parent, LocString title, string path, 
             public static InspectableArrayGUI Create(Inspector parent, LocString title, string path, 
-                SerializableProperty property, GUILayout layout, int depth)
+                SerializableProperty property, GUILayout layout, int depth, InspectableFieldStyleInfo style)
             {
             {
-                InspectableArrayGUI guiArray = new InspectableArrayGUI(parent, title, path, property, layout, depth);
+                InspectableArrayGUI guiArray = new InspectableArrayGUI(parent, title, path, property, layout, depth, style);
                 guiArray.BuildGUI();
                 guiArray.BuildGUI();
                 
                 
                 return guiArray;
                 return guiArray;
@@ -185,9 +207,36 @@ namespace BansheeEditor
             /// <inheritdoc/>
             /// <inheritdoc/>
             protected internal override object GetValue(int seqIndex)
             protected internal override object GetValue(int seqIndex)
             {
             {
-                SerializableArray array = property.GetArray();
+                SerializableArray serzArray = property.GetArray();
+
+                // Create a property wrapper for native arrays so we get notified when the array values change
+                if (style.StyleFlags.HasFlag(InspectableFieldStyleFlags.NativeWrapper))
+                {
+                    SerializableProperty.Getter getter = () =>
+                    {
+                        Array array = property.GetValue<Array>();
 
 
-                return array.GetProperty(seqIndex);
+                        if (array != null)
+                            return array.GetValue(seqIndex);
+                        else
+                            return null;
+                    };
+
+                    SerializableProperty.Setter setter = (object value) =>
+                    {
+                        Array array = property.GetValue<Array>();
+
+                        if (array != null)
+                        {
+                            array.SetValue(value, seqIndex);
+                            property.SetValue(array);
+                        }
+                    };
+
+                    return new SerializableProperty(serzArray.ElementPropertyType, serzArray.ElementType, getter, setter);
+                }
+                else
+                    return serzArray.GetProperty(seqIndex);
             }
             }
 
 
             /// <inheritdoc/>
             /// <inheritdoc/>
@@ -287,6 +336,10 @@ namespace BansheeEditor
 
 
                     array.SetValue(array.GetValue(index), index - 1);
                     array.SetValue(array.GetValue(index), index - 1);
                     array.SetValue(previousEntry, index);
                     array.SetValue(previousEntry, index);
+
+                    // Natively wrapped arrays are passed by copy
+                    if(style.StyleFlags.HasFlag(InspectableFieldStyleFlags.NativeWrapper))
+                        property.SetValue(array);
                 }
                 }
             }
             }
 
 
@@ -299,6 +352,10 @@ namespace BansheeEditor
 
 
                     array.SetValue(array.GetValue(index), index + 1);
                     array.SetValue(array.GetValue(index), index + 1);
                     array.SetValue(nextEntry, index);
                     array.SetValue(nextEntry, index);
+
+                    // Natively wrapped arrays are passed by copy
+                    if(style.StyleFlags.HasFlag(InspectableFieldStyleFlags.NativeWrapper))
+                        property.SetValue(array);
                 }
                 }
             }
             }
         }
         }
@@ -316,9 +373,12 @@ namespace BansheeEditor
                 InspectableArrayGUI arrayParent = (InspectableArrayGUI)parent;
                 InspectableArrayGUI arrayParent = (InspectableArrayGUI)parent;
                 SerializableProperty property = GetValue<SerializableProperty>();
                 SerializableProperty property = GetValue<SerializableProperty>();
 
 
+                InspectableFieldStyleInfo styleInfo = arrayParent.Style.Clone();
+                styleInfo.StyleFlags &= ~InspectableFieldStyleFlags.NativeWrapper;
+
                 string entryPath = arrayParent.Path + "[" + SeqIndex + "]";
                 string entryPath = arrayParent.Path + "[" + SeqIndex + "]";
                 field = CreateInspectable(arrayParent.Inspector, SeqIndex + ".", entryPath, 0, Depth + 1,
                 field = CreateInspectable(arrayParent.Inspector, SeqIndex + ".", entryPath, 0, Depth + 1,
-                    new InspectableFieldLayout(layout), property);
+                    new InspectableFieldLayout(layout), property, styleInfo);
 
 
                 return field.GetTitleLayout();
                 return field.GetTitleLayout();
             }
             }

+ 1 - 1
Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableColorDistribution.cs

@@ -63,7 +63,7 @@ namespace BansheeEditor
         private void OnFieldValueChanged()
         private void OnFieldValueChanged()
         {
         {
             property.SetValue(guiDistributionField.Value);
             property.SetValue(guiDistributionField.Value);
-            state |= InspectableState.ModifyInProgress;
+            state |= InspectableState.ModifyInProgress | InspectableState.Modified;
         }
         }
     }
     }
 
 

+ 0 - 2
Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableDictionary.cs

@@ -138,7 +138,6 @@ namespace BansheeEditor
                 return guiDictionary;
                 return guiDictionary;
             }
             }
 
 
-
             /// <inheritdoc/>
             /// <inheritdoc/>
             public override InspectableState Refresh()
             public override InspectableState Refresh()
             {
             {
@@ -171,7 +170,6 @@ namespace BansheeEditor
                 return base.Refresh();
                 return base.Refresh();
             }
             }
 
 
-
             /// <summary>
             /// <summary>
             /// Updates the ordered set of keys used for mapping sequential indexes to keys. Should be called whenever a 
             /// Updates the ordered set of keys used for mapping sequential indexes to keys. Should be called whenever a 
             /// dictionary key changes.
             /// dictionary key changes.

+ 4 - 4
Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableField.cs

@@ -129,7 +129,7 @@ namespace BansheeEditor
         ///                     contain other fields, in which case you should increase this value by one.</param>
         ///                     contain other fields, in which case you should increase this value by one.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="property">Serializable property referencing the array whose contents to display.</param>
         /// <param name="property">Serializable property referencing the array whose contents to display.</param>
-        /// <param name="style">Information related the field style</param>
+        /// <param name="style">Information that can be used for customizing field rendering and behaviour.</param>
         /// <returns>Inspectable field implementation that can be used for displaying the GUI for a serializable property
         /// <returns>Inspectable field implementation that can be used for displaying the GUI for a serializable property
         ///          of the provided type.</returns>
         ///          of the provided type.</returns>
         public static InspectableField CreateInspectable(Inspector parent, string title, string path, int layoutIndex, 
         public static InspectableField CreateInspectable(Inspector parent, string title, string path, int layoutIndex, 
@@ -151,7 +151,7 @@ namespace BansheeEditor
                 switch (property.Type)
                 switch (property.Type)
                 {
                 {
                     case SerializableProperty.FieldType.Int:
                     case SerializableProperty.FieldType.Int:
-                        if (style != null && style.StyleFlags.HasFlag(InstectableFieldStyleFlags.UseLayerMask))
+                        if (style != null && style.StyleFlags.HasFlag(InspectableFieldStyleFlags.UseLayerMask))
                             field = new InspectableLayerMask(parent, title, path, depth, layout, property);
                             field = new InspectableLayerMask(parent, title, path, depth, layout, property);
                         else
                         else
                         {
                         {
@@ -217,10 +217,10 @@ namespace BansheeEditor
                         field = new InspectableGameObjectRef(parent, title, path, depth, layout, property);
                         field = new InspectableGameObjectRef(parent, title, path, depth, layout, property);
                         break;
                         break;
                     case SerializableProperty.FieldType.Object:
                     case SerializableProperty.FieldType.Object:
-                        field = new InspectableObject(parent, title, path, depth, layout, property);
+                        field = new InspectableObject(parent, title, path, depth, layout, property, style);
                         break;
                         break;
                     case SerializableProperty.FieldType.Array:
                     case SerializableProperty.FieldType.Array:
-                        field = new InspectableArray(parent, title, path, depth, layout, property);
+                        field = new InspectableArray(parent, title, path, depth, layout, property, style);
                         break;
                         break;
                     case SerializableProperty.FieldType.List:
                     case SerializableProperty.FieldType.List:
                         field = new InspectableList(parent, title, path, depth, layout, property);
                         field = new InspectableList(parent, title, path, depth, layout, property);

+ 1 - 1
Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableFloat.cs

@@ -27,7 +27,7 @@ namespace BansheeEditor
         ///                     contain other fields, in which case you should increase this value by one.</param>
         ///                     contain other fields, in which case you should increase this value by one.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="property">Serializable property referencing the field whose contents to display.</param>
         /// <param name="property">Serializable property referencing the field whose contents to display.</param>
-        /// <param name="style">Contains information about the field style</param>
+        /// <param name="style">Information that can be used for customizing field rendering and behaviour.</param>
         public InspectableFloat(Inspector parent, string title, string path, int depth, InspectableFieldLayout layout, 
         public InspectableFloat(Inspector parent, string title, string path, int depth, InspectableFieldLayout layout, 
             SerializableProperty property, InspectableFieldStyleInfo style)
             SerializableProperty property, InspectableFieldStyleInfo style)
             : base(parent, title, path, SerializableProperty.FieldType.Float, depth, layout, property)
             : base(parent, title, path, SerializableProperty.FieldType.Float, depth, layout, property)

+ 1 - 1
Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableInt.cs

@@ -28,7 +28,7 @@ namespace BansheeEditor
         ///                     contain other fields, in which case you should increase this value by one.</param>
         ///                     contain other fields, in which case you should increase this value by one.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="property">Serializable property referencing the field whose contents to display.</param>
         /// <param name="property">Serializable property referencing the field whose contents to display.</param>
-        /// <param name="style">Contains information about the field style</param>
+        /// <param name="style">Information that can be used for customizing field rendering and behaviour.</param>
         public InspectableInt(Inspector parent, string title, string path, int depth, InspectableFieldLayout layout, 
         public InspectableInt(Inspector parent, string title, string path, int depth, InspectableFieldLayout layout, 
             SerializableProperty property, InspectableFieldStyleInfo style)
             SerializableProperty property, InspectableFieldStyleInfo style)
             : base(parent, title, path, SerializableProperty.FieldType.Int, depth, layout, property)
             : base(parent, title, path, SerializableProperty.FieldType.Int, depth, layout, property)

+ 30 - 10
Source/Scripting/MBansheeEditor/Windows/Inspector/InspectableObject.cs

@@ -21,6 +21,7 @@ namespace BansheeEditor
 
 
         private object propertyValue;
         private object propertyValue;
         private List<InspectableField> children = new List<InspectableField>();
         private List<InspectableField> children = new List<InspectableField>();
+        private InspectableFieldStyleInfo style;
 
 
         private GUILayoutY guiLayout;
         private GUILayoutY guiLayout;
         private GUILayoutX guiChildLayout;
         private GUILayoutX guiChildLayout;
@@ -42,10 +43,12 @@ namespace BansheeEditor
         ///                     contain other fields, in which case you should increase this value by one.</param>
         ///                     contain other fields, in which case you should increase this value by one.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="layout">Parent layout that all the field elements will be added to.</param>
         /// <param name="property">Serializable property referencing the object whose contents to display.</param>
         /// <param name="property">Serializable property referencing the object whose contents to display.</param>
+        /// <param name="style">Information that can be used for customizing field rendering and behaviour.</param>
         public InspectableObject(Inspector parent, string title, string path, int depth, InspectableFieldLayout layout, 
         public InspectableObject(Inspector parent, string title, string path, int depth, InspectableFieldLayout layout, 
-            SerializableProperty property)
+            SerializableProperty property, InspectableFieldStyleInfo style)
             : base(parent, title, path, SerializableProperty.FieldType.Object, depth, layout, property)
             : base(parent, title, path, SerializableProperty.FieldType.Object, depth, layout, property)
         {
         {
+            this.style = style;
             isExpanded = parent.Persistent.GetBool(path + "_Expanded");
             isExpanded = parent.Persistent.GetBool(path + "_Expanded");
 
 
             // Builds a context menu that lets the user create objects to assign to this field.
             // Builds a context menu that lets the user create objects to assign to this field.
@@ -101,6 +104,13 @@ namespace BansheeEditor
                 currentIndex += children[i].GetNumLayoutElements();
                 currentIndex += children[i].GetNumLayoutElements();
             }
             }
 
 
+            if (state.HasFlag(InspectableState.Modified))
+            {
+                if (style.StyleFlags.HasFlag(InspectableFieldStyleFlags.CopiedAsValue) ||
+                    style.StyleFlags.HasFlag(InspectableFieldStyleFlags.ApplyOnDirty))
+                    property.SetValue(propertyValue);
+            }
+
             return state;
             return state;
         }
         }
 
 
@@ -137,15 +147,25 @@ namespace BansheeEditor
                guiFoldout.OnToggled += OnFoldoutToggled;
                guiFoldout.OnToggled += OnFoldoutToggled;
                guiInternalTitleLayout.AddElement(guiFoldout);
                guiInternalTitleLayout.AddElement(guiFoldout);
 
 
-               GUIContent clearIcon = new GUIContent(EditorBuiltin.GetInspectorWindowIcon(InspectorWindowIcon.Clear), 
-                   new LocEdString("Clear"));
-               GUIButton clearBtn = new GUIButton(clearIcon, GUIOption.FixedWidth(20));
-               clearBtn.OnClick += OnClearButtonClicked;
-               guiInternalTitleLayout.AddElement(clearBtn);
+               if (!style.StyleFlags.HasFlag(InspectableFieldStyleFlags.NotNull))
+               {
+                   GUIContent clearIcon = new GUIContent(EditorBuiltin.GetInspectorWindowIcon(InspectorWindowIcon.Clear),
+                       new LocEdString("Clear"));
+                   GUIButton clearBtn = new GUIButton(clearIcon, GUIOption.FixedWidth(20));
+                   clearBtn.OnClick += OnClearButtonClicked;
+                   guiInternalTitleLayout.AddElement(clearBtn);
+               }
 
 
                if (isExpanded)
                if (isExpanded)
                {
                {
-                   SerializableObject serializableObject = property.GetObject();
+                   SerializableObject serializableObject;
+
+                   // Note: Make sure to use the same object instance if it's copied as value
+                   if(style.StyleFlags.HasFlag(InspectableFieldStyleFlags.CopiedAsValue))
+                       serializableObject = new SerializableObject(propertyValue);
+                   else
+                       serializableObject = property.GetObject();
+
                    SerializableField[] fields = serializableObject.Fields;
                    SerializableField[] fields = serializableObject.Fields;
 
 
                    if (fields.Length > 0)
                    if (fields.Length > 0)
@@ -174,7 +194,7 @@ namespace BansheeEditor
                        int currentIndex = 0;
                        int currentIndex = 0;
                        foreach (var field in fields)
                        foreach (var field in fields)
                        {
                        {
-                           if (!field.Inspectable)
+                           if (!field.Flags.HasFlag(SerializableFieldAttributes.Inspectable))
                                continue;
                                continue;
 
 
                            string childPath = path + "/" + field.Name;
                            string childPath = path + "/" + field.Name;
@@ -223,9 +243,9 @@ namespace BansheeEditor
 
 
                children.Clear();
                children.Clear();
                guiInternalTitleLayout.Destroy();
                guiInternalTitleLayout.Destroy();
-                guiCreateBtn = null;
+               guiCreateBtn = null;
 
 
-                if (guiChildLayout != null)
+               if (guiChildLayout != null)
                {
                {
                    guiChildLayout.Destroy();
                    guiChildLayout.Destroy();
                    guiChildLayout = null;
                    guiChildLayout = null;

+ 17 - 2
Source/Scripting/MBansheeEditor/Windows/Inspector/Style/InspectableFieldStyle.cs

@@ -21,8 +21,23 @@ namespace BansheeEditor
             var styleInfo = new InspectableFieldStyleInfo();
             var styleInfo = new InspectableFieldStyleInfo();
             styleInfo.RangeStyle = style.HasRange ? new InspectableFieldRangeStyle(style.RangeMin, style.RangeMax, style.DisplayAsSlider) : null;
             styleInfo.RangeStyle = style.HasRange ? new InspectableFieldRangeStyle(style.RangeMin, style.RangeMax, style.DisplayAsSlider) : null;
             styleInfo.StepStyle = style.HasStep ? new InspectableFieldStepStyle(style.StepIncrement) : null;
             styleInfo.StepStyle = style.HasStep ? new InspectableFieldStepStyle(style.StepIncrement) : null;
-            styleInfo.StyleFlags |= style.DisplayAsSlider ? InstectableFieldStyleFlags.UseSlider : 0;
-            styleInfo.StyleFlags |= style.DisplayAsLayerMask ? InstectableFieldStyleFlags.UseLayerMask : 0;
+            styleInfo.StyleFlags |= style.DisplayAsSlider ? InspectableFieldStyleFlags.UseSlider : 0;
+            styleInfo.StyleFlags |= style.DisplayAsLayerMask ? InspectableFieldStyleFlags.UseLayerMask : 0;
+            styleInfo.StyleFlags |= field.Flags.HasFlag(SerializableFieldAttributes.PassByCopy)
+                ? InspectableFieldStyleFlags.CopiedAsValue
+                : 0;
+
+            styleInfo.StyleFlags |= field.Flags.HasFlag(SerializableFieldAttributes.NotNull)
+                ? InspectableFieldStyleFlags.NotNull
+                : 0;
+
+            styleInfo.StyleFlags |= field.Flags.HasFlag(SerializableFieldAttributes.NativeWrapper)
+                ? InspectableFieldStyleFlags.NativeWrapper
+                : 0;
+
+            styleInfo.StyleFlags |= field.Flags.HasFlag(SerializableFieldAttributes.ApplyOnDirty)
+                ? InspectableFieldStyleFlags.ApplyOnDirty
+                : 0;
 
 
             return styleInfo;
             return styleInfo;
         }
         }

+ 54 - 3
Source/Scripting/MBansheeEditor/Windows/Inspector/Style/InspectableFieldStyleInfo.cs

@@ -8,11 +8,45 @@ namespace BansheeEditor
     /// Contains boolean information about a field style.
     /// Contains boolean information about a field style.
     /// </summary>
     /// </summary>
     [Flags]
     [Flags]
-    public enum InstectableFieldStyleFlags
+    public enum InspectableFieldStyleFlags
     {
     {
         None          = 0,
         None          = 0,
+
+        /// <summary>
+        /// Floating point field should be represented as a slider rather than a plain input field.
+        /// </summary>
         UseSlider     = 1 << 0,
         UseSlider     = 1 << 0,
-        UseLayerMask = 1 << 1
+
+        /// <summary>
+        /// Integer field should be represented as a layer mask drop down instead of a plain integer input field.
+        /// </summary>
+        UseLayerMask  = 1 << 1,
+
+        /// <summary>
+        /// Object accessed by the inspectable field is passed as a copy. This means modifications to the object returned by
+        /// the property getter will not be registered until the object is re-assigned to the property. Similarly,
+        /// modifications to the object passed to the setter, after the setter has been called, will not be registered by
+        /// the field. Only relevant if a field type is a reference type.
+        /// </summary>
+        CopiedAsValue = 1 << 2,
+
+        /// <summary>
+        /// Object returned by the inspectable field will never be null, and null should never be passed to the field. Only
+        /// relevant if a field type is a reference type.
+        /// </summary>
+        NotNull       = 1 << 3,
+
+        /// <summary>
+        /// Field represents a property that wraps a native object. Getters and setters of such a property issue calls into
+        /// native code to update the native object.
+        /// </summary>
+        NativeWrapper = 1 << 4,
+
+        /// <summary>
+        /// When a field changes those changes need to be applied to the parent object by calling the field setter. Only
+        /// applicable to properties containing reference types.
+        /// </summary>
+        ApplyOnDirty = 1 << 5
     }
     }
 
 
     /// <summary>
     /// <summary>
@@ -33,7 +67,7 @@ namespace BansheeEditor
         /// <summary>
         /// <summary>
         /// Boolean information about the field.
         /// Boolean information about the field.
         /// </summary>
         /// </summary>
-        public InstectableFieldStyleFlags StyleFlags;
+        public InspectableFieldStyleFlags StyleFlags;
 
 
         /// <summary>
         /// <summary>
         /// Creates an empty set of information about a field style.
         /// Creates an empty set of information about a field style.
@@ -42,5 +76,22 @@ namespace BansheeEditor
         {
         {
             
             
         }
         }
+
+        /// <summary>
+        /// Makes a deep copy of this object.
+        /// </summary>
+        public InspectableFieldStyleInfo Clone()
+        {
+            InspectableFieldStyleInfo style = new InspectableFieldStyleInfo();
+            style.StyleFlags = StyleFlags;
+
+            if(RangeStyle != null)
+                style.RangeStyle = new InspectableFieldRangeStyle(RangeStyle.Min, RangeStyle.Max, RangeStyle.Slider);
+
+            if(StepStyle != null)
+                style.StepStyle = new InspectableFieldStepStyle(StepStyle.Step);
+
+            return style;
+        }
     }
     }
 }
 }

+ 8 - 0
Source/Scripting/MBansheeEngine/Generated/AmbientOcclusionSettings.generated.cs

@@ -21,6 +21,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Enables or disabled the screen space ambient occlusion effect.</summary>
 		/// <summary>Enables or disabled the screen space ambient occlusion effect.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Enabled
 		public bool Enabled
 		{
 		{
 			get { return Internal_getenabled(mCachedPtr); }
 			get { return Internal_getenabled(mCachedPtr); }
@@ -34,6 +35,7 @@ namespace BansheeEngine
 		/// 5.0].
 		/// 5.0].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Radius
 		public float Radius
 		{
 		{
 			get { return Internal_getradius(mCachedPtr); }
 			get { return Internal_getradius(mCachedPtr); }
@@ -46,6 +48,7 @@ namespace BansheeEngine
 		/// millimeters, valid range is roughly [0, 200].
 		/// millimeters, valid range is roughly [0, 200].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Bias
 		public float Bias
 		{
 		{
 			get { return Internal_getbias(mCachedPtr); }
 			get { return Internal_getbias(mCachedPtr); }
@@ -57,6 +60,7 @@ namespace BansheeEngine
 		/// specified by <see cref="fadeRange"/>.
 		/// specified by <see cref="fadeRange"/>.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float FadeDistance
 		public float FadeDistance
 		{
 		{
 			get { return Internal_getfadeDistance(mCachedPtr); }
 			get { return Internal_getfadeDistance(mCachedPtr); }
@@ -68,6 +72,7 @@ namespace BansheeEngine
 		/// specified in <see cref="fadeDistance"/>.
 		/// specified in <see cref="fadeDistance"/>.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float FadeRange
 		public float FadeRange
 		{
 		{
 			get { return Internal_getfadeRange(mCachedPtr); }
 			get { return Internal_getfadeRange(mCachedPtr); }
@@ -79,6 +84,7 @@ namespace BansheeEngine
 		/// versa. Valid range is roughly [0.2, 2].
 		/// versa. Valid range is roughly [0.2, 2].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Intensity
 		public float Intensity
 		{
 		{
 			get { return Internal_getintensity(mCachedPtr); }
 			get { return Internal_getintensity(mCachedPtr); }
@@ -91,6 +97,7 @@ namespace BansheeEngine
 		/// darkening will occur.
 		/// darkening will occur.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Power
 		public float Power
 		{
 		{
 			get { return Internal_getpower(mCachedPtr); }
 			get { return Internal_getpower(mCachedPtr); }
@@ -102,6 +109,7 @@ namespace BansheeEngine
 		/// performance.
 		/// performance.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint Quality
 		public uint Quality
 		{
 		{
 			get { return Internal_getquality(mCachedPtr); }
 			get { return Internal_getquality(mCachedPtr); }

+ 7 - 0
Source/Scripting/MBansheeEngine/Generated/AnimationClip.generated.cs

@@ -56,6 +56,7 @@ namespace BansheeEngine
 		/// added or removed, as it is a copy of clip's internal values.
 		/// added or removed, as it is a copy of clip's internal values.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AnimationCurves Curves
 		public AnimationCurves Curves
 		{
 		{
 			get { return Internal_getCurves(mCachedPtr); }
 			get { return Internal_getCurves(mCachedPtr); }
@@ -64,6 +65,7 @@ namespace BansheeEngine
 
 
 		/// <summary>A set of all events to be triggered as the animation is playing.</summary>
 		/// <summary>A set of all events to be triggered as the animation is playing.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AnimationEvent[] Events
 		public AnimationEvent[] Events
 		{
 		{
 			get { return Internal_getEvents(mCachedPtr); }
 			get { return Internal_getEvents(mCachedPtr); }
@@ -76,6 +78,7 @@ namespace BansheeEngine
 		/// was imported with root motion import enabled.
 		/// was imported with root motion import enabled.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RootMotion RootMotion
 		public RootMotion RootMotion
 		{
 		{
 			get { return Internal_getRootMotion(mCachedPtr); }
 			get { return Internal_getRootMotion(mCachedPtr); }
@@ -83,6 +86,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Checks if animation clip has root motion curves separate from the normal animation curves.</summary>
 		/// <summary>Checks if animation clip has root motion curves separate from the normal animation curves.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool HasRootMotion
 		public bool HasRootMotion
 		{
 		{
 			get { return Internal_hasRootMotion(mCachedPtr); }
 			get { return Internal_hasRootMotion(mCachedPtr); }
@@ -93,6 +97,7 @@ namespace BansheeEngine
 		/// clips.
 		/// clips.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool IsAddtive
 		public bool IsAddtive
 		{
 		{
 			get { return Internal_isAdditive(mCachedPtr); }
 			get { return Internal_isAdditive(mCachedPtr); }
@@ -100,6 +105,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the length of the animation clip, in seconds.</summary>
 		/// <summary>Returns the length of the animation clip, in seconds.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Length
 		public float Length
 		{
 		{
 			get { return Internal_getLength(mCachedPtr); }
 			get { return Internal_getLength(mCachedPtr); }
@@ -111,6 +117,7 @@ namespace BansheeEngine
 		/// original sample rate of an imported animation or similar.
 		/// original sample rate of an imported animation or similar.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint SampleRate
 		public uint SampleRate
 		{
 		{
 			get { return Internal_getSampleRate(mCachedPtr); }
 			get { return Internal_getSampleRate(mCachedPtr); }

+ 4 - 0
Source/Scripting/MBansheeEngine/Generated/AnimationCurves.generated.cs

@@ -21,6 +21,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Curves for animating scene object's position.</summary>
 		/// <summary>Curves for animating scene object's position.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public NamedVector3Curve[] Position
 		public NamedVector3Curve[] Position
 		{
 		{
 			get { return Internal_getPositionCurves(mCachedPtr); }
 			get { return Internal_getPositionCurves(mCachedPtr); }
@@ -29,6 +30,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Curves for animating scene object's rotation.</summary>
 		/// <summary>Curves for animating scene object's rotation.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public NamedQuaternionCurve[] Rotation
 		public NamedQuaternionCurve[] Rotation
 		{
 		{
 			get { return Internal_getRotationCurves(mCachedPtr); }
 			get { return Internal_getRotationCurves(mCachedPtr); }
@@ -37,6 +39,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Curves for animating scene object's scale.</summary>
 		/// <summary>Curves for animating scene object's scale.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public NamedVector3Curve[] Scale
 		public NamedVector3Curve[] Scale
 		{
 		{
 			get { return Internal_getScaleCurves(mCachedPtr); }
 			get { return Internal_getScaleCurves(mCachedPtr); }
@@ -45,6 +48,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Curves for animating generic component properties.</summary>
 		/// <summary>Curves for animating generic component properties.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public NamedFloatCurve[] Generic
 		public NamedFloatCurve[] Generic
 		{
 		{
 			get { return Internal_getGenericCurves(mCachedPtr); }
 			get { return Internal_getGenericCurves(mCachedPtr); }

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/AsyncOpEx.generated.cs

@@ -16,6 +16,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns true if the async operation has completed.</summary>
 		/// <summary>Returns true if the async operation has completed.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool IsComplete
 		public bool IsComplete
 		{
 		{
 			get { return Internal_isComplete(mCachedPtr); }
 			get { return Internal_isComplete(mCachedPtr); }
@@ -23,6 +24,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Retrieves the value returned by the async operation. Only valid if IsComplete returns true.</summary>
 		/// <summary>Retrieves the value returned by the async operation. Only valid if IsComplete returns true.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public object ReturnValue
 		public object ReturnValue
 		{
 		{
 			get { return Internal_getReturnValue(mCachedPtr); }
 			get { return Internal_getReturnValue(mCachedPtr); }

+ 5 - 0
Source/Scripting/MBansheeEngine/Generated/Audio.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines global audio volume. In range [0, 1].</summary>
 		/// <summary>Determines global audio volume. In range [0, 1].</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public static float Volume
 		public static float Volume
 		{
 		{
 			get { return Internal_getVolume(); }
 			get { return Internal_getVolume(); }
@@ -25,6 +26,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines if audio reproduction is paused globally.</summary>
 		/// <summary>Determines if audio reproduction is paused globally.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public static bool Paused
 		public static bool Paused
 		{
 		{
 			get { return Internal_isPaused(); }
 			get { return Internal_isPaused(); }
@@ -33,6 +35,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the device on which is the audio played back on.</summary>
 		/// <summary>Determines the device on which is the audio played back on.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public static AudioDevice ActiveDevice
 		public static AudioDevice ActiveDevice
 		{
 		{
 			get
 			get
@@ -46,6 +49,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the default audio device identifier.</summary>
 		/// <summary>Returns the default audio device identifier.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public static AudioDevice DefaultDevice
 		public static AudioDevice DefaultDevice
 		{
 		{
 			get
 			get
@@ -58,6 +62,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns a list of all available audio devices.</summary>
 		/// <summary>Returns a list of all available audio devices.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public static AudioDevice[] AllDevices
 		public static AudioDevice[] AllDevices
 		{
 		{
 			get { return Internal_getAllDevices(); }
 			get { return Internal_getAllDevices(); }

+ 8 - 0
Source/Scripting/MBansheeEngine/Generated/AudioClip.generated.cs

@@ -26,6 +26,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the size of a single sample, in bits.</summary>
 		/// <summary>Returns the size of a single sample, in bits.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint BitDepth
 		public uint BitDepth
 		{
 		{
 			get { return Internal_getBitDepth(mCachedPtr); }
 			get { return Internal_getBitDepth(mCachedPtr); }
@@ -33,6 +34,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns how many samples per second is the audio encoded in.</summary>
 		/// <summary>Returns how many samples per second is the audio encoded in.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint SampleRate
 		public uint SampleRate
 		{
 		{
 			get { return Internal_getFrequency(mCachedPtr); }
 			get { return Internal_getFrequency(mCachedPtr); }
@@ -40,6 +42,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the number of channels provided by the clip.</summary>
 		/// <summary>Returns the number of channels provided by the clip.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint NumChannels
 		public uint NumChannels
 		{
 		{
 			get { return Internal_getNumChannels(mCachedPtr); }
 			get { return Internal_getNumChannels(mCachedPtr); }
@@ -47,6 +50,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns in which format is audio data stored in.</summary>
 		/// <summary>Returns in which format is audio data stored in.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AudioFormat Format
 		public AudioFormat Format
 		{
 		{
 			get { return Internal_getFormat(mCachedPtr); }
 			get { return Internal_getFormat(mCachedPtr); }
@@ -54,6 +58,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns how is the audio data read/decoded.</summary>
 		/// <summary>Returns how is the audio data read/decoded.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AudioReadMode ReadMode
 		public AudioReadMode ReadMode
 		{
 		{
 			get { return Internal_getReadMode(mCachedPtr); }
 			get { return Internal_getReadMode(mCachedPtr); }
@@ -61,6 +66,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the length of the audio clip, in seconds.</summary>
 		/// <summary>Returns the length of the audio clip, in seconds.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Duration
 		public float Duration
 		{
 		{
 			get { return Internal_getLength(mCachedPtr); }
 			get { return Internal_getLength(mCachedPtr); }
@@ -68,6 +74,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the total number of samples in the clip (includes all channels).</summary>
 		/// <summary>Returns the total number of samples in the clip (includes all channels).</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint NumSamples
 		public uint NumSamples
 		{
 		{
 			get { return Internal_getNumSamples(mCachedPtr); }
 			get { return Internal_getNumSamples(mCachedPtr); }
@@ -75,6 +82,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines will the clip be played a spatial 3D sound, or as a normal sound (for example music).</summary>
 		/// <summary>Determines will the clip be played a spatial 3D sound, or as a normal sound (for example music).</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Is3D
 		public bool Is3D
 		{
 		{
 			get { return Internal_is3D(mCachedPtr); }
 			get { return Internal_is3D(mCachedPtr); }

+ 8 - 0
Source/Scripting/MBansheeEngine/Generated/AutoExposureSettings.generated.cs

@@ -25,6 +25,7 @@ namespace BansheeEngine
 		/// scene brightness calculations. In log2 units (-8 = 1/256). In the range [-16, 0].
 		/// scene brightness calculations. In log2 units (-8 = 1/256). In the range [-16, 0].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float HistogramLog2Min
 		public float HistogramLog2Min
 		{
 		{
 			get { return Internal_gethistogramLog2Min(mCachedPtr); }
 			get { return Internal_gethistogramLog2Min(mCachedPtr); }
@@ -37,6 +38,7 @@ namespace BansheeEngine
 		/// scene brightness calculations. In log2 units (4 = 16). In the range [0, 16].
 		/// scene brightness calculations. In log2 units (4 = 16). In the range [0, 16].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float HistogramLog2Max
 		public float HistogramLog2Max
 		{
 		{
 			get { return Internal_gethistogramLog2Max(mCachedPtr); }
 			get { return Internal_gethistogramLog2Max(mCachedPtr); }
@@ -51,6 +53,7 @@ namespace BansheeEngine
 		/// dark pixels in an otherwise bright image). In range [0.0f, 1.0f].
 		/// dark pixels in an otherwise bright image). In range [0.0f, 1.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float HistogramPctLow
 		public float HistogramPctLow
 		{
 		{
 			get { return Internal_gethistogramPctLow(mCachedPtr); }
 			get { return Internal_gethistogramPctLow(mCachedPtr); }
@@ -65,6 +68,7 @@ namespace BansheeEngine
 		/// bright pixels). In range [0.0f, 1.0f].
 		/// bright pixels). In range [0.0f, 1.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float HistogramPctHigh
 		public float HistogramPctHigh
 		{
 		{
 			get { return Internal_gethistogramPctHigh(mCachedPtr); }
 			get { return Internal_gethistogramPctHigh(mCachedPtr); }
@@ -77,6 +81,7 @@ namespace BansheeEngine
 		/// everything is still visible). In range [0.0f, 10.0f].
 		/// everything is still visible). In range [0.0f, 10.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float MinEyeAdaptation
 		public float MinEyeAdaptation
 		{
 		{
 			get { return Internal_getminEyeAdaptation(mCachedPtr); }
 			get { return Internal_getminEyeAdaptation(mCachedPtr); }
@@ -89,6 +94,7 @@ namespace BansheeEngine
 		/// low that the rest of the scene is all white (overexposed). In range [0.0f, 10.0f].
 		/// low that the rest of the scene is all white (overexposed). In range [0.0f, 10.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float MaxEyeAdaptation
 		public float MaxEyeAdaptation
 		{
 		{
 			get { return Internal_getmaxEyeAdaptation(mCachedPtr); }
 			get { return Internal_getmaxEyeAdaptation(mCachedPtr); }
@@ -100,6 +106,7 @@ namespace BansheeEngine
 		/// exposure changes when the scene brightness increases. In range [0.01f, 20.0f].
 		/// exposure changes when the scene brightness increases. In range [0.01f, 20.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float EyeAdaptationSpeedUp
 		public float EyeAdaptationSpeedUp
 		{
 		{
 			get { return Internal_geteyeAdaptationSpeedUp(mCachedPtr); }
 			get { return Internal_geteyeAdaptationSpeedUp(mCachedPtr); }
@@ -111,6 +118,7 @@ namespace BansheeEngine
 		/// exposure changes when the scene brightness decreases. In range [0.01f, 20.0f].
 		/// exposure changes when the scene brightness decreases. In range [0.01f, 20.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float EyeAdaptationSpeedDown
 		public float EyeAdaptationSpeedDown
 		{
 		{
 			get { return Internal_geteyeAdaptationSpeedDown(mCachedPtr); }
 			get { return Internal_geteyeAdaptationSpeedDown(mCachedPtr); }

+ 5 - 0
Source/Scripting/MBansheeEngine/Generated/BloomSettings.generated.cs

@@ -21,6 +21,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Enables or disables the bloom effect.</summary>
 		/// <summary>Enables or disables the bloom effect.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Enabled
 		public bool Enabled
 		{
 		{
 			get { return Internal_getenabled(mCachedPtr); }
 			get { return Internal_getenabled(mCachedPtr); }
@@ -32,6 +33,7 @@ namespace BansheeEngine
 		/// lower performance. Valid range is [0, 3], default is 2.
 		/// lower performance. Valid range is [0, 3], default is 2.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint Quality
 		public uint Quality
 		{
 		{
 			get { return Internal_getquality(mCachedPtr); }
 			get { return Internal_getquality(mCachedPtr); }
@@ -44,6 +46,7 @@ namespace BansheeEngine
 		/// scaled by exposure. Set to zero or negative to disable the threshold and include all pixels in the calculations.
 		/// scaled by exposure. Set to zero or negative to disable the threshold and include all pixels in the calculations.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Threshold
 		public float Threshold
 		{
 		{
 			get { return Internal_getthreshold(mCachedPtr); }
 			get { return Internal_getthreshold(mCachedPtr); }
@@ -54,6 +57,7 @@ namespace BansheeEngine
 		/// Determines the intensity of the bloom effect. Ideally should be in [0, 4] range but higher values are allowed.
 		/// Determines the intensity of the bloom effect. Ideally should be in [0, 4] range but higher values are allowed.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Intensity
 		public float Intensity
 		{
 		{
 			get { return Internal_getintensity(mCachedPtr); }
 			get { return Internal_getintensity(mCachedPtr); }
@@ -64,6 +68,7 @@ namespace BansheeEngine
 		/// Tint color to apply to the bloom highlight. A pure white means the bloom inherits the underlying scene color.
 		/// Tint color to apply to the bloom highlight. A pure white means the bloom inherits the underlying scene color.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Color Tint
 		public Color Tint
 		{
 		{
 			get
 			get

+ 7 - 0
Source/Scripting/MBansheeEngine/Generated/CAnimation.generated.cs

@@ -26,6 +26,7 @@ namespace BansheeEngine
 		/// modify their states individually.
 		/// modify their states individually.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<AnimationClip> DefaultClip
 		public RRef<AnimationClip> DefaultClip
 		{
 		{
 			get { return Internal_getDefaultClip(mCachedPtr); }
 			get { return Internal_getDefaultClip(mCachedPtr); }
@@ -37,6 +38,7 @@ namespace BansheeEngine
 		/// first or last frame.
 		/// first or last frame.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AnimWrapMode WrapMode
 		public AnimWrapMode WrapMode
 		{
 		{
 			get { return Internal_getWrapMode(mCachedPtr); }
 			get { return Internal_getWrapMode(mCachedPtr); }
@@ -47,6 +49,7 @@ namespace BansheeEngine
 		/// Determines the speed for all animations. The default value is 1.0f. Use negative values to play-back in reverse.
 		/// Determines the speed for all animations. The default value is 1.0f. Use negative values to play-back in reverse.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Speed
 		public float Speed
 		{
 		{
 			get { return Internal_getSpeed(mCachedPtr); }
 			get { return Internal_getSpeed(mCachedPtr); }
@@ -55,6 +58,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Checks if any animation clips are currently playing.</summary>
 		/// <summary>Checks if any animation clips are currently playing.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool IsPlaying
 		public bool IsPlaying
 		{
 		{
 			get { return Internal_isPlaying(mCachedPtr); }
 			get { return Internal_isPlaying(mCachedPtr); }
@@ -64,6 +68,7 @@ namespace BansheeEngine
 		/// Determines bounds that will be used for animation and mesh culling. Only relevant if setUseBounds() is set to true.
 		/// Determines bounds that will be used for animation and mesh culling. Only relevant if setUseBounds() is set to true.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AABox Bounds
 		public AABox Bounds
 		{
 		{
 			get
 			get
@@ -80,6 +85,7 @@ namespace BansheeEngine
 		/// attached to the relevant CRenderable component will be used instead.
 		/// attached to the relevant CRenderable component will be used instead.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool UseBounds
 		public bool UseBounds
 		{
 		{
 			get { return Internal_getUseBounds(mCachedPtr); }
 			get { return Internal_getUseBounds(mCachedPtr); }
@@ -90,6 +96,7 @@ namespace BansheeEngine
 		/// Enables or disables culling of the animation when out of view. Culled animation will not be evaluated.
 		/// Enables or disables culling of the animation when out of view. Culled animation will not be evaluated.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Cull
 		public bool Cull
 		{
 		{
 			get { return Internal_getEnableCull(mCachedPtr); }
 			get { return Internal_getEnableCull(mCachedPtr); }

+ 10 - 0
Source/Scripting/MBansheeEngine/Generated/CAudioSource.generated.cs

@@ -23,6 +23,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Audio clip to play.</summary>
 		/// <summary>Audio clip to play.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<AudioClip> Clip
 		public RRef<AudioClip> Clip
 		{
 		{
 			get { return Internal_getClip(mCachedPtr); }
 			get { return Internal_getClip(mCachedPtr); }
@@ -31,6 +32,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Volume of the audio played from this source, in [0, 1] range.</summary>
 		/// <summary>Volume of the audio played from this source, in [0, 1] range.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Volume
 		public float Volume
 		{
 		{
 			get { return Internal_getVolume(mCachedPtr); }
 			get { return Internal_getVolume(mCachedPtr); }
@@ -39,6 +41,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the pitch of the played audio. 1 is the default.</summary>
 		/// <summary>Determines the pitch of the played audio. 1 is the default.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Pitch
 		public float Pitch
 		{
 		{
 			get { return Internal_getPitch(mCachedPtr); }
 			get { return Internal_getPitch(mCachedPtr); }
@@ -47,6 +50,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines whether the audio clip should loop when it finishes playing.</summary>
 		/// <summary>Determines whether the audio clip should loop when it finishes playing.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Loop
 		public bool Loop
 		{
 		{
 			get { return Internal_getIsLooping(mCachedPtr); }
 			get { return Internal_getIsLooping(mCachedPtr); }
@@ -59,6 +63,7 @@ namespace BansheeEngine
 		/// lower priority.
 		/// lower priority.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint Priority
 		public uint Priority
 		{
 		{
 			get { return Internal_getPriority(mCachedPtr); }
 			get { return Internal_getPriority(mCachedPtr); }
@@ -70,6 +75,7 @@ namespace BansheeEngine
 		/// is heard at full volume. Once farther away the audio starts attenuating.
 		/// is heard at full volume. Once farther away the audio starts attenuating.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float MinDistance
 		public float MinDistance
 		{
 		{
 			get { return Internal_getMinDistance(mCachedPtr); }
 			get { return Internal_getMinDistance(mCachedPtr); }
@@ -80,6 +86,7 @@ namespace BansheeEngine
 		/// Attenuation that controls how quickly does audio volume drop off as the listener moves further from the source.
 		/// Attenuation that controls how quickly does audio volume drop off as the listener moves further from the source.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Attenuation
 		public float Attenuation
 		{
 		{
 			get { return Internal_getAttenuation(mCachedPtr); }
 			get { return Internal_getAttenuation(mCachedPtr); }
@@ -91,6 +98,7 @@ namespace BansheeEngine
 		/// start at. The time is in seconds, in range [0, clipLength].
 		/// start at. The time is in seconds, in range [0, clipLength].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Time
 		public float Time
 		{
 		{
 			get { return Internal_getTime(mCachedPtr); }
 			get { return Internal_getTime(mCachedPtr); }
@@ -99,6 +107,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Sets whether playback should start as soon as the component is enabled.</summary>
 		/// <summary>Sets whether playback should start as soon as the component is enabled.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool PlayOnStart
 		public bool PlayOnStart
 		{
 		{
 			get { return Internal_getPlayOnStart(mCachedPtr); }
 			get { return Internal_getPlayOnStart(mCachedPtr); }
@@ -107,6 +116,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the current state of the audio playback (playing/paused/stopped).</summary>
 		/// <summary>Returns the current state of the audio playback (playing/paused/stopped).</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AudioSourceState State
 		public AudioSourceState State
 		{
 		{
 			get { return Internal_getState(mCachedPtr); }
 			get { return Internal_getState(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/CBone.generated.cs

@@ -20,6 +20,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the name of the bone the component is referencing.</summary>
 		/// <summary>Determines the name of the bone the component is referencing.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public string Name
 		public string Name
 		{
 		{
 			get { return Internal_getBoneName(mCachedPtr); }
 			get { return Internal_getBoneName(mCachedPtr); }

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/CBoxCollider.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the extents (half size) of the geometry of the box.</summary>
 		/// <summary>Determines the extents (half size) of the geometry of the box.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Extents
 		public Vector3 Extents
 		{
 		{
 			get
 			get
@@ -30,6 +31,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the position of the box shape, relative to the component's scene object.</summary>
 		/// <summary>Determines the position of the box shape, relative to the component's scene object.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Center
 		public Vector3 Center
 		{
 		{
 			get
 			get

+ 15 - 0
Source/Scripting/MBansheeEngine/Generated/CCamera.generated.cs

@@ -20,6 +20,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the viewport used by the camera.</summary>
 		/// <summary>Returns the viewport used by the camera.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Viewport Viewport
 		public Viewport Viewport
 		{
 		{
 			get { return Internal_getViewport(mCachedPtr); }
 			get { return Internal_getViewport(mCachedPtr); }
@@ -30,6 +31,7 @@ namespace BansheeEngine
 		/// horizontal axis. Vertical FOV is calculated from the horizontal FOV and the aspect ratio.
 		/// horizontal axis. Vertical FOV is calculated from the horizontal FOV and the aspect ratio.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Radian FieldOfView
 		public Radian FieldOfView
 		{
 		{
 			get
 			get
@@ -46,6 +48,7 @@ namespace BansheeEngine
 		/// will not be rendered. Decreasing this value decreases depth buffer precision.
 		/// will not be rendered. Decreasing this value decreases depth buffer precision.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float NearClipPlane
 		public float NearClipPlane
 		{
 		{
 			get { return Internal_getNearClipDistance(mCachedPtr); }
 			get { return Internal_getNearClipDistance(mCachedPtr); }
@@ -57,6 +60,7 @@ namespace BansheeEngine
 		/// not be rendered. Increasing this value decreases depth buffer precision.
 		/// not be rendered. Increasing this value decreases depth buffer precision.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float FarClipPlane
 		public float FarClipPlane
 		{
 		{
 			get { return Internal_getFarClipDistance(mCachedPtr); }
 			get { return Internal_getFarClipDistance(mCachedPtr); }
@@ -65,6 +69,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the current viewport aspect ratio (width / height).</summary>
 		/// <summary>Determines the current viewport aspect ratio (width / height).</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float AspectRatio
 		public float AspectRatio
 		{
 		{
 			get { return Internal_getAspectRatio(mCachedPtr); }
 			get { return Internal_getAspectRatio(mCachedPtr); }
@@ -76,6 +81,7 @@ namespace BansheeEngine
 		/// this matrix depends on currently used render system.
 		/// this matrix depends on currently used render system.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Matrix4 ProjMatrix
 		public Matrix4 ProjMatrix
 		{
 		{
 			get
 			get
@@ -88,6 +94,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Gets the camera view matrix. Used for positioning/orienting the camera.</summary>
 		/// <summary>Gets the camera view matrix. Used for positioning/orienting the camera.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Matrix4 ViewMatrix
 		public Matrix4 ViewMatrix
 		{
 		{
 			get
 			get
@@ -103,6 +110,7 @@ namespace BansheeEngine
 		/// 2D plane.
 		/// 2D plane.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ProjectionType ProjectionType
 		public ProjectionType ProjectionType
 		{
 		{
 			get { return Internal_getProjectionType(mCachedPtr); }
 			get { return Internal_getProjectionType(mCachedPtr); }
@@ -114,6 +122,7 @@ namespace BansheeEngine
 		/// calculated from the aspect ratio. Value is specified in world units.
 		/// calculated from the aspect ratio. Value is specified in world units.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float OrthoHeight
 		public float OrthoHeight
 		{
 		{
 			get { return Internal_getOrthoWindowHeight(mCachedPtr); }
 			get { return Internal_getOrthoWindowHeight(mCachedPtr); }
@@ -125,6 +134,7 @@ namespace BansheeEngine
 		/// calculated from the aspect ratio. Value is specified in world units.
 		/// calculated from the aspect ratio. Value is specified in world units.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float OrthoWidth
 		public float OrthoWidth
 		{
 		{
 			get { return Internal_getOrthoWindowWidth(mCachedPtr); }
 			get { return Internal_getOrthoWindowWidth(mCachedPtr); }
@@ -136,6 +146,7 @@ namespace BansheeEngine
 		/// rendering to the same render target. Higher value means the camera will be rendered sooner.
 		/// rendering to the same render target. Higher value means the camera will be rendered sooner.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public int Priority
 		public int Priority
 		{
 		{
 			get { return Internal_getPriority(mCachedPtr); }
 			get { return Internal_getPriority(mCachedPtr); }
@@ -144,6 +155,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines layer bitfield that is used when determining which object should the camera render.</summary>
 		/// <summary>Determines layer bitfield that is used when determining which object should the camera render.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ulong Layers
 		public ulong Layers
 		{
 		{
 			get { return Internal_getLayers(mCachedPtr); }
 			get { return Internal_getLayers(mCachedPtr); }
@@ -154,6 +166,7 @@ namespace BansheeEngine
 		/// Determines number of samples to use when rendering to this camera. Values larger than 1 will enable MSAA rendering.
 		/// Determines number of samples to use when rendering to this camera. Values larger than 1 will enable MSAA rendering.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint SampleCount
 		public uint SampleCount
 		{
 		{
 			get { return Internal_getMSAACount(mCachedPtr); }
 			get { return Internal_getMSAACount(mCachedPtr); }
@@ -165,6 +178,7 @@ namespace BansheeEngine
 		/// will be enabled, and what properties will those effects use.
 		/// will be enabled, and what properties will those effects use.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RenderSettings RenderSettings
 		public RenderSettings RenderSettings
 		{
 		{
 			get { return Internal_getRenderSettings(mCachedPtr); }
 			get { return Internal_getRenderSettings(mCachedPtr); }
@@ -176,6 +190,7 @@ namespace BansheeEngine
 		/// displayed to the user.
 		/// displayed to the user.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Main
 		public bool Main
 		{
 		{
 			get { return Internal_isMain(mCachedPtr); }
 			get { return Internal_isMain(mCachedPtr); }

+ 4 - 0
Source/Scripting/MBansheeEngine/Generated/CCapsuleCollider.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Normal vector that determines how is the capsule oriented.</summary>
 		/// <summary>Normal vector that determines how is the capsule oriented.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Normal
 		public Vector3 Normal
 		{
 		{
 			get
 			get
@@ -30,6 +31,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the position of the capsule shape, relative to the component's scene object.</summary>
 		/// <summary>Determines the position of the capsule shape, relative to the component's scene object.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Center
 		public Vector3 Center
 		{
 		{
 			get
 			get
@@ -46,6 +48,7 @@ namespace BansheeEngine
 		/// vector.
 		/// vector.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float HalfHeight
 		public float HalfHeight
 		{
 		{
 			get { return Internal_getHalfHeight(mCachedPtr); }
 			get { return Internal_getHalfHeight(mCachedPtr); }
@@ -54,6 +57,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the radius of the capsule.</summary>
 		/// <summary>Determines the radius of the capsule.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Radius
 		public float Radius
 		{
 		{
 			get { return Internal_getRadius(mCachedPtr); }
 			get { return Internal_getRadius(mCachedPtr); }

+ 11 - 0
Source/Scripting/MBansheeEngine/Generated/CCharacterController.generated.cs

@@ -24,6 +24,7 @@ namespace BansheeEngine
 		/// will teleport the character to the location. Use move() for movement that includes physics.
 		/// will teleport the character to the location. Use move() for movement that includes physics.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 FootPosition
 		public Vector3 FootPosition
 		{
 		{
 			get
 			get
@@ -37,6 +38,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the radius of the controller capsule.</summary>
 		/// <summary>Determines the radius of the controller capsule.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Radius
 		public float Radius
 		{
 		{
 			get { return Internal_getRadius(mCachedPtr); }
 			get { return Internal_getRadius(mCachedPtr); }
@@ -45,6 +47,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the height between the centers of the two spheres of the controller capsule.</summary>
 		/// <summary>Determines the height between the centers of the two spheres of the controller capsule.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Height
 		public float Height
 		{
 		{
 			get { return Internal_getHeight(mCachedPtr); }
 			get { return Internal_getHeight(mCachedPtr); }
@@ -53,6 +56,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the up direction of capsule. Determines capsule orientation.</summary>
 		/// <summary>Determines the up direction of capsule. Determines capsule orientation.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Up
 		public Vector3 Up
 		{
 		{
 			get
 			get
@@ -66,6 +70,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Controls what happens when character encounters a height higher than its step offset.</summary>
 		/// <summary>Controls what happens when character encounters a height higher than its step offset.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public CharacterClimbingMode ClimbingMode
 		public CharacterClimbingMode ClimbingMode
 		{
 		{
 			get { return Internal_getClimbingMode(mCachedPtr); }
 			get { return Internal_getClimbingMode(mCachedPtr); }
@@ -74,6 +79,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Controls what happens when character encounters a slope higher than its slope offset.</summary>
 		/// <summary>Controls what happens when character encounters a slope higher than its slope offset.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public CharacterNonWalkableMode NonWalkableMode
 		public CharacterNonWalkableMode NonWalkableMode
 		{
 		{
 			get { return Internal_getNonWalkableMode(mCachedPtr); }
 			get { return Internal_getNonWalkableMode(mCachedPtr); }
@@ -85,6 +91,7 @@ namespace BansheeEngine
 		/// motion algorithm when the remaining distance is too small.
 		/// motion algorithm when the remaining distance is too small.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float MinMoveDistance
 		public float MinMoveDistance
 		{
 		{
 			get { return Internal_getMinMoveDistance(mCachedPtr); }
 			get { return Internal_getMinMoveDistance(mCachedPtr); }
@@ -96,6 +103,7 @@ namespace BansheeEngine
 		/// positive non-zero value.
 		/// positive non-zero value.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float ContactOffset
 		public float ContactOffset
 		{
 		{
 			get { return Internal_getContactOffset(mCachedPtr); }
 			get { return Internal_getContactOffset(mCachedPtr); }
@@ -107,6 +115,7 @@ namespace BansheeEngine
 		/// height of the maximum obstacle that will be stepped over (with exceptions, see climbingMode).
 		/// height of the maximum obstacle that will be stepped over (with exceptions, see climbingMode).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float StepOffset
 		public float StepOffset
 		{
 		{
 			get { return Internal_getStepOffset(mCachedPtr); }
 			get { return Internal_getStepOffset(mCachedPtr); }
@@ -118,6 +127,7 @@ namespace BansheeEngine
 		/// more information.
 		/// more information.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Radian SlopeLimit
 		public Radian SlopeLimit
 		{
 		{
 			get
 			get
@@ -131,6 +141,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the layer that controls what can the controller collide with.</summary>
 		/// <summary>Determines the layer that controls what can the controller collide with.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ulong Layer
 		public ulong Layer
 		{
 		{
 			get { return Internal_getLayer(mCachedPtr); }
 			get { return Internal_getLayer(mCachedPtr); }

+ 7 - 0
Source/Scripting/MBansheeEngine/Generated/CCollider.generated.cs

@@ -24,6 +24,7 @@ namespace BansheeEngine
 		/// but collision events will still be reported.
 		/// but collision events will still be reported.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Trigger
 		public bool Trigger
 		{
 		{
 			get { return Internal_getIsTrigger(mCachedPtr); }
 			get { return Internal_getIsTrigger(mCachedPtr); }
@@ -36,6 +37,7 @@ namespace BansheeEngine
 		/// automatically).
 		/// automatically).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Mass
 		public float Mass
 		{
 		{
 			get { return Internal_getMass(mCachedPtr); }
 			get { return Internal_getMass(mCachedPtr); }
@@ -46,6 +48,7 @@ namespace BansheeEngine
 		/// Determines the physical material of the collider. The material determines how objects hitting the collider  behave.
 		/// Determines the physical material of the collider. The material determines how objects hitting the collider  behave.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<PhysicsMaterial> Material
 		public RRef<PhysicsMaterial> Material
 		{
 		{
 			get { return Internal_getMaterial(mCachedPtr); }
 			get { return Internal_getMaterial(mCachedPtr); }
@@ -61,6 +64,7 @@ namespace BansheeEngine
 		/// Also see setRestOffset().
 		/// Also see setRestOffset().
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float ContactOffset
 		public float ContactOffset
 		{
 		{
 			get { return Internal_getContactOffset(mCachedPtr); }
 			get { return Internal_getContactOffset(mCachedPtr); }
@@ -75,6 +79,7 @@ namespace BansheeEngine
 		/// Also see setContactOffset().
 		/// Also see setContactOffset().
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float RestOffset
 		public float RestOffset
 		{
 		{
 			get { return Internal_getRestOffset(mCachedPtr); }
 			get { return Internal_getRestOffset(mCachedPtr); }
@@ -83,6 +88,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the layer of the collider. Layer controls with which objects will the collider collide.</summary>
 		/// <summary>Determines the layer of the collider. Layer controls with which objects will the collider collide.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ulong Layer
 		public ulong Layer
 		{
 		{
 			get { return Internal_getLayer(mCachedPtr); }
 			get { return Internal_getLayer(mCachedPtr); }
@@ -91,6 +97,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines which (if any) collision events are reported.</summary>
 		/// <summary>Determines which (if any) collision events are reported.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public CollisionReportMode CollisionReportMode
 		public CollisionReportMode CollisionReportMode
 		{
 		{
 			get { return Internal_getCollisionReportMode(mCachedPtr); }
 			get { return Internal_getCollisionReportMode(mCachedPtr); }

+ 10 - 0
Source/Scripting/MBansheeEngine/Generated/CD6Joint.generated.cs

@@ -22,6 +22,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the current rotation of the joint around the X axis.</summary>
 		/// <summary>Returns the current rotation of the joint around the X axis.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Radian Twist
 		public Radian Twist
 		{
 		{
 			get
 			get
@@ -34,6 +35,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the current rotation of the joint around the Y axis.</summary>
 		/// <summary>Returns the current rotation of the joint around the Y axis.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Radian SwingY
 		public Radian SwingY
 		{
 		{
 			get
 			get
@@ -46,6 +48,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the current rotation of the joint around the Z axis.</summary>
 		/// <summary>Returns the current rotation of the joint around the Z axis.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Radian SwingZ
 		public Radian SwingZ
 		{
 		{
 			get
 			get
@@ -58,6 +61,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the linear limit used for constraining translation degrees of freedom.</summary>
 		/// <summary>Determines the linear limit used for constraining translation degrees of freedom.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public LimitLinear LimitLinear
 		public LimitLinear LimitLinear
 		{
 		{
 			get
 			get
@@ -73,6 +77,7 @@ namespace BansheeEngine
 		/// Determines the angular limit used for constraining the twist (rotation around X) degree of freedom.
 		/// Determines the angular limit used for constraining the twist (rotation around X) degree of freedom.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public LimitAngularRange LimitTwist
 		public LimitAngularRange LimitTwist
 		{
 		{
 			get
 			get
@@ -88,6 +93,7 @@ namespace BansheeEngine
 		/// Determines the cone limit used for constraining the swing (rotation around Y and Z) degree of freedom.
 		/// Determines the cone limit used for constraining the swing (rotation around Y and Z) degree of freedom.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public LimitConeRange LimitSwing
 		public LimitConeRange LimitSwing
 		{
 		{
 			get
 			get
@@ -101,6 +107,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the drive's target position relative to the joint's first body.</summary>
 		/// <summary>Returns the drive's target position relative to the joint's first body.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 DrivePosition
 		public Vector3 DrivePosition
 		{
 		{
 			get
 			get
@@ -113,6 +120,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the drive's target rotation relative to the joint's first body.</summary>
 		/// <summary>Returns the drive's target rotation relative to the joint's first body.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Quaternion DriveRotation
 		public Quaternion DriveRotation
 		{
 		{
 			get
 			get
@@ -125,6 +133,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the drive's target linear velocity.</summary>
 		/// <summary>Returns the drive's target linear velocity.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 DriveLinearVelocity
 		public Vector3 DriveLinearVelocity
 		{
 		{
 			get
 			get
@@ -137,6 +146,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the drive's target angular velocity.</summary>
 		/// <summary>Returns the drive's target angular velocity.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 DriveAngularVelocity
 		public Vector3 DriveAngularVelocity
 		{
 		{
 			get
 			get

+ 5 - 0
Source/Scripting/MBansheeEngine/Generated/CDecal.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the material to use when rendering the decal.</summary>
 		/// <summary>Determines the material to use when rendering the decal.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<Material> Material
 		public RRef<Material> Material
 		{
 		{
 			get { return Internal_getMaterial(mCachedPtr); }
 			get { return Internal_getMaterial(mCachedPtr); }
@@ -25,6 +26,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Size of the decal in world space units.</summary>
 		/// <summary>Size of the decal in world space units.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector2 Size
 		public Vector2 Size
 		{
 		{
 			get
 			get
@@ -38,6 +40,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the maximum distance (from its origin) at which the decal is displayed.</summary>
 		/// <summary>Determines the maximum distance (from its origin) at which the decal is displayed.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float MaxDistance
 		public float MaxDistance
 		{
 		{
 			get { return Internal_getMaxDistance(mCachedPtr); }
 			get { return Internal_getMaxDistance(mCachedPtr); }
@@ -49,6 +52,7 @@ namespace BansheeEngine
 		/// camera layer bitfield in order for the camera to render the decal.
 		/// camera layer bitfield in order for the camera to render the decal.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ulong Layer
 		public ulong Layer
 		{
 		{
 			get { return Internal_getLayer(mCachedPtr); }
 			get { return Internal_getLayer(mCachedPtr); }
@@ -61,6 +65,7 @@ namespace BansheeEngine
 		/// will always be projected onto.
 		/// will always be projected onto.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint LayerMask
 		public uint LayerMask
 		{
 		{
 			get { return Internal_getLayerMask(mCachedPtr); }
 			get { return Internal_getLayerMask(mCachedPtr); }

+ 5 - 0
Source/Scripting/MBansheeEngine/Generated/CDistanceJoint.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the current distance between the two joint bodies.</summary>
 		/// <summary>Returns the current distance between the two joint bodies.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Distance
 		public float Distance
 		{
 		{
 			get { return Internal_getDistance(mCachedPtr); }
 			get { return Internal_getDistance(mCachedPtr); }
@@ -27,6 +28,7 @@ namespace BansheeEngine
 		/// distance flag in order for this limit to be applied.
 		/// distance flag in order for this limit to be applied.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float MinDistance
 		public float MinDistance
 		{
 		{
 			get { return Internal_getMinDistance(mCachedPtr); }
 			get { return Internal_getMinDistance(mCachedPtr); }
@@ -38,6 +40,7 @@ namespace BansheeEngine
 		/// distance flag in order for this limit to be applied.
 		/// distance flag in order for this limit to be applied.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float MaxDistance
 		public float MaxDistance
 		{
 		{
 			get { return Internal_getMaxDistance(mCachedPtr); }
 			get { return Internal_getMaxDistance(mCachedPtr); }
@@ -49,6 +52,7 @@ namespace BansheeEngine
 		/// and upper limit.
 		/// and upper limit.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Tolerance
 		public float Tolerance
 		{
 		{
 			get { return Internal_getTolerance(mCachedPtr); }
 			get { return Internal_getTolerance(mCachedPtr); }
@@ -60,6 +64,7 @@ namespace BansheeEngine
 		/// the joint in order for this to be recognized.
 		/// the joint in order for this to be recognized.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Spring Spring
 		public Spring Spring
 		{
 		{
 			get
 			get

+ 4 - 0
Source/Scripting/MBansheeEngine/Generated/CHingeJoint.generated.cs

@@ -20,6 +20,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the current angle between the two attached bodes.</summary>
 		/// <summary>Returns the current angle between the two attached bodes.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Radian Angle
 		public Radian Angle
 		{
 		{
 			get
 			get
@@ -32,6 +33,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the current angular speed of the joint.</summary>
 		/// <summary>Returns the current angular speed of the joint.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Speed
 		public float Speed
 		{
 		{
 			get { return Internal_getSpeed(mCachedPtr); }
 			get { return Internal_getSpeed(mCachedPtr); }
@@ -42,6 +44,7 @@ namespace BansheeEngine
 		/// limit flag on the joint in order for this to be recognized.
 		/// limit flag on the joint in order for this to be recognized.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public LimitAngularRange Limit
 		public LimitAngularRange Limit
 		{
 		{
 			get
 			get
@@ -58,6 +61,7 @@ namespace BansheeEngine
 		/// must enable the drive flag on the joint in order for the drive to be active.
 		/// must enable the drive flag on the joint in order for the drive to be active.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public HingeJointDrive Drive
 		public HingeJointDrive Drive
 		{
 		{
 			get
 			get

+ 3 - 0
Source/Scripting/MBansheeEngine/Generated/CJoint.generated.cs

@@ -23,6 +23,7 @@ namespace BansheeEngine
 		/// simulation.
 		/// simulation.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float BreakForce
 		public float BreakForce
 		{
 		{
 			get { return Internal_getBreakForce(mCachedPtr); }
 			get { return Internal_getBreakForce(mCachedPtr); }
@@ -34,6 +35,7 @@ namespace BansheeEngine
 		/// simulation.
 		/// simulation.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float BreakTorque
 		public float BreakTorque
 		{
 		{
 			get { return Internal_getBreakTorque(mCachedPtr); }
 			get { return Internal_getBreakTorque(mCachedPtr); }
@@ -42,6 +44,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines whether collision between the two bodies managed by the joint are enabled.</summary>
 		/// <summary>Determines whether collision between the two bodies managed by the joint are enabled.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool EnableCollision
 		public bool EnableCollision
 		{
 		{
 			get { return Internal_getEnableCollision(mCachedPtr); }
 			get { return Internal_getEnableCollision(mCachedPtr); }

+ 11 - 0
Source/Scripting/MBansheeEngine/Generated/CLight.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the type of the light.</summary>
 		/// <summary>Determines the type of the light.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public LightType Type
 		public LightType Type
 		{
 		{
 			get { return Internal_getType(mCachedPtr); }
 			get { return Internal_getType(mCachedPtr); }
@@ -25,6 +26,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines does this light cast shadows when rendered.</summary>
 		/// <summary>Determines does this light cast shadows when rendered.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool CastsShadow
 		public bool CastsShadow
 		{
 		{
 			get { return Internal_getCastsShadow(mCachedPtr); }
 			get { return Internal_getCastsShadow(mCachedPtr); }
@@ -42,6 +44,7 @@ namespace BansheeEngine
 		/// Default value is 0.5. Should be in rough range [-1, 1].
 		/// Default value is 0.5. Should be in rough range [-1, 1].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float ShadowBias
 		public float ShadowBias
 		{
 		{
 			get { return Internal_getShadowBias(mCachedPtr); }
 			get { return Internal_getShadowBias(mCachedPtr); }
@@ -50,6 +53,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the color emitted by the light.</summary>
 		/// <summary>Determines the color emitted by the light.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Color Color
 		public Color Color
 		{
 		{
 			get
 			get
@@ -67,6 +71,7 @@ namespace BansheeEngine
 		/// can end up being very physically incorrect.
 		/// can end up being very physically incorrect.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float AttenuationRadius
 		public float AttenuationRadius
 		{
 		{
 			get { return Internal_getAttenuationRadius(mCachedPtr); }
 			get { return Internal_getAttenuationRadius(mCachedPtr); }
@@ -83,6 +88,7 @@ namespace BansheeEngine
 		/// direction of the spot light and the source radius is the radius of the disc.
 		/// direction of the spot light and the source radius is the radius of the disc.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float SourceRadius
 		public float SourceRadius
 		{
 		{
 			get { return Internal_getSourceRadius(mCachedPtr); }
 			get { return Internal_getSourceRadius(mCachedPtr); }
@@ -94,6 +100,7 @@ namespace BansheeEngine
 		/// directional lights with no area, and illuminance for directional lights with area (non-zero source radius).
 		/// directional lights with no area, and illuminance for directional lights with area (non-zero source radius).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Intensity
 		public float Intensity
 		{
 		{
 			get { return Internal_getIntensity(mCachedPtr); }
 			get { return Internal_getIntensity(mCachedPtr); }
@@ -102,6 +109,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the total angle covered by a spot light.</summary>
 		/// <summary>Determines the total angle covered by a spot light.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Degree SpotAngle
 		public Degree SpotAngle
 		{
 		{
 			get
 			get
@@ -118,6 +126,7 @@ namespace BansheeEngine
 		/// starts quadratically falling off as the angle approaches the total spot angle.
 		/// starts quadratically falling off as the angle approaches the total spot angle.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Degree SpotAngleFalloff
 		public Degree SpotAngleFalloff
 		{
 		{
 			get
 			get
@@ -134,6 +143,7 @@ namespace BansheeEngine
 		/// depending on its intensity.
 		/// depending on its intensity.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool UseAutoAttenuation
 		public bool UseAutoAttenuation
 		{
 		{
 			get { return Internal_getUseAutoAttenuation(mCachedPtr); }
 			get { return Internal_getUseAutoAttenuation(mCachedPtr); }
@@ -142,6 +152,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns world space bounds that completely encompass the light's area of influence.</summary>
 		/// <summary>Returns world space bounds that completely encompass the light's area of influence.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Sphere Bounds
 		public Sphere Bounds
 		{
 		{
 			get
 			get

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/CLightProbeVolume.generated.cs

@@ -23,6 +23,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the volume that's used for adding probes in a uniform grid pattern.</summary>
 		/// <summary>Returns the volume that's used for adding probes in a uniform grid pattern.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AABox GridVolume
 		public AABox GridVolume
 		{
 		{
 			get
 			get
@@ -35,6 +36,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the cell count that's used for determining the density of probes within a grid volume.</summary>
 		/// <summary>Returns the cell count that's used for determining the density of probes within a grid volume.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3I CellCount
 		public Vector3I CellCount
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/CMeshCollider.generated.cs

@@ -21,6 +21,7 @@ namespace BansheeEngine
 		/// rigidbody.
 		/// rigidbody.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<PhysicsMesh> Mesh
 		public RRef<PhysicsMesh> Mesh
 		{
 		{
 			get { return Internal_getMesh(mCachedPtr); }
 			get { return Internal_getMesh(mCachedPtr); }

+ 7 - 0
Source/Scripting/MBansheeEngine/Generated/CParticleSystem.generated.cs

@@ -24,6 +24,8 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines general purpose settings that apply to the particle system.</summary>
 		/// <summary>Determines general purpose settings that apply to the particle system.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[PassByCopy]
+		[NativeWrapper]
 		public ParticleSystemSettings Settings
 		public ParticleSystemSettings Settings
 		{
 		{
 			get { return Internal_getSettings(mCachedPtr); }
 			get { return Internal_getSettings(mCachedPtr); }
@@ -32,6 +34,8 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines settings that control particle GPU simulation.</summary>
 		/// <summary>Determines settings that control particle GPU simulation.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[PassByCopy]
+		[NativeWrapper]
 		public ParticleGpuSimulationSettings GpuSimulationSettings
 		public ParticleGpuSimulationSettings GpuSimulationSettings
 		{
 		{
 			get { return Internal_getGpuSimulationSettings(mCachedPtr); }
 			get { return Internal_getGpuSimulationSettings(mCachedPtr); }
@@ -43,6 +47,7 @@ namespace BansheeEngine
 		/// system must have at least one emitter.
 		/// system must have at least one emitter.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleEmitter[] Emitters
 		public ParticleEmitter[] Emitters
 		{
 		{
 			get { return Internal_getEmitters(mCachedPtr); }
 			get { return Internal_getEmitters(mCachedPtr); }
@@ -54,6 +59,7 @@ namespace BansheeEngine
 		/// simulated particles.
 		/// simulated particles.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleEvolver[] Evolvers
 		public ParticleEvolver[] Evolvers
 		{
 		{
 			get { return Internal_getEvolvers(mCachedPtr); }
 			get { return Internal_getEvolvers(mCachedPtr); }
@@ -65,6 +71,7 @@ namespace BansheeEngine
 		/// match camera layer in order for the camera to render the component.
 		/// match camera layer in order for the camera to render the component.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ulong Layer
 		public ulong Layer
 		{
 		{
 			get { return Internal_getLayer(mCachedPtr); }
 			get { return Internal_getLayer(mCachedPtr); }

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/CPlaneCollider.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Normal vector that determines the local orientation of the plane.</summary>
 		/// <summary>Normal vector that determines the local orientation of the plane.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Normal
 		public Vector3 Normal
 		{
 		{
 			get
 			get
@@ -30,6 +31,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the distance of the plane from the local origin, along its normal vector.</summary>
 		/// <summary>Determines the distance of the plane from the local origin, along its normal vector.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Distance
 		public float Distance
 		{
 		{
 			get { return Internal_getDistance(mCachedPtr); }
 			get { return Internal_getDistance(mCachedPtr); }

+ 4 - 0
Source/Scripting/MBansheeEngine/Generated/CReflectionProbe.generated.cs

@@ -20,6 +20,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Changes the type of the probe.</summary>
 		/// <summary>Changes the type of the probe.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ReflectionProbeType Type
 		public ReflectionProbeType Type
 		{
 		{
 			get { return Internal_getType(mCachedPtr); }
 			get { return Internal_getType(mCachedPtr); }
@@ -28,6 +29,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Sets the radius of a sphere reflection probe.</summary>
 		/// <summary>Sets the radius of a sphere reflection probe.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Radius
 		public float Radius
 		{
 		{
 			get { return Internal_getRadius(mCachedPtr); }
 			get { return Internal_getRadius(mCachedPtr); }
@@ -36,6 +38,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Sets the extents of a box reflection probe. Determines range of influence.</summary>
 		/// <summary>Sets the extents of a box reflection probe. Determines range of influence.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Extents
 		public Vector3 Extents
 		{
 		{
 			get
 			get
@@ -52,6 +55,7 @@ namespace BansheeEngine
 		/// To re-enable auto-generation call this with a null parameter.
 		/// To re-enable auto-generation call this with a null parameter.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<Texture> CustomTexture
 		public RRef<Texture> CustomTexture
 		{
 		{
 			get { return Internal_getCustomTexture(mCachedPtr); }
 			get { return Internal_getCustomTexture(mCachedPtr); }

+ 4 - 0
Source/Scripting/MBansheeEngine/Generated/CRenderable.generated.cs

@@ -23,6 +23,7 @@ namespace BansheeEngine
 		/// each sub-mesh.
 		/// each sub-mesh.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<Mesh> Mesh
 		public RRef<Mesh> Mesh
 		{
 		{
 			get { return Internal_getMesh(mCachedPtr); }
 			get { return Internal_getMesh(mCachedPtr); }
@@ -35,6 +36,7 @@ namespace BansheeEngine
 		/// materials will be removed.
 		/// materials will be removed.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<Material>[] Materials
 		public RRef<Material>[] Materials
 		{
 		{
 			get { return Internal_getMaterials(mCachedPtr); }
 			get { return Internal_getMaterials(mCachedPtr); }
@@ -46,6 +48,7 @@ namespace BansheeEngine
 		/// Renderable layer must match camera layer in order for the camera to render the component.
 		/// Renderable layer must match camera layer in order for the camera to render the component.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ulong Layers
 		public ulong Layers
 		{
 		{
 			get { return Internal_getLayer(mCachedPtr); }
 			get { return Internal_getLayer(mCachedPtr); }
@@ -54,6 +57,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Gets world bounds of the mesh rendered by this object.</summary>
 		/// <summary>Gets world bounds of the mesh rendered by this object.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Bounds Bounds
 		public Bounds Bounds
 		{
 		{
 			get
 			get

+ 17 - 0
Source/Scripting/MBansheeEngine/Generated/CRigidbody.generated.cs

@@ -27,6 +27,7 @@ namespace BansheeEngine
 		/// RigidbodyFlag::AutoTensors is turned off. Value of zero means the object is immovable (but can be rotated).
 		/// RigidbodyFlag::AutoTensors is turned off. Value of zero means the object is immovable (but can be rotated).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Mass
 		public float Mass
 		{
 		{
 			get { return Internal_getMass(mCachedPtr); }
 			get { return Internal_getMass(mCachedPtr); }
@@ -39,6 +40,7 @@ namespace BansheeEngine
 		/// move the object and have other dynamic objects respond correctly (meaning it will push other objects).
 		/// move the object and have other dynamic objects respond correctly (meaning it will push other objects).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool IsKinematic
 		public bool IsKinematic
 		{
 		{
 			get { return Internal_getIsKinematic(mCachedPtr); }
 			get { return Internal_getIsKinematic(mCachedPtr); }
@@ -50,6 +52,7 @@ namespace BansheeEngine
 		/// physics system.
 		/// physics system.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool IsSleeping
 		public bool IsSleeping
 		{
 		{
 			get { return Internal_isSleeping(mCachedPtr); }
 			get { return Internal_isSleeping(mCachedPtr); }
@@ -59,6 +62,7 @@ namespace BansheeEngine
 		/// Determines a threshold of force and torque under which the object will be considered to be put to sleep.
 		/// Determines a threshold of force and torque under which the object will be considered to be put to sleep.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float SleepThreshold
 		public float SleepThreshold
 		{
 		{
 			get { return Internal_getSleepThreshold(mCachedPtr); }
 			get { return Internal_getSleepThreshold(mCachedPtr); }
@@ -67,6 +71,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines whether or not the rigidbody will have the global gravity force applied to it.</summary>
 		/// <summary>Determines whether or not the rigidbody will have the global gravity force applied to it.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool UseGravity
 		public bool UseGravity
 		{
 		{
 			get { return Internal_getUseGravity(mCachedPtr); }
 			get { return Internal_getUseGravity(mCachedPtr); }
@@ -75,6 +80,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the linear velocity of the body.</summary>
 		/// <summary>Determines the linear velocity of the body.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Velocity
 		public Vector3 Velocity
 		{
 		{
 			get
 			get
@@ -88,6 +94,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the angular velocity of the body.</summary>
 		/// <summary>Determines the angular velocity of the body.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 AngularVelocity
 		public Vector3 AngularVelocity
 		{
 		{
 			get
 			get
@@ -103,6 +110,7 @@ namespace BansheeEngine
 		/// Determines the linear drag of the body. Higher drag values means the object resists linear movement more.
 		/// Determines the linear drag of the body. Higher drag values means the object resists linear movement more.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Drag
 		public float Drag
 		{
 		{
 			get { return Internal_getDrag(mCachedPtr); }
 			get { return Internal_getDrag(mCachedPtr); }
@@ -113,6 +121,7 @@ namespace BansheeEngine
 		/// Determines the angular drag of the body. Higher drag values means the object resists angular movement more.
 		/// Determines the angular drag of the body. Higher drag values means the object resists angular movement more.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float AngularDrag
 		public float AngularDrag
 		{
 		{
 			get { return Internal_getAngularDrag(mCachedPtr); }
 			get { return Internal_getAngularDrag(mCachedPtr); }
@@ -125,6 +134,7 @@ namespace BansheeEngine
 		/// if RigidbodyFlag::AutoTensors is turned off.
 		/// if RigidbodyFlag::AutoTensors is turned off.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 InertiaTensor
 		public Vector3 InertiaTensor
 		{
 		{
 			get
 			get
@@ -138,6 +148,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the maximum angular velocity of the rigidbody. Velocity will be clamped to this value.</summary>
 		/// <summary>Determines the maximum angular velocity of the rigidbody. Velocity will be clamped to this value.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float MaxAngularVelocity
 		public float MaxAngularVelocity
 		{
 		{
 			get { return Internal_getMaxAngularVelocity(mCachedPtr); }
 			get { return Internal_getMaxAngularVelocity(mCachedPtr); }
@@ -148,6 +159,7 @@ namespace BansheeEngine
 		/// Determines the rigidbody's center of mass position. Only relevant if RigibodyFlag::AutoTensors is turned off.
 		/// Determines the rigidbody's center of mass position. Only relevant if RigibodyFlag::AutoTensors is turned off.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 CenterOfMassPosition
 		public Vector3 CenterOfMassPosition
 		{
 		{
 			get
 			get
@@ -163,6 +175,7 @@ namespace BansheeEngine
 		/// Determines the rigidbody's center of mass rotation. Only relevant if RigibodyFlag::AutoTensors is turned off.
 		/// Determines the rigidbody's center of mass rotation. Only relevant if RigibodyFlag::AutoTensors is turned off.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Quaternion CenterOfMassRotation
 		public Quaternion CenterOfMassRotation
 		{
 		{
 			get
 			get
@@ -179,6 +192,7 @@ namespace BansheeEngine
 		/// numerical stability of the simulation.
 		/// numerical stability of the simulation.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint PositionSolverCount
 		public uint PositionSolverCount
 		{
 		{
 			get { return Internal_getPositionSolverCount(mCachedPtr); }
 			get { return Internal_getPositionSolverCount(mCachedPtr); }
@@ -190,6 +204,7 @@ namespace BansheeEngine
 		/// numerical stability of the simulation.
 		/// numerical stability of the simulation.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint VelocitySolverCount
 		public uint VelocitySolverCount
 		{
 		{
 			get { return Internal_getVelocitySolverCount(mCachedPtr); }
 			get { return Internal_getVelocitySolverCount(mCachedPtr); }
@@ -198,6 +213,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Sets a value that determines which (if any) collision events are reported.</summary>
 		/// <summary>Sets a value that determines which (if any) collision events are reported.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public CollisionReportMode CollisionReportMode
 		public CollisionReportMode CollisionReportMode
 		{
 		{
 			get { return Internal_getCollisionReportMode(mCachedPtr); }
 			get { return Internal_getCollisionReportMode(mCachedPtr); }
@@ -206,6 +222,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Flags that control the behaviour of the rigidbody.</summary>
 		/// <summary>Flags that control the behaviour of the rigidbody.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RigidbodyFlag Flags
 		public RigidbodyFlag Flags
 		{
 		{
 			get { return Internal_getFlags(mCachedPtr); }
 			get { return Internal_getFlags(mCachedPtr); }

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/CSkybox.generated.cs

@@ -20,6 +20,7 @@ namespace BansheeEngine
 		/// contain HDR data.
 		/// contain HDR data.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<Texture> Texture
 		public RRef<Texture> Texture
 		{
 		{
 			get { return Internal_getTexture(mCachedPtr); }
 			get { return Internal_getTexture(mCachedPtr); }
@@ -31,6 +32,7 @@ namespace BansheeEngine
 		/// more or less bright. Equal to one by default.
 		/// more or less bright. Equal to one by default.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Brightness
 		public float Brightness
 		{
 		{
 			get { return Internal_getBrightness(mCachedPtr); }
 			get { return Internal_getBrightness(mCachedPtr); }

+ 3 - 0
Source/Scripting/MBansheeEngine/Generated/CSliderJoint.generated.cs

@@ -19,6 +19,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the current position of the slider.</summary>
 		/// <summary>Returns the current position of the slider.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Position
 		public float Position
 		{
 		{
 			get { return Internal_getPosition(mCachedPtr); }
 			get { return Internal_getPosition(mCachedPtr); }
@@ -26,6 +27,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the current speed of the slider.</summary>
 		/// <summary>Returns the current speed of the slider.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Speed
 		public float Speed
 		{
 		{
 			get { return Internal_getSpeed(mCachedPtr); }
 			get { return Internal_getSpeed(mCachedPtr); }
@@ -36,6 +38,7 @@ namespace BansheeEngine
 		/// enable the limit flag on the joint in order for this to be recognized.
 		/// enable the limit flag on the joint in order for this to be recognized.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public LimitLinearRange Limit
 		public LimitLinearRange Limit
 		{
 		{
 			get
 			get

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/CSphereCollider.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the radius of the sphere geometry.</summary>
 		/// <summary>Determines the radius of the sphere geometry.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Radius
 		public float Radius
 		{
 		{
 			get { return Internal_getRadius(mCachedPtr); }
 			get { return Internal_getRadius(mCachedPtr); }
@@ -25,6 +26,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines position of the sphere shape, relative to the component's scene object.</summary>
 		/// <summary>Determines position of the sphere shape, relative to the component's scene object.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Center
 		public Vector3 Center
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/CSphericalJoint.generated.cs

@@ -24,6 +24,7 @@ namespace BansheeEngine
 		/// flag on the joint in order for this to be recognized.
 		/// flag on the joint in order for this to be recognized.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public LimitConeRange Limit
 		public LimitConeRange Limit
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ColorDistribution.generated.cs

@@ -48,6 +48,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the type of the represented distribution.</summary>
 		/// <summary>Returns the type of the represented distribution.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public PropertyDistributionType DistributionType
 		public PropertyDistributionType DistributionType
 		{
 		{
 			get { return Internal_getType(mCachedPtr); }
 			get { return Internal_getType(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ColorGradient.generated.cs

@@ -34,6 +34,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the number of color keys in the gradient.</summary>
 		/// <summary>Returns the number of color keys in the gradient.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint NumKeys
 		public uint NumKeys
 		{
 		{
 			get { return Internal_getNumKeys(mCachedPtr); }
 			get { return Internal_getNumKeys(mCachedPtr); }

+ 4 - 0
Source/Scripting/MBansheeEngine/Generated/ColorGradingSettings.generated.cs

@@ -15,6 +15,7 @@ namespace BansheeEngine
 		/// Saturation to be applied during color grading. Larger values increase vibrancy of the image. In range [0.0f, 2.0f].
 		/// Saturation to be applied during color grading. Larger values increase vibrancy of the image. In range [0.0f, 2.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Saturation
 		public Vector3 Saturation
 		{
 		{
 			get
 			get
@@ -31,6 +32,7 @@ namespace BansheeEngine
 		/// image. In range [0.0f, 2.0f].
 		/// image. In range [0.0f, 2.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Contrast
 		public Vector3 Contrast
 		{
 		{
 			get
 			get
@@ -46,6 +48,7 @@ namespace BansheeEngine
 		/// Gain to be applied during color grading. Simply increases all color values by an equal scale. In range [0.0f, 2.0f].
 		/// Gain to be applied during color grading. Simply increases all color values by an equal scale. In range [0.0f, 2.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Gain
 		public Vector3 Gain
 		{
 		{
 			get
 			get
@@ -61,6 +64,7 @@ namespace BansheeEngine
 		/// Gain to be applied during color grading. Simply offsets all color values by an equal amount. In range [-1.0f, 1.0f].
 		/// Gain to be applied during color grading. Simply offsets all color values by an equal amount. In range [-1.0f, 1.0f].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Offset
 		public Vector3 Offset
 		{
 		{
 			get
 			get

+ 7 - 0
Source/Scripting/MBansheeEngine/Generated/DepthOfFieldSettings.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Enables or disables the depth of field effect.</summary>
 		/// <summary>Enables or disables the depth of field effect.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Enabled
 		public bool Enabled
 		{
 		{
 			get { return Internal_getenabled(mCachedPtr); }
 			get { return Internal_getenabled(mCachedPtr); }
@@ -27,6 +28,7 @@ namespace BansheeEngine
 		/// Distance from the camera at which the focal plane is located in. Objects at this distance will be fully in focus.
 		/// Distance from the camera at which the focal plane is located in. Objects at this distance will be fully in focus.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float FocalDistance
 		public float FocalDistance
 		{
 		{
 			get { return Internal_getfocalDistance(mCachedPtr); }
 			get { return Internal_getfocalDistance(mCachedPtr); }
@@ -38,6 +40,7 @@ namespace BansheeEngine
 		/// relevant if Gaussian depth of field is used as other methods don't use a constant in-focus range.
 		/// relevant if Gaussian depth of field is used as other methods don't use a constant in-focus range.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float FocalRange
 		public float FocalRange
 		{
 		{
 			get { return Internal_getfocalRange(mCachedPtr); }
 			get { return Internal_getfocalRange(mCachedPtr); }
@@ -49,6 +52,7 @@ namespace BansheeEngine
 		/// Only relevant for Gaussian depth of field.
 		/// Only relevant for Gaussian depth of field.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float NearTransitionRange
 		public float NearTransitionRange
 		{
 		{
 			get { return Internal_getnearTransitionRange(mCachedPtr); }
 			get { return Internal_getnearTransitionRange(mCachedPtr); }
@@ -60,6 +64,7 @@ namespace BansheeEngine
 		/// Only relevant for Gaussian depth of field.
 		/// Only relevant for Gaussian depth of field.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float FarTransitionRange
 		public float FarTransitionRange
 		{
 		{
 			get { return Internal_getfarTransitionRange(mCachedPtr); }
 			get { return Internal_getfarTransitionRange(mCachedPtr); }
@@ -71,6 +76,7 @@ namespace BansheeEngine
 		/// Set to zero to disable near-field blur. Only relevant for Gaussian depth of field.
 		/// Set to zero to disable near-field blur. Only relevant for Gaussian depth of field.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float NearBlurAmount
 		public float NearBlurAmount
 		{
 		{
 			get { return Internal_getnearBlurAmount(mCachedPtr); }
 			get { return Internal_getnearBlurAmount(mCachedPtr); }
@@ -82,6 +88,7 @@ namespace BansheeEngine
 		/// zone. Set to zero to disable far-field blur. Only relevant for Gaussian depth of field.
 		/// zone. Set to zero to disable far-field blur. Only relevant for Gaussian depth of field.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float FarBlurAmount
 		public float FarBlurAmount
 		{
 		{
 			get { return Internal_getfarBlurAmount(mCachedPtr); }
 			get { return Internal_getfarBlurAmount(mCachedPtr); }

+ 6 - 0
Source/Scripting/MBansheeEngine/Generated/FontBitmap.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Font size for which the data is contained.</summary>
 		/// <summary>Font size for which the data is contained.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint Size
 		public uint Size
 		{
 		{
 			get { return Internal_getsize(mCachedPtr); }
 			get { return Internal_getsize(mCachedPtr); }
@@ -25,6 +26,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Y offset to the baseline on which the characters are placed, in pixels.</summary>
 		/// <summary>Y offset to the baseline on which the characters are placed, in pixels.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public int BaselineOffset
 		public int BaselineOffset
 		{
 		{
 			get { return Internal_getbaselineOffset(mCachedPtr); }
 			get { return Internal_getbaselineOffset(mCachedPtr); }
@@ -33,6 +35,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Height of a single line of the font, in pixels.</summary>
 		/// <summary>Height of a single line of the font, in pixels.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint LineHeight
 		public uint LineHeight
 		{
 		{
 			get { return Internal_getlineHeight(mCachedPtr); }
 			get { return Internal_getlineHeight(mCachedPtr); }
@@ -41,6 +44,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Character to use when data for a character is missing.</summary>
 		/// <summary>Character to use when data for a character is missing.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public CharDesc MissingGlyph
 		public CharDesc MissingGlyph
 		{
 		{
 			get
 			get
@@ -54,6 +58,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Width of a space in pixels.</summary>
 		/// <summary>Width of a space in pixels.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint SpaceWidth
 		public uint SpaceWidth
 		{
 		{
 			get { return Internal_getspaceWidth(mCachedPtr); }
 			get { return Internal_getspaceWidth(mCachedPtr); }
@@ -62,6 +67,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Textures in which the character's pixels are stored.</summary>
 		/// <summary>Textures in which the character's pixels are stored.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<Texture>[] TexturePages
 		public RRef<Texture>[] TexturePages
 		{
 		{
 			get { return Internal_gettexturePages(mCachedPtr); }
 			get { return Internal_gettexturePages(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/Material.generated.cs

@@ -40,6 +40,7 @@ namespace BansheeEngine
 		/// the shader. Shader must be set before doing any other operations with the material.
 		/// the shader. Shader must be set before doing any other operations with the material.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<Shader> Shader
 		public RRef<Shader> Shader
 		{
 		{
 			get { return Internal_getShader(mCachedPtr); }
 			get { return Internal_getShader(mCachedPtr); }

+ 5 - 0
Source/Scripting/MBansheeEngine/Generated/Mesh.generated.cs

@@ -102,6 +102,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Gets the skeleton required for animation of this mesh, if any is available.</summary>
 		/// <summary>Gets the skeleton required for animation of this mesh, if any is available.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Skeleton Skeleton
 		public Skeleton Skeleton
 		{
 		{
 			get { return Internal_getSkeleton(mCachedPtr); }
 			get { return Internal_getSkeleton(mCachedPtr); }
@@ -109,6 +110,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns an object containing all shapes used for morph animation, if any are available.</summary>
 		/// <summary>Returns an object containing all shapes used for morph animation, if any are available.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public MorphShapes MorphShapes
 		public MorphShapes MorphShapes
 		{
 		{
 			get { return Internal_getMorphShapes(mCachedPtr); }
 			get { return Internal_getMorphShapes(mCachedPtr); }
@@ -116,6 +118,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns all sub-meshes contained in the mesh.</summary>
 		/// <summary>Returns all sub-meshes contained in the mesh.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public SubMesh[] SubMeshes
 		public SubMesh[] SubMeshes
 		{
 		{
 			get { return Internal_getSubMeshes(mCachedPtr); }
 			get { return Internal_getSubMeshes(mCachedPtr); }
@@ -123,6 +126,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the number of sub-meshes contained in this mesh.</summary>
 		/// <summary>Returns the number of sub-meshes contained in this mesh.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint SubMeshCount
 		public uint SubMeshCount
 		{
 		{
 			get { return Internal_getSubMeshCount(mCachedPtr); }
 			get { return Internal_getSubMeshCount(mCachedPtr); }
@@ -133,6 +137,7 @@ namespace BansheeEngine
 		/// flag. If writing the caller must ensure the data matches mesh's vertex/index counts, vertex layout and index format.
 		/// flag. If writing the caller must ensure the data matches mesh's vertex/index counts, vertex layout and index format.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public MeshData MeshData
 		public MeshData MeshData
 		{
 		{
 			get { return Internal_getMeshData(mCachedPtr); }
 			get { return Internal_getMeshData(mCachedPtr); }

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/MorphChannel.generated.cs

@@ -21,6 +21,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the unique name of the channel.</summary>
 		/// <summary>Returns the unique name of the channel.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public string Name
 		public string Name
 		{
 		{
 			get { return Internal_getName(mCachedPtr); }
 			get { return Internal_getName(mCachedPtr); }
@@ -28,6 +29,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns all morph shapes within this channel, in order from lowest to highest.</summary>
 		/// <summary>Returns all morph shapes within this channel, in order from lowest to highest.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public MorphShape[] Shapes
 		public MorphShape[] Shapes
 		{
 		{
 			get { return Internal_getShapes(mCachedPtr); }
 			get { return Internal_getShapes(mCachedPtr); }

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/MorphShape.generated.cs

@@ -20,6 +20,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the name of the shape.</summary>
 		/// <summary>Returns the name of the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public string Name
 		public string Name
 		{
 		{
 			get { return Internal_getName(mCachedPtr); }
 			get { return Internal_getName(mCachedPtr); }
@@ -27,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the weight of the shape, determining how are different shapes within a channel blended.</summary>
 		/// <summary>Returns the weight of the shape, determining how are different shapes within a channel blended.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Weight
 		public float Weight
 		{
 		{
 			get { return Internal_getWeight(mCachedPtr); }
 			get { return Internal_getWeight(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/MorphShapes.generated.cs

@@ -21,6 +21,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns a list of all morph channels in the morph animation.</summary>
 		/// <summary>Returns a list of all morph channels in the morph animation.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public MorphChannel[] Channels
 		public MorphChannel[] Channels
 		{
 		{
 			get { return Internal_getChannels(mCachedPtr); }
 			get { return Internal_getChannels(mCachedPtr); }

+ 3 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleCollisions.generated.cs

@@ -30,6 +30,7 @@ namespace BansheeEngine
 		/// Determines a set of planes to use when using the Plane collision mode. Planes are expected to be in world  space.
 		/// Determines a set of planes to use when using the Plane collision mode. Planes are expected to be in world  space.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Plane[] Planes
 		public Plane[] Planes
 		{
 		{
 			get { return Internal_getPlanes(mCachedPtr); }
 			get { return Internal_getPlanes(mCachedPtr); }
@@ -41,6 +42,7 @@ namespace BansheeEngine
 		/// collision planes will be updated automatically. Object's negative Z axis is considered to be plane normal.
 		/// collision planes will be updated automatically. Object's negative Z axis is considered to be plane normal.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public SceneObject[] PlaneObjects
 		public SceneObject[] PlaneObjects
 		{
 		{
 			get { return Internal_getPlaneObjects(mCachedPtr); }
 			get { return Internal_getPlaneObjects(mCachedPtr); }
@@ -49,6 +51,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the evolver.</summary>
 		/// <summary>Options describing the evolver.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleCollisionsOptions Options
 		public ParticleCollisionsOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleColor.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the evolver.</summary>
 		/// <summary>Options describing the evolver.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleColorOptions Options
 		public ParticleColorOptions Options
 		{
 		{
 			get
 			get

+ 4 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleDepthCollisionSettings.generated.cs

@@ -21,6 +21,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines if depth collisions are enabled.</summary>
 		/// <summary>Determines if depth collisions are enabled.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Enabled
 		public bool Enabled
 		{
 		{
 			get { return Internal_getenabled(mCachedPtr); }
 			get { return Internal_getenabled(mCachedPtr); }
@@ -32,6 +33,7 @@ namespace BansheeEngine
 		/// higher values more.
 		/// higher values more.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Restitution
 		public float Restitution
 		{
 		{
 			get { return Internal_getrestitution(mCachedPtr); }
 			get { return Internal_getrestitution(mCachedPtr); }
@@ -43,6 +45,7 @@ namespace BansheeEngine
 		/// [0, 1].
 		/// [0, 1].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Dampening
 		public float Dampening
 		{
 		{
 			get { return Internal_getdampening(mCachedPtr); }
 			get { return Internal_getdampening(mCachedPtr); }
@@ -51,6 +54,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Scale which to apply to particle size in order to determine the collision radius.</summary>
 		/// <summary>Scale which to apply to particle size in order to determine the collision radius.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float RadiusScale
 		public float RadiusScale
 		{
 		{
 			get { return Internal_getradiusScale(mCachedPtr); }
 			get { return Internal_getradiusScale(mCachedPtr); }

+ 15 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitter.generated.cs

@@ -22,6 +22,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Shape over which to emit the particles.</summary>
 		/// <summary>Shape over which to emit the particles.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleEmitterShape Shape
 		public ParticleEmitterShape Shape
 		{
 		{
 			get { return Internal_getShape(mCachedPtr); }
 			get { return Internal_getShape(mCachedPtr); }
@@ -30,6 +31,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the number of particles that are emitted every second.</summary>
 		/// <summary>Determines the number of particles that are emitted every second.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public FloatDistribution EmissionRate
 		public FloatDistribution EmissionRate
 		{
 		{
 			get { return Internal_getEmissionRate(mCachedPtr); }
 			get { return Internal_getEmissionRate(mCachedPtr); }
@@ -38,6 +40,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines discrete intervals to emit particles.</summary>
 		/// <summary>Determines discrete intervals to emit particles.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleBurst[] EmissionBursts
 		public ParticleBurst[] EmissionBursts
 		{
 		{
 			get { return Internal_getEmissionBursts(mCachedPtr); }
 			get { return Internal_getEmissionBursts(mCachedPtr); }
@@ -46,6 +49,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the lifetime of particles when they are initially spawned, in seconds.</summary>
 		/// <summary>Determines the lifetime of particles when they are initially spawned, in seconds.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public FloatDistribution InitialLifetime
 		public FloatDistribution InitialLifetime
 		{
 		{
 			get { return Internal_getInitialLifetime(mCachedPtr); }
 			get { return Internal_getInitialLifetime(mCachedPtr); }
@@ -57,6 +61,7 @@ namespace BansheeEngine
 		/// direction, which is determined by the emission shape and potentially other properties.
 		/// direction, which is determined by the emission shape and potentially other properties.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public FloatDistribution InitialSpeed
 		public FloatDistribution InitialSpeed
 		{
 		{
 			get { return Internal_getInitialSpeed(mCachedPtr); }
 			get { return Internal_getInitialSpeed(mCachedPtr); }
@@ -68,6 +73,7 @@ namespace BansheeEngine
 		/// used if 3D size is disabled.
 		/// used if 3D size is disabled.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public FloatDistribution InitialSize
 		public FloatDistribution InitialSize
 		{
 		{
 			get { return Internal_getInitialSize(mCachedPtr); }
 			get { return Internal_getInitialSize(mCachedPtr); }
@@ -79,6 +85,7 @@ namespace BansheeEngine
 		/// Only used if 3D size is enabled.
 		/// Only used if 3D size is enabled.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3Distribution InitialSize3D
 		public Vector3Distribution InitialSize3D
 		{
 		{
 			get { return Internal_getInitialSize3D(mCachedPtr); }
 			get { return Internal_getInitialSize3D(mCachedPtr); }
@@ -90,6 +97,7 @@ namespace BansheeEngine
 		/// dimension (if enabled).
 		/// dimension (if enabled).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Use3DSize
 		public bool Use3DSize
 		{
 		{
 			get { return Internal_getUse3DSize(mCachedPtr); }
 			get { return Internal_getUse3DSize(mCachedPtr); }
@@ -101,6 +109,7 @@ namespace BansheeEngine
 		/// particle's local Z axis. Only used if 3D rotation is disabled.
 		/// particle's local Z axis. Only used if 3D rotation is disabled.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public FloatDistribution InitialRotation
 		public FloatDistribution InitialRotation
 		{
 		{
 			get { return Internal_getInitialRotation(mCachedPtr); }
 			get { return Internal_getInitialRotation(mCachedPtr); }
@@ -111,6 +120,7 @@ namespace BansheeEngine
 		/// Determines the rotation of the particles when initially spawned, in Euler angles. Only used if 3D rotation is enabled.
 		/// Determines the rotation of the particles when initially spawned, in Euler angles. Only used if 3D rotation is enabled.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3Distribution InitialRotation3D
 		public Vector3Distribution InitialRotation3D
 		{
 		{
 			get { return Internal_getInitialRotation3D(mCachedPtr); }
 			get { return Internal_getInitialRotation3D(mCachedPtr); }
@@ -122,6 +132,7 @@ namespace BansheeEngine
 		/// Euler angles that allow you to rotate around every axis (if enabled).
 		/// Euler angles that allow you to rotate around every axis (if enabled).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Use3DRotation
 		public bool Use3DRotation
 		{
 		{
 			get { return Internal_getUse3DRotation(mCachedPtr); }
 			get { return Internal_getUse3DRotation(mCachedPtr); }
@@ -130,6 +141,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the initial color (in RGB channels) and transparency (in A channel) of particles.</summary>
 		/// <summary>Determines the initial color (in RGB channels) and transparency (in A channel) of particles.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ColorDistribution InitialColor
 		public ColorDistribution InitialColor
 		{
 		{
 			get { return Internal_getInitialColor(mCachedPtr); }
 			get { return Internal_getInitialColor(mCachedPtr); }
@@ -141,6 +153,7 @@ namespace BansheeEngine
 		/// Offset will be randomly selected in all three axes in range [-value, value].
 		/// Offset will be randomly selected in all three axes in range [-value, value].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float RandomOffset
 		public float RandomOffset
 		{
 		{
 			get { return Internal_getRandomOffset(mCachedPtr); }
 			get { return Internal_getRandomOffset(mCachedPtr); }
@@ -152,6 +165,7 @@ namespace BansheeEngine
 		/// percent of particles that should be flipped, in range [0, 1].
 		/// percent of particles that should be flipped, in range [0, 1].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float FlipU
 		public float FlipU
 		{
 		{
 			get { return Internal_getFlipU(mCachedPtr); }
 			get { return Internal_getFlipU(mCachedPtr); }
@@ -163,6 +177,7 @@ namespace BansheeEngine
 		/// percent of particles that should be flipped, in range [0, 1].
 		/// percent of particles that should be flipped, in range [0, 1].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float FlipV
 		public float FlipV
 		{
 		{
 			get { return Internal_getFlipV(mCachedPtr); }
 			get { return Internal_getFlipV(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitterBoxShape.generated.cs

@@ -31,6 +31,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the shape.</summary>
 		/// <summary>Options describing the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleBoxShapeOptions Options
 		public ParticleBoxShapeOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitterCircleShape.generated.cs

@@ -32,6 +32,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the shape.</summary>
 		/// <summary>Options describing the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleCircleShapeOptions Options
 		public ParticleCircleShapeOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitterConeShape.generated.cs

@@ -32,6 +32,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the shape.</summary>
 		/// <summary>Options describing the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleConeShapeOptions Options
 		public ParticleConeShapeOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitterHemisphereShape.generated.cs

@@ -32,6 +32,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the shape.</summary>
 		/// <summary>Options describing the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleHemisphereShapeOptions Options
 		public ParticleHemisphereShapeOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitterLineShape.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the shape.</summary>
 		/// <summary>Options describing the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleLineShapeOptions Options
 		public ParticleLineShapeOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitterRectShape.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the shape.</summary>
 		/// <summary>Options describing the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleRectShapeOptions Options
 		public ParticleRectShapeOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitterSkinnedMeshShape.generated.cs

@@ -31,6 +31,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the shape.</summary>
 		/// <summary>Options describing the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleSkinnedMeshShapeOptions Options
 		public ParticleSkinnedMeshShapeOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitterSphereShape.generated.cs

@@ -32,6 +32,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the shape.</summary>
 		/// <summary>Options describing the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleSphereShapeOptions Options
 		public ParticleSphereShapeOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleEmitterStaticMeshShape.generated.cs

@@ -31,6 +31,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the shape.</summary>
 		/// <summary>Options describing the shape.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleStaticMeshShapeOptions Options
 		public ParticleStaticMeshShapeOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleForce.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the evolver.</summary>
 		/// <summary>Options describing the evolver.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleForceOptions Options
 		public ParticleForceOptions Options
 		{
 		{
 			get
 			get

+ 6 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleGpuSimulationSettings.generated.cs

@@ -16,6 +16,7 @@ namespace BansheeEngine
 		protected ParticleGpuSimulationSettings() { }
 		protected ParticleGpuSimulationSettings() { }
 
 
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleVectorFieldSettings VectorField
 		public ParticleVectorFieldSettings VectorField
 		{
 		{
 			get { return Internal_getvectorField(mCachedPtr); }
 			get { return Internal_getvectorField(mCachedPtr); }
@@ -24,6 +25,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines particle color, evaluated over the particle lifetime.</summary>
 		/// <summary>Determines particle color, evaluated over the particle lifetime.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ColorDistribution ColorOverLifetime
 		public ColorDistribution ColorOverLifetime
 		{
 		{
 			get { return Internal_getcolorOverLifetime(mCachedPtr); }
 			get { return Internal_getcolorOverLifetime(mCachedPtr); }
@@ -34,6 +36,7 @@ namespace BansheeEngine
 		/// Determines particle size, evaluated over the particle lifetime. Multiplied by the initial particle size.
 		/// Determines particle size, evaluated over the particle lifetime. Multiplied by the initial particle size.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector2Distribution SizeScaleOverLifetime
 		public Vector2Distribution SizeScaleOverLifetime
 		{
 		{
 			get { return Internal_getsizeScaleOverLifetime(mCachedPtr); }
 			get { return Internal_getsizeScaleOverLifetime(mCachedPtr); }
@@ -42,6 +45,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Constant acceleration to apply for each step of the simulation.</summary>
 		/// <summary>Constant acceleration to apply for each step of the simulation.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Acceleration
 		public Vector3 Acceleration
 		{
 		{
 			get
 			get
@@ -55,6 +59,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Amount of resistance to apply in the direction opposite of the particle's velocity.</summary>
 		/// <summary>Amount of resistance to apply in the direction opposite of the particle's velocity.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Drag
 		public float Drag
 		{
 		{
 			get { return Internal_getdrag(mCachedPtr); }
 			get { return Internal_getdrag(mCachedPtr); }
@@ -63,6 +68,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Settings controlling particle depth buffer collisions.</summary>
 		/// <summary>Settings controlling particle depth buffer collisions.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleDepthCollisionSettings DepthCollision
 		public ParticleDepthCollisionSettings DepthCollision
 		{
 		{
 			get { return Internal_getdepthCollision(mCachedPtr); }
 			get { return Internal_getdepthCollision(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleGravity.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the evolver.</summary>
 		/// <summary>Options describing the evolver.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleGravityOptions Options
 		public ParticleGravityOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleOrbit.generated.cs

@@ -30,6 +30,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the evolver.</summary>
 		/// <summary>Options describing the evolver.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleOrbitOptions Options
 		public ParticleOrbitOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleRotation.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the evolver.</summary>
 		/// <summary>Options describing the evolver.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleRotationOptions Options
 		public ParticleRotationOptions Options
 		{
 		{
 			get
 			get

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleSize.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the evolver.</summary>
 		/// <summary>Options describing the evolver.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleSizeOptions Options
 		public ParticleSizeOptions Options
 		{
 		{
 			get
 			get

+ 16 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleSystemSettings.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Material to render the particles with.</summary>
 		/// <summary>Material to render the particles with.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<Material> Material
 		public RRef<Material> Material
 		{
 		{
 			get { return Internal_getmaterial(mCachedPtr); }
 			get { return Internal_getmaterial(mCachedPtr); }
@@ -25,6 +26,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Mesh used for representing individual particles when using the Mesh rendering mode.</summary>
 		/// <summary>Mesh used for representing individual particles when using the Mesh rendering mode.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<Mesh> Mesh
 		public RRef<Mesh> Mesh
 		{
 		{
 			get { return Internal_getmesh(mCachedPtr); }
 			get { return Internal_getmesh(mCachedPtr); }
@@ -37,6 +39,7 @@ namespace BansheeEngine
 		/// customize the GPU simulation.
 		/// customize the GPU simulation.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool GpuSimulation
 		public bool GpuSimulation
 		{
 		{
 			get { return Internal_getgpuSimulation(mCachedPtr); }
 			get { return Internal_getgpuSimulation(mCachedPtr); }
@@ -45,6 +48,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines in which space are particles in.</summary>
 		/// <summary>Determines in which space are particles in.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleSimulationSpace SimulationSpace
 		public ParticleSimulationSpace SimulationSpace
 		{
 		{
 			get { return Internal_getsimulationSpace(mCachedPtr); }
 			get { return Internal_getsimulationSpace(mCachedPtr); }
@@ -53,6 +57,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines how are particles oriented when rendering.</summary>
 		/// <summary>Determines how are particles oriented when rendering.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleOrientation Orientation
 		public ParticleOrientation Orientation
 		{
 		{
 			get { return Internal_getorientation(mCachedPtr); }
 			get { return Internal_getorientation(mCachedPtr); }
@@ -64,6 +69,7 @@ namespace BansheeEngine
 		/// the Plane orientation mode.
 		/// the Plane orientation mode.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool OrientationLockY
 		public bool OrientationLockY
 		{
 		{
 			get { return Internal_getorientationLockY(mCachedPtr); }
 			get { return Internal_getorientationLockY(mCachedPtr); }
@@ -75,6 +81,7 @@ namespace BansheeEngine
 		/// ParticleOrientation::Plane.
 		/// ParticleOrientation::Plane.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 OrientationPlaneNormal
 		public Vector3 OrientationPlaneNormal
 		{
 		{
 			get
 			get
@@ -91,6 +98,7 @@ namespace BansheeEngine
 		/// simulation is enabled only distance based sorting is supported.
 		/// simulation is enabled only distance based sorting is supported.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleSortMode SortMode
 		public ParticleSortMode SortMode
 		{
 		{
 			get { return Internal_getsortMode(mCachedPtr); }
 			get { return Internal_getsortMode(mCachedPtr); }
@@ -102,6 +110,7 @@ namespace BansheeEngine
 		/// curves using particle system time for evaluation.
 		/// curves using particle system time for evaluation.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Duration
 		public float Duration
 		{
 		{
 			get { return Internal_getduration(mCachedPtr); }
 			get { return Internal_getduration(mCachedPtr); }
@@ -110,6 +119,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines should the particle system time wrap around once it reaches its duration.</summary>
 		/// <summary>Determines should the particle system time wrap around once it reaches its duration.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool IsLooping
 		public bool IsLooping
 		{
 		{
 			get { return Internal_getisLooping(mCachedPtr); }
 			get { return Internal_getisLooping(mCachedPtr); }
@@ -122,6 +132,7 @@ namespace BansheeEngine
 		/// between all particle systems).
 		/// between all particle systems).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint MaxParticles
 		public uint MaxParticles
 		{
 		{
 			get { return Internal_getmaxParticles(mCachedPtr); }
 			get { return Internal_getmaxParticles(mCachedPtr); }
@@ -133,6 +144,7 @@ namespace BansheeEngine
 		/// system yields different results each time it is ran.
 		/// system yields different results each time it is ran.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool UseAutomaticSeed
 		public bool UseAutomaticSeed
 		{
 		{
 			get { return Internal_getuseAutomaticSeed(mCachedPtr); }
 			get { return Internal_getuseAutomaticSeed(mCachedPtr); }
@@ -144,6 +156,7 @@ namespace BansheeEngine
 		/// between different runs. Only relevant if automatic seed is disabled.
 		/// between different runs. Only relevant if automatic seed is disabled.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint ManualSeed
 		public uint ManualSeed
 		{
 		{
 			get { return Internal_getmanualSeed(mCachedPtr); }
 			get { return Internal_getmanualSeed(mCachedPtr); }
@@ -156,6 +169,7 @@ namespace BansheeEngine
 		/// enabled.
 		/// enabled.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool UseAutomaticBounds
 		public bool UseAutomaticBounds
 		{
 		{
 			get { return Internal_getuseAutomaticBounds(mCachedPtr); }
 			get { return Internal_getuseAutomaticBounds(mCachedPtr); }
@@ -167,6 +181,7 @@ namespace BansheeEngine
 		/// particle system.
 		/// particle system.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AABox CustomBounds
 		public AABox CustomBounds
 		{
 		{
 			get
 			get
@@ -180,6 +195,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines how is each particle represented on the screen.</summary>
 		/// <summary>Determines how is each particle represented on the screen.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleRenderMode RenderMode
 		public ParticleRenderMode RenderMode
 		{
 		{
 			get { return Internal_getrenderMode(mCachedPtr); }
 			get { return Internal_getrenderMode(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleTextureAnimation.generated.cs

@@ -31,6 +31,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the evolver.</summary>
 		/// <summary>Options describing the evolver.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleTextureAnimationOptions Options
 		public ParticleTextureAnimationOptions Options
 		{
 		{
 			get
 			get

+ 10 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleVectorFieldSettings.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Vector field resource used for influencing the particles.</summary>
 		/// <summary>Vector field resource used for influencing the particles.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public RRef<VectorField> VectorField
 		public RRef<VectorField> VectorField
 		{
 		{
 			get { return Internal_getvectorField(mCachedPtr); }
 			get { return Internal_getvectorField(mCachedPtr); }
@@ -25,6 +26,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Intensity of the forces and velocities applied by the vector field.</summary>
 		/// <summary>Intensity of the forces and velocities applied by the vector field.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Intensity
 		public float Intensity
 		{
 		{
 			get { return Internal_getintensity(mCachedPtr); }
 			get { return Internal_getintensity(mCachedPtr); }
@@ -37,6 +39,7 @@ namespace BansheeEngine
 		/// velocities directly.
 		/// velocities directly.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Tightness
 		public float Tightness
 		{
 		{
 			get { return Internal_gettightness(mCachedPtr); }
 			get { return Internal_gettightness(mCachedPtr); }
@@ -47,6 +50,7 @@ namespace BansheeEngine
 		/// Scale to apply to the vector field bounds. This is multiplied with the bounds of the vector field resource.
 		/// Scale to apply to the vector field bounds. This is multiplied with the bounds of the vector field resource.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Scale
 		public Vector3 Scale
 		{
 		{
 			get
 			get
@@ -63,6 +67,7 @@ namespace BansheeEngine
 		/// the vector field resource.
 		/// the vector field resource.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3 Offset
 		public Vector3 Offset
 		{
 		{
 			get
 			get
@@ -76,6 +81,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Initial rotation of the vector field.</summary>
 		/// <summary>Initial rotation of the vector field.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Quaternion Rotation
 		public Quaternion Rotation
 		{
 		{
 			get
 			get
@@ -92,6 +98,7 @@ namespace BansheeEngine
 		/// over the particle system lifetime.
 		/// over the particle system lifetime.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3Distribution RotationRate
 		public Vector3Distribution RotationRate
 		{
 		{
 			get { return Internal_getrotationRate(mCachedPtr); }
 			get { return Internal_getrotationRate(mCachedPtr); }
@@ -103,6 +110,7 @@ namespace BansheeEngine
 		/// infinitely in the X direction.
 		/// infinitely in the X direction.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool TilingX
 		public bool TilingX
 		{
 		{
 			get { return Internal_gettilingX(mCachedPtr); }
 			get { return Internal_gettilingX(mCachedPtr); }
@@ -114,6 +122,7 @@ namespace BansheeEngine
 		/// infinitely in the Y direction.
 		/// infinitely in the Y direction.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool TilingY
 		public bool TilingY
 		{
 		{
 			get { return Internal_gettilingY(mCachedPtr); }
 			get { return Internal_gettilingY(mCachedPtr); }
@@ -125,6 +134,7 @@ namespace BansheeEngine
 		/// infinitely in the Z direction.
 		/// infinitely in the Z direction.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool TilingZ
 		public bool TilingZ
 		{
 		{
 			get { return Internal_gettilingZ(mCachedPtr); }
 			get { return Internal_gettilingZ(mCachedPtr); }

+ 1 - 0
Source/Scripting/MBansheeEngine/Generated/ParticleVelocity.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Options describing the evolver.</summary>
 		/// <summary>Options describing the evolver.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ParticleVelocityOptions Options
 		public ParticleVelocityOptions Options
 		{
 		{
 			get
 			get

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/Physics.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines the global gravity value for all objects in the scene.</summary>
 		/// <summary>Determines the global gravity value for all objects in the scene.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public static Vector3 Gravity
 		public static Vector3 Gravity
 		{
 		{
 			get
 			get
@@ -30,6 +31,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Checks is the physics simulation update currently in progress.</summary>
 		/// <summary>Checks is the physics simulation update currently in progress.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public static bool IsUpdateInProgress
 		public static bool IsUpdateInProgress
 		{
 		{
 			get { return Internal__isUpdateInProgress(); }
 			get { return Internal__isUpdateInProgress(); }

+ 3 - 0
Source/Scripting/MBansheeEngine/Generated/PhysicsMaterial.generated.cs

@@ -47,6 +47,7 @@ namespace BansheeEngine
 		/// to get an object moving from a static state while it is in contact with other object(s)).
 		/// to get an object moving from a static state while it is in contact with other object(s)).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float StaticFriction
 		public float StaticFriction
 		{
 		{
 			get { return Internal_getStaticFriction(mCachedPtr); }
 			get { return Internal_getStaticFriction(mCachedPtr); }
@@ -58,6 +59,7 @@ namespace BansheeEngine
 		/// object slow down when sliding along another object).
 		/// object slow down when sliding along another object).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float DynamicFriction
 		public float DynamicFriction
 		{
 		{
 			get { return Internal_getDynamicFriction(mCachedPtr); }
 			get { return Internal_getDynamicFriction(mCachedPtr); }
@@ -69,6 +71,7 @@ namespace BansheeEngine
 		/// means the value is inelastic. Must be in [0, 1] range.
 		/// means the value is inelastic. Must be in [0, 1] range.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Restitution
 		public float Restitution
 		{
 		{
 			get { return Internal_getRestitutionCoefficient(mCachedPtr); }
 			get { return Internal_getRestitutionCoefficient(mCachedPtr); }

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/PhysicsMesh.generated.cs

@@ -37,6 +37,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the type of the physics mesh.</summary>
 		/// <summary>Returns the type of the physics mesh.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public PhysicsMeshType Type
 		public PhysicsMeshType Type
 		{
 		{
 			get { return Internal_getType(mCachedPtr); }
 			get { return Internal_getType(mCachedPtr); }
@@ -44,6 +45,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the mesh's indices and vertices.</summary>
 		/// <summary>Returns the mesh's indices and vertices.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public MeshData MeshData
 		public MeshData MeshData
 		{
 		{
 			get { return Internal_getMeshData(mCachedPtr); }
 			get { return Internal_getMeshData(mCachedPtr); }

+ 6 - 0
Source/Scripting/MBansheeEngine/Generated/PixelData.generated.cs

@@ -29,6 +29,7 @@ namespace BansheeEngine
 		/// buffers require padding.
 		/// buffers require padding.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint RawRowPitch
 		public uint RawRowPitch
 		{
 		{
 			get { return Internal_getRowPitch(mCachedPtr); }
 			get { return Internal_getRowPitch(mCachedPtr); }
@@ -39,6 +40,7 @@ namespace BansheeEngine
 		/// have to be as some buffers require padding.
 		/// have to be as some buffers require padding.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint RawSlicePitch
 		public uint RawSlicePitch
 		{
 		{
 			get { return Internal_getSlicePitch(mCachedPtr); }
 			get { return Internal_getSlicePitch(mCachedPtr); }
@@ -46,6 +48,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the pixel format used by the internal buffer for storing the pixels.</summary>
 		/// <summary>Returns the pixel format used by the internal buffer for storing the pixels.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public PixelFormat Format
 		public PixelFormat Format
 		{
 		{
 			get { return Internal_getFormat(mCachedPtr); }
 			get { return Internal_getFormat(mCachedPtr); }
@@ -53,6 +56,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns extents of the pixel volume this object is capable of holding.</summary>
 		/// <summary>Returns extents of the pixel volume this object is capable of holding.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public PixelVolume Extents
 		public PixelVolume Extents
 		{
 		{
 			get
 			get
@@ -67,6 +71,7 @@ namespace BansheeEngine
 		/// Return whether this buffer is laid out consecutive in memory (meaning the pitches are equal to the dimensions).
 		/// Return whether this buffer is laid out consecutive in memory (meaning the pitches are equal to the dimensions).
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool RawIsConsecutive
 		public bool RawIsConsecutive
 		{
 		{
 			get { return Internal_isConsecutive(mCachedPtr); }
 			get { return Internal_isConsecutive(mCachedPtr); }
@@ -74,6 +79,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Return the size (in bytes) of the buffer this image requires.</summary>
 		/// <summary>Return the size (in bytes) of the buffer this image requires.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint RawSize
 		public uint RawSize
 		{
 		{
 			get { return Internal_getSize(mCachedPtr); }
 			get { return Internal_getSize(mCachedPtr); }

+ 20 - 0
Source/Scripting/MBansheeEngine/Generated/RenderSettings.generated.cs

@@ -26,6 +26,7 @@ namespace BansheeEngine
 		/// automatic exposure. When automatic exposure is turned off you can use exposureScale to manually set the exposure.
 		/// automatic exposure. When automatic exposure is turned off you can use exposureScale to manually set the exposure.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool EnableAutoExposure
 		public bool EnableAutoExposure
 		{
 		{
 			get { return Internal_getenableAutoExposure(mCachedPtr); }
 			get { return Internal_getenableAutoExposure(mCachedPtr); }
@@ -34,6 +35,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Parameters used for customizing automatic scene exposure.</summary>
 		/// <summary>Parameters used for customizing automatic scene exposure.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AutoExposureSettings AutoExposure
 		public AutoExposureSettings AutoExposure
 		{
 		{
 			get { return Internal_getautoExposure(mCachedPtr); }
 			get { return Internal_getautoExposure(mCachedPtr); }
@@ -50,6 +52,7 @@ namespace BansheeEngine
 		/// If this is disabled, then color grading and white balancing will not be enabled either. Only relevant for HDR images.
 		/// If this is disabled, then color grading and white balancing will not be enabled either. Only relevant for HDR images.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool EnableTonemapping
 		public bool EnableTonemapping
 		{
 		{
 			get { return Internal_getenableTonemapping(mCachedPtr); }
 			get { return Internal_getenableTonemapping(mCachedPtr); }
@@ -58,6 +61,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Parameters used for customizing tonemapping.</summary>
 		/// <summary>Parameters used for customizing tonemapping.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public TonemappingSettings Tonemapping
 		public TonemappingSettings Tonemapping
 		{
 		{
 			get { return Internal_gettonemapping(mCachedPtr); }
 			get { return Internal_gettonemapping(mCachedPtr); }
@@ -70,6 +74,7 @@ namespace BansheeEngine
 		/// simulate the effects of chromatic adaptation of the human visual system.
 		/// simulate the effects of chromatic adaptation of the human visual system.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public WhiteBalanceSettings WhiteBalance
 		public WhiteBalanceSettings WhiteBalance
 		{
 		{
 			get { return Internal_getwhiteBalance(mCachedPtr); }
 			get { return Internal_getwhiteBalance(mCachedPtr); }
@@ -78,6 +83,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Parameters used for customizing color grading.</summary>
 		/// <summary>Parameters used for customizing color grading.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ColorGradingSettings ColorGrading
 		public ColorGradingSettings ColorGrading
 		{
 		{
 			get { return Internal_getcolorGrading(mCachedPtr); }
 			get { return Internal_getcolorGrading(mCachedPtr); }
@@ -86,6 +92,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Parameters used for customizing the depth of field effect.</summary>
 		/// <summary>Parameters used for customizing the depth of field effect.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public DepthOfFieldSettings DepthOfField
 		public DepthOfFieldSettings DepthOfField
 		{
 		{
 			get { return Internal_getdepthOfField(mCachedPtr); }
 			get { return Internal_getdepthOfField(mCachedPtr); }
@@ -94,6 +101,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Parameters used for customizing screen space ambient occlusion.</summary>
 		/// <summary>Parameters used for customizing screen space ambient occlusion.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public AmbientOcclusionSettings AmbientOcclusion
 		public AmbientOcclusionSettings AmbientOcclusion
 		{
 		{
 			get { return Internal_getambientOcclusion(mCachedPtr); }
 			get { return Internal_getambientOcclusion(mCachedPtr); }
@@ -102,6 +110,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Parameters used for customizing screen space reflections.</summary>
 		/// <summary>Parameters used for customizing screen space reflections.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ScreenSpaceReflectionsSettings ScreenSpaceReflections
 		public ScreenSpaceReflectionsSettings ScreenSpaceReflections
 		{
 		{
 			get { return Internal_getscreenSpaceReflections(mCachedPtr); }
 			get { return Internal_getscreenSpaceReflections(mCachedPtr); }
@@ -110,6 +119,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Parameters used for customizing the bloom effect.</summary>
 		/// <summary>Parameters used for customizing the bloom effect.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public BloomSettings Bloom
 		public BloomSettings Bloom
 		{
 		{
 			get { return Internal_getbloom(mCachedPtr); }
 			get { return Internal_getbloom(mCachedPtr); }
@@ -118,6 +128,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Enables the fast approximate anti-aliasing effect.</summary>
 		/// <summary>Enables the fast approximate anti-aliasing effect.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool EnableFXAA
 		public bool EnableFXAA
 		{
 		{
 			get { return Internal_getenableFXAA(mCachedPtr); }
 			get { return Internal_getenableFXAA(mCachedPtr); }
@@ -130,6 +141,7 @@ namespace BansheeEngine
 		/// enabled). In range [-8, 8].
 		/// enabled). In range [-8, 8].
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float ExposureScale
 		public float ExposureScale
 		{
 		{
 			get { return Internal_getexposureScale(mCachedPtr); }
 			get { return Internal_getexposureScale(mCachedPtr); }
@@ -142,6 +154,7 @@ namespace BansheeEngine
 		/// tonemapping is turned off this is the exact value of the gamma curve that will be applied.
 		/// tonemapping is turned off this is the exact value of the gamma curve that will be applied.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Gamma
 		public float Gamma
 		{
 		{
 			get { return Internal_getgamma(mCachedPtr); }
 			get { return Internal_getgamma(mCachedPtr); }
@@ -153,6 +166,7 @@ namespace BansheeEngine
 		/// of values. The stored light is then converted into visible color range using exposure and a tone mapping  operator.
 		/// of values. The stored light is then converted into visible color range using exposure and a tone mapping  operator.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool EnableHDR
 		public bool EnableHDR
 		{
 		{
 			get { return Internal_getenableHDR(mCachedPtr); }
 			get { return Internal_getenableHDR(mCachedPtr); }
@@ -164,6 +178,7 @@ namespace BansheeEngine
 		/// with no lighting applied.
 		/// with no lighting applied.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool EnableLighting
 		public bool EnableLighting
 		{
 		{
 			get { return Internal_getenableLighting(mCachedPtr); }
 			get { return Internal_getenableLighting(mCachedPtr); }
@@ -172,6 +187,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines if shadows cast by lights should be rendered. Only relevant if lighting is turned on.</summary>
 		/// <summary>Determines if shadows cast by lights should be rendered. Only relevant if lighting is turned on.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool EnableShadows
 		public bool EnableShadows
 		{
 		{
 			get { return Internal_getenableShadows(mCachedPtr); }
 			get { return Internal_getenableShadows(mCachedPtr); }
@@ -180,6 +196,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Parameters used for customizing shadow rendering.</summary>
 		/// <summary>Parameters used for customizing shadow rendering.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public ShadowSettings ShadowSettings
 		public ShadowSettings ShadowSettings
 		{
 		{
 			get { return Internal_getshadowSettings(mCachedPtr); }
 			get { return Internal_getshadowSettings(mCachedPtr); }
@@ -188,6 +205,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Determines if indirect lighting (e.g. from light probes or the sky) is rendered.</summary>
 		/// <summary>Determines if indirect lighting (e.g. from light probes or the sky) is rendered.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool EnableIndirectLighting
 		public bool EnableIndirectLighting
 		{
 		{
 			get { return Internal_getenableIndirectLighting(mCachedPtr); }
 			get { return Internal_getenableIndirectLighting(mCachedPtr); }
@@ -200,6 +218,7 @@ namespace BansheeEngine
 		/// usage for overlay-only views.
 		/// usage for overlay-only views.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool OverlayOnly
 		public bool OverlayOnly
 		{
 		{
 			get { return Internal_getoverlayOnly(mCachedPtr); }
 			get { return Internal_getoverlayOnly(mCachedPtr); }
@@ -211,6 +230,7 @@ namespace BansheeEngine
 		/// disabled the camera will use the clear color for rendering the background.
 		/// disabled the camera will use the clear color for rendering the background.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool EnableSkybox
 		public bool EnableSkybox
 		{
 		{
 			get { return Internal_getenableSkybox(mCachedPtr); }
 			get { return Internal_getenableSkybox(mCachedPtr); }

+ 5 - 0
Source/Scripting/MBansheeEngine/Generated/RenderTarget.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Width of the render target, in pixels.</summary>
 		/// <summary>Width of the render target, in pixels.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint Width
 		public uint Width
 		{
 		{
 			get { return Internal_getWidth(mCachedPtr); }
 			get { return Internal_getWidth(mCachedPtr); }
@@ -24,6 +25,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Height of the render target, in pixels.</summary>
 		/// <summary>Height of the render target, in pixels.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint Height
 		public uint Height
 		{
 		{
 			get { return Internal_getHeight(mCachedPtr); }
 			get { return Internal_getHeight(mCachedPtr); }
@@ -31,6 +33,7 @@ namespace BansheeEngine
 
 
 		/// <summary>True if pixels written to the render target will be gamma corrected.</summary>
 		/// <summary>True if pixels written to the render target will be gamma corrected.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool GammaCorrection
 		public bool GammaCorrection
 		{
 		{
 			get { return Internal_getGammaCorrection(mCachedPtr); }
 			get { return Internal_getGammaCorrection(mCachedPtr); }
@@ -41,6 +44,7 @@ namespace BansheeEngine
 		/// priority will be rendered before ones with lower priority.
 		/// priority will be rendered before ones with lower priority.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public int Priority
 		public int Priority
 		{
 		{
 			get { return Internal_getPriority(mCachedPtr); }
 			get { return Internal_getPriority(mCachedPtr); }
@@ -49,6 +53,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Controls how many samples are used for multisampling. (0 or 1 if multisampling is not used).</summary>
 		/// <summary>Controls how many samples are used for multisampling. (0 or 1 if multisampling is not used).</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint SampleCount
 		public uint SampleCount
 		{
 		{
 			get { return Internal_getSampleCount(mCachedPtr); }
 			get { return Internal_getSampleCount(mCachedPtr); }

+ 3 - 0
Source/Scripting/MBansheeEngine/Generated/RenderTexture.generated.cs

@@ -66,6 +66,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the primary color surface that contains rendered color data.</summary>
 		/// <summary>Returns the primary color surface that contains rendered color data.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Texture ColorSurface
 		public Texture ColorSurface
 		{
 		{
 			get { return Internal_getColorSurface(mCachedPtr); }
 			get { return Internal_getColorSurface(mCachedPtr); }
@@ -73,6 +74,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns all the color surfaces.</summary>
 		/// <summary>Returns all the color surfaces.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Texture[] ColorSurfaces
 		public Texture[] ColorSurfaces
 		{
 		{
 			get { return Internal_getColorSurfaces(mCachedPtr); }
 			get { return Internal_getColorSurfaces(mCachedPtr); }
@@ -80,6 +82,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the depth/stencil surface that contains rendered depth and stencil data.</summary>
 		/// <summary>Returns the depth/stencil surface that contains rendered depth and stencil data.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Texture DepthStencilSurface
 		public Texture DepthStencilSurface
 		{
 		{
 			get { return Internal_getDepthStencilSurface(mCachedPtr); }
 			get { return Internal_getDepthStencilSurface(mCachedPtr); }

+ 10 - 0
Source/Scripting/MBansheeEngine/Generated/RendererMeshData.generated.cs

@@ -24,6 +24,7 @@ namespace BansheeEngine
 
 
 		/// <summary>An array of all vertex positions. Only valid if the vertex layout contains vertex positions.</summary>
 		/// <summary>An array of all vertex positions. Only valid if the vertex layout contains vertex positions.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3[] Positions
 		public Vector3[] Positions
 		{
 		{
 			get { return Internal_getPositions(mCachedPtr); }
 			get { return Internal_getPositions(mCachedPtr); }
@@ -32,6 +33,7 @@ namespace BansheeEngine
 
 
 		/// <summary>An array of all vertex normals. Only valid if the vertex layout contains vertex normals.</summary>
 		/// <summary>An array of all vertex normals. Only valid if the vertex layout contains vertex normals.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3[] Normals
 		public Vector3[] Normals
 		{
 		{
 			get { return Internal_getNormals(mCachedPtr); }
 			get { return Internal_getNormals(mCachedPtr); }
@@ -40,6 +42,7 @@ namespace BansheeEngine
 
 
 		/// <summary>An array of all vertex tangents. Only valid if the vertex layout contains vertex tangents.</summary>
 		/// <summary>An array of all vertex tangents. Only valid if the vertex layout contains vertex tangents.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector4[] Tangents
 		public Vector4[] Tangents
 		{
 		{
 			get { return Internal_getTangents(mCachedPtr); }
 			get { return Internal_getTangents(mCachedPtr); }
@@ -48,6 +51,7 @@ namespace BansheeEngine
 
 
 		/// <summary>An array of all vertex colors. Only valid if the vertex layout contains vertex colors.</summary>
 		/// <summary>An array of all vertex colors. Only valid if the vertex layout contains vertex colors.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Color[] Colors
 		public Color[] Colors
 		{
 		{
 			get { return Internal_getColors(mCachedPtr); }
 			get { return Internal_getColors(mCachedPtr); }
@@ -59,6 +63,7 @@ namespace BansheeEngine
 		/// coordinates.
 		/// coordinates.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector2[] UV0
 		public Vector2[] UV0
 		{
 		{
 			get { return Internal_getUV0(mCachedPtr); }
 			get { return Internal_getUV0(mCachedPtr); }
@@ -70,6 +75,7 @@ namespace BansheeEngine
 		/// coordinates.
 		/// coordinates.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector2[] UV1
 		public Vector2[] UV1
 		{
 		{
 			get { return Internal_getUV1(mCachedPtr); }
 			get { return Internal_getUV1(mCachedPtr); }
@@ -78,6 +84,7 @@ namespace BansheeEngine
 
 
 		/// <summary>An array of all vertex bone weights. Only valid if the vertex layout contains bone weights.</summary>
 		/// <summary>An array of all vertex bone weights. Only valid if the vertex layout contains bone weights.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public BoneWeight[] BoneWeights
 		public BoneWeight[] BoneWeights
 		{
 		{
 			get { return Internal_getBoneWeights(mCachedPtr); }
 			get { return Internal_getBoneWeights(mCachedPtr); }
@@ -86,6 +93,7 @@ namespace BansheeEngine
 
 
 		/// <summary>An array of all indices.</summary>
 		/// <summary>An array of all indices.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint[] Indices
 		public uint[] Indices
 		{
 		{
 			get { return Internal_getIndices(mCachedPtr); }
 			get { return Internal_getIndices(mCachedPtr); }
@@ -94,6 +102,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the number of vertices contained in the mesh.</summary>
 		/// <summary>Returns the number of vertices contained in the mesh.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public int VertexCount
 		public int VertexCount
 		{
 		{
 			get { return Internal_getVertexCount(mCachedPtr); }
 			get { return Internal_getVertexCount(mCachedPtr); }
@@ -101,6 +110,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Returns the number of indices contained in the mesh.</summary>
 		/// <summary>Returns the number of indices contained in the mesh.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public int IndexCount
 		public int IndexCount
 		{
 		{
 			get { return Internal_getIndexCount(mCachedPtr); }
 			get { return Internal_getIndexCount(mCachedPtr); }

+ 2 - 0
Source/Scripting/MBansheeEngine/Generated/RootMotion.generated.cs

@@ -17,6 +17,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Animation curve representing the movement of the root bone.</summary>
 		/// <summary>Animation curve representing the movement of the root bone.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public Vector3Curve Position
 		public Vector3Curve Position
 		{
 		{
 			get { return Internal_getPositionCurves(mCachedPtr); }
 			get { return Internal_getPositionCurves(mCachedPtr); }
@@ -24,6 +25,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Animation curve representing the rotation of the root bone.</summary>
 		/// <summary>Animation curve representing the rotation of the root bone.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public QuaternionCurve Rotation
 		public QuaternionCurve Rotation
 		{
 		{
 			get { return Internal_getRotationCurves(mCachedPtr); }
 			get { return Internal_getRotationCurves(mCachedPtr); }

+ 4 - 0
Source/Scripting/MBansheeEngine/Generated/ScreenSpaceReflectionsSettings.generated.cs

@@ -28,6 +28,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Enables or disables the SSR effect.</summary>
 		/// <summary>Enables or disables the SSR effect.</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public bool Enabled
 		public bool Enabled
 		{
 		{
 			get { return Internal_getenabled(mCachedPtr); }
 			get { return Internal_getenabled(mCachedPtr); }
@@ -40,6 +41,7 @@ namespace BansheeEngine
 		/// default is 2.
 		/// default is 2.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public uint Quality
 		public uint Quality
 		{
 		{
 			get { return Internal_getquality(mCachedPtr); }
 			get { return Internal_getquality(mCachedPtr); }
@@ -48,6 +50,7 @@ namespace BansheeEngine
 
 
 		/// <summary>Intensity of the screen space reflections. Valid range is [0, 1]. Default is 1 (100%).</summary>
 		/// <summary>Intensity of the screen space reflections. Valid range is [0, 1]. Default is 1 (100%).</summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float Intensity
 		public float Intensity
 		{
 		{
 			get { return Internal_getintensity(mCachedPtr); }
 			get { return Internal_getintensity(mCachedPtr); }
@@ -59,6 +62,7 @@ namespace BansheeEngine
 		/// [0, 1]. Default is 0.8.
 		/// [0, 1]. Default is 0.8.
 		/// </summary>
 		/// </summary>
 		[ShowInInspector]
 		[ShowInInspector]
+		[NativeWrapper]
 		public float MaxRoughness
 		public float MaxRoughness
 		{
 		{
 			get { return Internal_getmaxRoughness(mCachedPtr); }
 			get { return Internal_getmaxRoughness(mCachedPtr); }

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů