context: using UnityEngine;
  using System;
  using LuaInterface;
  using SLua;
  using System.Collections.Generic;
  public class Lua_UnityEngine_Mesh : LuaObject {
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int constructor(IntPtr l) {
  		try {
  			UnityEngine.Mesh o;
  			o=new UnityEngine.Mesh();
  			pushValue(l,true);
  			pushValue(l,o);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Clear(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==1){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				self.Clear();
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==2){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Boolean a1;
  				checkType(l,2,out a1);
  				self.Clear(a1);
  				pushValue(l,true);
  				return 1;
  			}
  			pushValue(l,false);
  			LuaDLL.lua_pushstring(l,"No matched override function to call");
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetVertices(IntPtr l) {
  		try {
  			UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  			System.Collections.Generic.List<UnityEngine.Vector3> a1;
  			checkType(l,2,out a1);
  			self.SetVertices(a1);
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetNormals(IntPtr l) {
  		try {
  			UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  			System.Collections.Generic.List<UnityEngine.Vector3> a1;
  			checkType(l,2,out a1);
  			self.SetNormals(a1);
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetTangents(IntPtr l) {
  		try {
  			UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  			System.Collections.Generic.List<UnityEngine.Vector4> a1;
  			checkType(l,2,out a1);
  			self.SetTangents(a1);
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetUVs(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(matchType(l,argc,2,typeof(int),typeof(List<UnityEngine.Vector4>))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Int32 a1;
  				checkType(l,2,out a1);
  				System.Collections.Generic.List<UnityEngine.Vector4> a2;
  				checkType(l,3,out a2);
  				self.SetUVs(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(matchType(l,argc,2,typeof(int),typeof(List<UnityEngine.Vector3>))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Int32 a1;
  				checkType(l,2,out a1);
  				System.Collections.Generic.List<UnityEngine.Vector3> a2;
  				checkType(l,3,out a2);
  				self.SetUVs(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(matchType(l,argc,2,typeof(int),typeof(List<UnityEngine.Vector2>))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Int32 a1;
  				checkType(l,2,out a1);
  				System.Collections.Generic.List<UnityEngine.Vector2> a2;
  				checkType(l,3,out a2);
  				self.SetUVs(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			pushValue(l,false);
  			LuaDLL.lua_pushstring(l,"No matched override function to call");
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int GetUVs(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(matchType(l,argc,2,typeof(int),typeof(List<UnityEngine.Vector4>))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Int32 a1;
  				checkType(l,2,out a1);
  				System.Collections.Generic.List<UnityEngine.Vector4> a2;
  				checkType(l,3,out a2);
  				self.GetUVs(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(matchType(l,argc,2,typeof(int),typeof(List<UnityEngine.Vector3>))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Int32 a1;
  				checkType(l,2,out a1);
  				System.Collections.Generic.List<UnityEngine.Vector3> a2;
  				checkType(l,3,out a2);
  				self.GetUVs(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(matchType(l,argc,2,typeof(int),typeof(List<UnityEngine.Vector2>))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Int32 a1;
  				checkType(l,2,out a1);
  				System.Collections.Generic.List<UnityEngine.Vector2> a2;
  				checkType(l,3,out a2);
  				self.GetUVs(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			pushValue(l,false);
  			LuaDLL.lua_pushstring(l,"No matched override function to call");
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetColors(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(matchType(l,argc,2,typeof(List<UnityEngine.Color32>))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Collections.Generic.List<UnityEngine.Color32> a1;
  				checkType(l,2,out a1);
  				self.SetColors(a1);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(matchType(l,argc,2,typeof(List<UnityEngine.Color>))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Collections.Generic.List<UnityEngine.Color> a1;
  				checkType(l,2,out a1);
  				self.SetColors(a1);
  				pushValue(l,true);
  				return 1;
  			}
  			pushValue(l,false);
  			LuaDLL.lua_pushstring(l,"No matched override function to call");
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int RecalculateBounds(IntPtr l) {
  		try {
  			UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  			self.RecalculateBounds();
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int RecalculateNormals(IntPtr l) {
  		try {
  			UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  			self.RecalculateNormals();
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Optimize(IntPtr l) {
  		try {
  			UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  			self.Optimize();
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int GetTriangles(IntPtr l) {
  		try {
  			UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  			System.Int32 a1;
  			checkType(l,2,out a1);
  			var ret=self.GetTriangles(a1);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetTriangles(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(matchType(l,argc,2,typeof(List<System.Int32>),typeof(int))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Collections.Generic.List<System.Int32> a1;
  				checkType(l,2,out a1);
  				System.Int32 a2;
  				checkType(l,3,out a2);
  				self.SetTriangles(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(matchType(l,argc,2,typeof(System.Int32[]),typeof(int))){
  				UnityEngine.Mesh self=(UnityEngine.Mesh)checkSelf(l);
  				System.Int32[] a1;
  				checkArray(l,2,out a1);
  				System.Int32 a2;
  				checkType(l,3,out a2);
  				self.SetTriangles(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			pushValue(l,false);
  
gt: 			LuaDLL.lua_pushstring(l,"No matched override function to call");