context: using UnityEngine;
  using System;
  using LuaInterface;
  using SLua;
  using System.Collections.Generic;
  public class Lua_UnityEngine_ParticleSystem : LuaObject {
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int constructor(IntPtr l) {
  		try {
  			UnityEngine.ParticleSystem o;
  			o=new UnityEngine.ParticleSystem();
  			pushValue(l,true);
  			pushValue(l,o);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetParticles(IntPtr l) {
  		try {
  			UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  			UnityEngine.ParticleSystem.Particle[] a1;
  			checkArray(l,2,out a1);
  			System.Int32 a2;
  			checkType(l,3,out a2);
  			self.SetParticles(a1,a2);
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int GetParticles(IntPtr l) {
  		try {
  			UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  			UnityEngine.ParticleSystem.Particle[] a1;
  			checkArray(l,2,out a1);
  			var ret=self.GetParticles(a1);
  			pushValue(l,true);
  			pushValue(l,ret);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Simulate(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==2){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				System.Single a1;
  				checkType(l,2,out a1);
  				self.Simulate(a1);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==3){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				System.Single a1;
  				checkType(l,2,out a1);
  				System.Boolean a2;
  				checkType(l,3,out a2);
  				self.Simulate(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==4){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				System.Single a1;
  				checkType(l,2,out a1);
  				System.Boolean a2;
  				checkType(l,3,out a2);
  				System.Boolean a3;
  				checkType(l,4,out a3);
  				self.Simulate(a1,a2,a3);
  				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 Play(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==1){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				self.Play();
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==2){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				System.Boolean a1;
  				checkType(l,2,out a1);
  				self.Play(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 Stop(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==1){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				self.Stop();
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==2){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				System.Boolean a1;
  				checkType(l,2,out a1);
  				self.Stop(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 Pause(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==1){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				self.Pause();
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==2){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				System.Boolean a1;
  				checkType(l,2,out a1);
  				self.Pause(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 Clear(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==1){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				self.Clear();
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==2){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)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 IsAlive(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==1){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				var ret=self.IsAlive();
  				pushValue(l,true);
  				pushValue(l,ret);
  				return 2;
  			}
  			else if(argc==2){
  				UnityEngine.ParticleSystem self=(UnityEngine.ParticleSystem)checkSelf(l);
  				System.Boolean a1;
  				checkType(l,2,out a1);
  				var ret=self.IsAlive(a1);
  				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 Emit(IntPtr l) {
  		try {
  
gt: 			int argc = LuaDLL.lua_gettop(l);