context: using UnityEngine;
  using System;
  using LuaInterface;
  using SLua;
  using System.Collections.Generic;
  public class Lua_UnityEngine_Quaternion : LuaObject {
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int constructor(IntPtr l) {
  		try {
  			UnityEngine.Quaternion o;
  			System.Single a1;
  			checkType(l,2,out a1);
  			System.Single a2;
  			checkType(l,3,out a2);
  			System.Single a3;
  			checkType(l,4,out a3);
  			System.Single a4;
  			checkType(l,5,out a4);
  			o=new UnityEngine.Quaternion(a1,a2,a3,a4);
  			pushValue(l,true);
  			pushValue(l,o);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Set(IntPtr l) {
  		try {
  			UnityEngine.Quaternion self;
  			checkType(l,1,out self);
  			System.Single a1;
  			checkType(l,2,out a1);
  			System.Single a2;
  			checkType(l,3,out a2);
  			System.Single a3;
  			checkType(l,4,out a3);
  			System.Single a4;
  			checkType(l,5,out a4);
  			self.Set(a1,a2,a3,a4);
  			pushValue(l,true);
  			setBack(l,self);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int ToAngleAxis(IntPtr l) {
  		try {
  			UnityEngine.Quaternion self;
  			checkType(l,1,out self);
  			System.Single a1;
  			UnityEngine.Vector3 a2;
  			self.ToAngleAxis(out a1,out a2);
  			pushValue(l,true);
  			pushValue(l,a1);
  			pushValue(l,a2);
  			setBack(l,self);
  			return 3;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetFromToRotation(IntPtr l) {
  		try {
  			UnityEngine.Quaternion self;
  			checkType(l,1,out self);
  			UnityEngine.Vector3 a1;
  			checkType(l,2,out a1);
  			UnityEngine.Vector3 a2;
  			checkType(l,3,out a2);
  			self.SetFromToRotation(a1,a2);
  			pushValue(l,true);
  			setBack(l,self);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetLookRotation(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==2){
  				UnityEngine.Quaternion self;
  				checkType(l,1,out self);
  				UnityEngine.Vector3 a1;
  				checkType(l,2,out a1);
  				self.SetLookRotation(a1);
  				pushValue(l,true);
  				setBack(l,self);
  				return 1;
  			}
  			else if(argc==3){
  				UnityEngine.Quaternion self;
  				checkType(l,1,out self);
  				UnityEngine.Vector3 a1;
  				checkType(l,2,out a1);
  				UnityEngine.Vector3 a2;
  				checkType(l,3,out a2);
  				self.SetLookRotation(a1,a2);
  				pushValue(l,true);
  				setBack(l,self);
  				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 Dot_s(IntPtr l) {
  		try {
  			UnityEngine.Quaternion a1;
  			checkType(l,1,out a1);
  			UnityEngine.Quaternion a2;
  			checkType(l,2,out a2);
  			var ret=UnityEngine.Quaternion.Dot(a1,a2);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int AngleAxis_s(IntPtr l) {
  		try {
  			System.Single a1;
  			checkType(l,1,out a1);
  			UnityEngine.Vector3 a2;
  			checkType(l,2,out a2);
  			var ret=UnityEngine.Quaternion.AngleAxis(a1,a2);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int FromToRotation_s(IntPtr l) {
  		try {
  			UnityEngine.Vector3 a1;
  			checkType(l,1,out a1);
  			UnityEngine.Vector3 a2;
  			checkType(l,2,out a2);
  			var ret=UnityEngine.Quaternion.FromToRotation(a1,a2);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int LookRotation_s(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==1){
  				UnityEngine.Vector3 a1;
  				checkType(l,1,out a1);
  				var ret=UnityEngine.Quaternion.LookRotation(a1);
  				pushValue(l,true);
  				pushValue(l,ret);
  				return 2;
  			}
  			else if(argc==2){
  				UnityEngine.Vector3 a1;
  				checkType(l,1,out a1);
  				UnityEngine.Vector3 a2;
  				checkType(l,2,out a2);
  				var ret=UnityEngine.Quaternion.LookRotation(a1,a2);
  				pushValue(l,true);
  				pushValue(l,ret);
  				return 2;
  			}
  			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 Slerp_s(IntPtr l) {
  		try {
  			UnityEngine.Quaternion a1;
  			checkType(l,1,out a1);
  			UnityEngine.Quaternion a2;
  			checkType(l,2,out a2);
  			System.Single a3;
  			checkType(l,3,out a3);
  			var ret=UnityEngine.Quaternion.Slerp(a1,a2,a3);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SlerpUnclamped_s(IntPtr l) {
  		try {
  			UnityEngine.Quaternion a1;
  			checkType(l,1,out a1);
  			UnityEngine.Quaternion a2;
  			checkType(l,2,out a2);
  			System.Single a3;
  			checkType(l,3,out a3);
  			var ret=UnityEngine.Quaternion.SlerpUnclamped(a1,a2,a3);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Lerp_s(IntPtr l) {
  		try {
  			UnityEngine.Quaternion a1;
  			checkType(l,1,out a1);
  			UnityEngine.Quaternion a2;
  			checkType(l,2,out a2);
  			System.Single a3;
  			checkType(l,3,out a3);
  			var ret=UnityEngine.Quaternion.Lerp(a1,a2,a3);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int LerpUnclamped_s(IntPtr l) {
  		try {
  			UnityEngine.Quaternion a1;
  			checkType(l,1,out a1);
  			UnityEngine.Quaternion a2;
  			checkType(l,2,out a2);
  			System.Single a3;
  			checkType(l,3,out a3);
  			var ret=UnityEngine.Quaternion.LerpUnclamped(a1,a2,a3);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int RotateTowards_s(IntPtr l) {
  		try {
  			UnityEngine.Quaternion a1;
  			checkType(l,1,out a1);
  			UnityEngine.Quaternion a2;
  			checkType(l,2,out a2);
  			System.Single a3;
  			checkType(l,3,out a3);
  			var ret=UnityEngine.Quaternion.RotateTowards(a1,a2,a3);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Inverse_s(IntPtr l) {
  		try {
  			UnityEngine.Quaternion a1;
  			checkType(l,1,out a1);
  			var ret=UnityEngine.Quaternion.Inverse(a1);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Angle_s(IntPtr l) {
  		try {
  			UnityEngine.Quaternion a1;
  			checkType(l,1,out a1);
  			UnityEngine.Quaternion a2;
  			checkType(l,2,out a2);
  			var ret=UnityEngine.Quaternion.Angle(a1,a2);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Euler_s(IntPtr l) {
  		try {
  
gt: 			int argc = LuaDLL.lua_gettop(l);