//this source code was auto-generated by tolua#, do not modify it
using System;
using LuaInterface;

public class Holoville_HOTween_TweenerWrap
{
	public static void Register(LuaState L)
	{
		L.BeginClass(typeof(Holoville.HOTween.Tweener), typeof(Holoville.HOTween.Core.ABSTweenComponent));
		L.RegFunction("Play", Play);
		L.RegFunction("PlayForward", PlayForward);
		L.RegFunction("Rewind", Rewind);
		L.RegFunction("Restart", Restart);
		L.RegFunction("RestartIncremental", RestartIncremental);
		L.RegFunction("ResetAndChangeParms", ResetAndChangeParms);
		L.RegFunction("IsTweening", IsTweening);
		L.RegFunction("IsLinkedTo", IsLinkedTo);
		L.RegFunction("GetTweenTargets", GetTweenTargets);
		L.RegFunction("GetPointOnPath", GetPointOnPath);
		L.RegFunction("GetPathLength", GetPathLength);
		L.RegFunction("UsePartialPath", UsePartialPath);
		L.RegFunction("ResetPath", ResetPath);
		L.RegFunction("__tostring", ToLua.op_ToString);
		L.RegVar("isFrom", get_isFrom, null);
		L.RegVar("easeType", get_easeType, set_easeType);
		L.RegVar("easeAnimationCurve", get_easeAnimationCurve, set_easeAnimationCurve);
		L.RegVar("easeOvershootOrAmplitude", get_easeOvershootOrAmplitude, set_easeOvershootOrAmplitude);
		L.RegVar("easePeriod", get_easePeriod, set_easePeriod);
		L.RegVar("target", get_target, null);
		L.RegVar("pixelPerfect", get_pixelPerfect, null);
		L.RegVar("speedBased", get_speedBased, null);
		L.RegVar("delay", get_delay, null);
		L.RegVar("elapsedDelay", get_elapsedDelay, null);
		L.EndClass();
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int Play(IntPtr L)
	{
		try
		{
			int count = LuaDLL.lua_gettop(L);

			if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				obj.Play();
				return 0;
			}
			else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(bool)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				bool arg0 = LuaDLL.lua_toboolean(L, 2);
				obj.Play(arg0);
				return 0;
			}
			else
			{
				return LuaDLL.luaL_throw(L, "invalid arguments to method: Holoville.HOTween.Tweener.Play");
			}
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int PlayForward(IntPtr L)
	{
		try
		{
			int count = LuaDLL.lua_gettop(L);

			if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				obj.PlayForward();
				return 0;
			}
			else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(bool)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				bool arg0 = LuaDLL.lua_toboolean(L, 2);
				obj.PlayForward(arg0);
				return 0;
			}
			else
			{
				return LuaDLL.luaL_throw(L, "invalid arguments to method: Holoville.HOTween.Tweener.PlayForward");
			}
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int Rewind(IntPtr L)
	{
		try
		{
			int count = LuaDLL.lua_gettop(L);

			if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				obj.Rewind();
				return 0;
			}
			else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(bool)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				bool arg0 = LuaDLL.lua_toboolean(L, 2);
				obj.Rewind(arg0);
				return 0;
			}
			else
			{
				return LuaDLL.luaL_throw(L, "invalid arguments to method: Holoville.HOTween.Tweener.Rewind");
			}
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int Restart(IntPtr L)
	{
		try
		{
			int count = LuaDLL.lua_gettop(L);

			if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				obj.Restart();
				return 0;
			}
			else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(bool)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				bool arg0 = LuaDLL.lua_toboolean(L, 2);
				obj.Restart(arg0);
				return 0;
			}
			else
			{
				return LuaDLL.luaL_throw(L, "invalid arguments to method: Holoville.HOTween.Tweener.Restart");
			}
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int RestartIncremental(IntPtr L)
	{
		try
		{
			ToLua.CheckArgsCount(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.CheckObject(L, 1, typeof(Holoville.HOTween.Tweener));
			obj.RestartIncremental();
			return 0;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int ResetAndChangeParms(IntPtr L)
	{
		try
		{
			ToLua.CheckArgsCount(L, 4);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.CheckObject(L, 1, typeof(Holoville.HOTween.Tweener));
			Holoville.HOTween.TweenType arg0 = (Holoville.HOTween.TweenType)ToLua.CheckObject(L, 2, typeof(Holoville.HOTween.TweenType));
			float arg1 = (float)LuaDLL.luaL_checknumber(L, 3);
			Holoville.HOTween.TweenParms arg2 = (Holoville.HOTween.TweenParms)ToLua.CheckObject(L, 4, typeof(Holoville.HOTween.TweenParms));
			obj.ResetAndChangeParms(arg0, arg1, arg2);
			return 0;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int IsTweening(IntPtr L)
	{
		try
		{
			int count = LuaDLL.lua_gettop(L);

			if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(string)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				string arg0 = ToLua.ToString(L, 2);
				bool o = obj.IsTweening(arg0);
				LuaDLL.lua_pushboolean(L, o);
				return 1;
			}
			else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(int)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				int arg0 = (int)LuaDLL.lua_tonumber(L, 2);
				bool o = obj.IsTweening(arg0);
				LuaDLL.lua_pushboolean(L, o);
				return 1;
			}
			else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(object)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				object arg0 = ToLua.ToVarObject(L, 2);
				bool o = obj.IsTweening(arg0);
				LuaDLL.lua_pushboolean(L, o);
				return 1;
			}
			else
			{
				return LuaDLL.luaL_throw(L, "invalid arguments to method: Holoville.HOTween.Tweener.IsTweening");
			}
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int IsLinkedTo(IntPtr L)
	{
		try
		{
			ToLua.CheckArgsCount(L, 2);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.CheckObject(L, 1, typeof(Holoville.HOTween.Tweener));
			object arg0 = ToLua.ToVarObject(L, 2);
			bool o = obj.IsLinkedTo(arg0);
			LuaDLL.lua_pushboolean(L, o);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int GetTweenTargets(IntPtr L)
	{
		try
		{
			ToLua.CheckArgsCount(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.CheckObject(L, 1, typeof(Holoville.HOTween.Tweener));
			System.Collections.Generic.List<object> o = obj.GetTweenTargets();
			ToLua.PushObject(L, o);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int GetPointOnPath(IntPtr L)
	{
		try
		{
			ToLua.CheckArgsCount(L, 2);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.CheckObject(L, 1, typeof(Holoville.HOTween.Tweener));
			float arg0 = (float)LuaDLL.luaL_checknumber(L, 2);
			UnityEngine.Vector3 o = obj.GetPointOnPath(arg0);
			ToLua.Push(L, o);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int GetPathLength(IntPtr L)
	{
		try
		{
			ToLua.CheckArgsCount(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.CheckObject(L, 1, typeof(Holoville.HOTween.Tweener));
			float o = obj.GetPathLength();
			LuaDLL.lua_pushnumber(L, o);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int UsePartialPath(IntPtr L)
	{
		try
		{
			int count = LuaDLL.lua_gettop(L);

			if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(int), typeof(int)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				int arg0 = (int)LuaDLL.lua_tonumber(L, 2);
				int arg1 = (int)LuaDLL.lua_tonumber(L, 3);
				Holoville.HOTween.Tweener o = obj.UsePartialPath(arg0, arg1);
				ToLua.PushObject(L, o);
				return 1;
			}
			else if (count == 4 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(int), typeof(int), typeof(float)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				int arg0 = (int)LuaDLL.lua_tonumber(L, 2);
				int arg1 = (int)LuaDLL.lua_tonumber(L, 3);
				float arg2 = (float)LuaDLL.lua_tonumber(L, 4);
				Holoville.HOTween.Tweener o = obj.UsePartialPath(arg0, arg1, arg2);
				ToLua.PushObject(L, o);
				return 1;
			}
			else if (count == 4 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(int), typeof(int), typeof(Holoville.HOTween.EaseType)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				int arg0 = (int)LuaDLL.lua_tonumber(L, 2);
				int arg1 = (int)LuaDLL.lua_tonumber(L, 3);
				Holoville.HOTween.EaseType arg2 = (Holoville.HOTween.EaseType)ToLua.ToObject(L, 4);
				Holoville.HOTween.Tweener o = obj.UsePartialPath(arg0, arg1, arg2);
				ToLua.PushObject(L, o);
				return 1;
			}
			else if (count == 5 && TypeChecker.CheckTypes(L, 1, typeof(Holoville.HOTween.Tweener), typeof(int), typeof(int), typeof(float), typeof(Holoville.HOTween.EaseType)))
			{
				Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.ToObject(L, 1);
				int arg0 = (int)LuaDLL.lua_tonumber(L, 2);
				int arg1 = (int)LuaDLL.lua_tonumber(L, 3);
				float arg2 = (float)LuaDLL.lua_tonumber(L, 4);
				Holoville.HOTween.EaseType arg3 = (Holoville.HOTween.EaseType)ToLua.ToObject(L, 5);
				Holoville.HOTween.Tweener o = obj.UsePartialPath(arg0, arg1, arg2, arg3);
				ToLua.PushObject(L, o);
				return 1;
			}
			else
			{
				return LuaDLL.luaL_throw(L, "invalid arguments to method: Holoville.HOTween.Tweener.UsePartialPath");
			}
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int ResetPath(IntPtr L)
	{
		try
		{
			ToLua.CheckArgsCount(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)ToLua.CheckObject(L, 1, typeof(Holoville.HOTween.Tweener));
			obj.ResetPath();
			return 0;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_isFrom(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			bool ret = obj.isFrom;
			LuaDLL.lua_pushboolean(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index isFrom on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_easeType(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			Holoville.HOTween.EaseType ret = obj.easeType;
			ToLua.Push(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index easeType on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_easeAnimationCurve(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			UnityEngine.AnimationCurve ret = obj.easeAnimationCurve;
			ToLua.PushObject(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index easeAnimationCurve on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_easeOvershootOrAmplitude(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			float ret = obj.easeOvershootOrAmplitude;
			LuaDLL.lua_pushnumber(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index easeOvershootOrAmplitude on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_easePeriod(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			float ret = obj.easePeriod;
			LuaDLL.lua_pushnumber(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index easePeriod on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_target(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			object ret = obj.target;
			ToLua.Push(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index target on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_pixelPerfect(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			bool ret = obj.pixelPerfect;
			LuaDLL.lua_pushboolean(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index pixelPerfect on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_speedBased(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			bool ret = obj.speedBased;
			LuaDLL.lua_pushboolean(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index speedBased on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_delay(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			float ret = obj.delay;
			LuaDLL.lua_pushnumber(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index delay on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_elapsedDelay(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			float ret = obj.elapsedDelay;
			LuaDLL.lua_pushnumber(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index elapsedDelay on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int set_easeType(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			Holoville.HOTween.EaseType arg0 = (Holoville.HOTween.EaseType)ToLua.CheckObject(L, 2, typeof(Holoville.HOTween.EaseType));
			obj.easeType = arg0;
			return 0;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index easeType on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int set_easeAnimationCurve(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			UnityEngine.AnimationCurve arg0 = (UnityEngine.AnimationCurve)ToLua.CheckObject(L, 2, typeof(UnityEngine.AnimationCurve));
			obj.easeAnimationCurve = arg0;
			return 0;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index easeAnimationCurve on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int set_easeOvershootOrAmplitude(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			float arg0 = (float)LuaDLL.luaL_checknumber(L, 2);
			obj.easeOvershootOrAmplitude = arg0;
			return 0;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index easeOvershootOrAmplitude on a nil value" : e.Message);
		}
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int set_easePeriod(IntPtr L)
	{
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			Holoville.HOTween.Tweener obj = (Holoville.HOTween.Tweener)o;
			float arg0 = (float)LuaDLL.luaL_checknumber(L, 2);
			obj.easePeriod = arg0;
			return 0;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index easePeriod on a nil value" : e.Message);
		}
	}
}

