﻿		#region Method #{MethodName}

		[DllImport("MyGUI_Export", CallingConvention = CallingConvention.Cdecl)]
        #{MarshalAsReturn}
		private static extern #{MarshalTypeNameReturn} Export#{ThisName}_#{MethodName}#{ValueName1}#{ValueName2}#{ValueName3}#{ValueName4}( IntPtr _native ,
			#{MarshalAs1} #{TypePrefix1} #{MarshalTypeName1} #{ValueName1} ,
			#{MarshalAs2} #{TypePrefix2} #{MarshalTypeName2} #{ValueName2} ,
			#{MarshalAs3} #{TypePrefix3} #{MarshalTypeName3} #{ValueName3} ,
			#{MarshalAs4} #{TypePrefix4} #{MarshalTypeName4} #{ValueName4} );

		public #{TypeName} #{MethodName}(
			#{TypeName1} #{ValueName1} ,
			#{TypeName2} #{ValueName2} ,
			#{TypeName3} #{ValueName3} ,
			#{TypeName4} #{ValueName4} )
		{
			return #{MarshalConvertBefore} Export#{ThisName}_#{MethodName}#{ValueName1}#{ValueName2}#{ValueName3}#{ValueName4}( mNative , 
				#{TypePrefix1} #{ValueName1} ,
				#{TypePrefix2} #{ValueName2} ,
				#{TypePrefix3} #{ValueName3} ,
				#{TypePrefix4} #{ValueName4} ) #{MarshalConvertPost} ;
		}

		[DllImport("MyGUI_Export", CallingConvention = CallingConvention.Cdecl)]
        #{MarshalAsReturn}
		private static extern #{MarshalTypeNameReturn} Export#{ThisName}_#{MethodName}#{ValueName1}#{ValueName2}#{ValueName3}( IntPtr _native ,
			#{MarshalAs1} #{TypePrefix1} #{MarshalTypeName1} #{ValueName1} ,
			#{MarshalAs2} #{TypePrefix2} #{MarshalTypeName2} #{ValueName2} ,
			#{MarshalAs3} #{TypePrefix3} #{MarshalTypeName3} #{ValueName3} );

		public #{TypeName} #{MethodName}(
			#{TypeName1} #{ValueName1} ,
			#{TypeName2} #{ValueName2} ,
			#{TypeName3} #{ValueName3} )
		{
			return #{MarshalConvertBefore} Export#{ThisName}_#{MethodName}#{ValueName1}#{ValueName2}#{ValueName3}( mNative , 
				#{TypePrefix1} #{ValueName1} ,
				#{TypePrefix2} #{ValueName2} ,
				#{TypePrefix3} #{ValueName3} ) #{MarshalConvertPost} ;
		}

		[DllImport("MyGUI_Export", CallingConvention = CallingConvention.Cdecl)]
        #{MarshalAsReturn}
		private static extern #{MarshalTypeNameReturn} Export#{ThisName}_#{MethodName}#{ValueName1}#{ValueName2}( IntPtr _native ,
			#{MarshalAs1} #{TypePrefix1} #{MarshalTypeName1} #{ValueName1} ,
			#{MarshalAs2} #{TypePrefix2} #{MarshalTypeName2} #{ValueName2} );

		public #{TypeName} #{MethodName}(
			#{TypeName1} #{ValueName1} ,
			#{TypeName2} #{ValueName2} )
		{
			return #{MarshalConvertBefore} Export#{ThisName}_#{MethodName}#{ValueName1}#{ValueName2}( mNative , 
				#{TypePrefix1} #{ValueName1} ,
				#{TypePrefix2} #{ValueName2} ) #{MarshalConvertPost} ;
		}
		
		[DllImport("MyGUI_Export", CallingConvention = CallingConvention.Cdecl)]
        #{MarshalAsReturn}
		private static extern #{MarshalTypeNameReturn} Export#{ThisName}_#{MethodName}#{ValueName1}( IntPtr _native ,
			#{MarshalAs1} #{TypePrefix1} #{MarshalTypeName1} #{ValueName1} );

		public #{TypeName} #{MethodName}(
			#{TypeName1} #{ValueName1} )
		{
			return #{MarshalConvertBefore} Export#{ThisName}_#{MethodName}#{ValueName1}( mNative , 
				#{TypePrefix1} #{ValueName1} ) #{MarshalConvertPost} ;
		}
		
		#endregion
