예제 #1
0
    static int GetClosestPositionOnSegment(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3)))
            {
                UnityEngine.Vector3 arg0 = ToLua.ToVector3(L, 1);
                UnityEngine.Vector3 arg1 = ToLua.ToVector3(L, 2);
                UnityEngine.Vector3 o    = AvatarUtil.GetClosestPositionOnSegment(arg0, arg1);
                ToLua.Push(L, o);
                return(1);
            }
            else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(UnityEngine.Vector3), typeof(UnityEngine.Vector3), typeof(float)))
            {
                UnityEngine.Vector3 arg0 = ToLua.ToVector3(L, 1);
                UnityEngine.Vector3 arg1 = ToLua.ToVector3(L, 2);
                float arg2            = (float)LuaDLL.lua_tonumber(L, 3);
                UnityEngine.Vector3 o = AvatarUtil.GetClosestPositionOnSegment(arg0, arg1, arg2);
                ToLua.Push(L, o);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: AvatarUtil.GetClosestPositionOnSegment"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
예제 #2
0
 public void UnloadPart(string partName)
 {
     if (avatarInstance != null && partInstanceDic.TryGetValue(partName, out AvatarPartInstance partInstance))
     {
         AvatarUtil.DisassemblePart(partInstance);
         partInstanceDic.Remove(partName);
     }
 }
예제 #3
0
 static int DestroyMaterialsInRenderer(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckUnityObject(L, 1, typeof(UnityEngine.GameObject));
         AvatarUtil.DestroyMaterialsInRenderer(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #4
0
 static int ChangeToLayerRecursively(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         UnityEngine.Transform arg0 = (UnityEngine.Transform)ToLua.CheckUnityObject(L, 1, typeof(UnityEngine.Transform));
         int arg1 = (int)LuaDLL.luaL_checknumber(L, 2);
         AvatarUtil.ChangeToLayerRecursively(arg0, arg1);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #5
0
 static int Cut(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         UnityEngine.Vector3 arg0 = ToLua.ToVector3(L, 1);
         UnityEngine.Vector3 o    = AvatarUtil.Cut(arg0);
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #6
0
 static int CalcBuffTime(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         long arg0 = LuaDLL.tolua_checkint64(L, 1);
         long o    = AvatarUtil.CalcBuffTime(arg0);
         LuaDLL.tolua_pushint64(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #7
0
 static int RotateToPos(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         UnityEngine.Transform arg0 = (UnityEngine.Transform)ToLua.CheckUnityObject(L, 1, typeof(UnityEngine.Transform));
         UnityEngine.Vector3   arg1 = ToLua.ToVector3(L, 2);
         AvatarUtil.RotateToPos(arg0, arg1);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #8
0
 static int DetectAvatarAbnormalRotate(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckUnityObject(L, 1, typeof(UnityEngine.GameObject));
         bool o = AvatarUtil.DetectAvatarAbnormalRotate(arg0);
         LuaDLL.lua_pushboolean(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #9
0
 static int GetModelTypeName(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         string arg0 = ToLua.CheckString(L, 1);
         string o    = AvatarUtil.GetModelTypeName(arg0);
         LuaDLL.lua_pushstring(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #10
0
 static int CanRouteTo(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         UnityEngine.Vector3 arg0 = ToLua.ToVector3(L, 1);
         UnityEngine.Vector3 arg1 = ToLua.ToVector3(L, 2);
         bool o = AvatarUtil.CanRouteTo(arg0, arg1);
         LuaDLL.lua_pushboolean(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #11
0
 static int OnJoystickControl(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         UnityEngine.Vector2 arg0 = ToLua.ToVector2(L, 1);
         float arg1 = (float)LuaDLL.luaL_checknumber(L, 2);
         float arg2 = (float)LuaDLL.luaL_checknumber(L, 3);
         AvatarUtil.OnJoystickControl(arg0, arg1, arg2);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #12
0
 static int CalculatePath(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         UnityEngine.Vector3 arg0 = ToLua.ToVector3(L, 1);
         UnityEngine.Vector3 arg1 = ToLua.ToVector3(L, 2);
         System.Collections.Generic.List <UnityEngine.Vector3> arg2 = (System.Collections.Generic.List <UnityEngine.Vector3>)ToLua.CheckObject(L, 3, typeof(System.Collections.Generic.List <UnityEngine.Vector3>));
         UnityEngine.Vector3 o = AvatarUtil.CalculatePath(arg0, arg1, arg2);
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #13
0
        public void AddPart(string partAssetPath)
        {
            if (avatarInstance == null)
            {
                return;
            }

            AvatarPartData partData = AssetDatabase.LoadAssetAtPath <AvatarPartData>(partAssetPath);

            if (partData != null)
            {
                UnloadPart(partData.partName);

                partInstanceDic.Add(partData.partName, AvatarUtil.AssemblePart(nodeBehaviour, partData));
                AvatarUtil.AssemblePart(nodeBehaviour, partData);
            }
        }
예제 #14
0
 static int RayCast(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         UnityEngine.Vector3    arg0 = ToLua.ToVector3(L, 1);
         UnityEngine.Vector3    arg1 = ToLua.ToVector3(L, 2);
         UnityEngine.NavMeshHit arg2;
         bool o = AvatarUtil.RayCast(arg0, arg1, out arg2);
         LuaDLL.lua_pushboolean(L, o);
         ToLua.PushValue(L, arg2);
         return(2);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #15
0
 static int CalculateJoystickDestination(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 6);
         UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckUnityObject(L, 1, typeof(UnityEngine.GameObject));
         UnityEngine.Vector2    arg1 = ToLua.ToVector2(L, 2);
         float arg2 = (float)LuaDLL.luaL_checknumber(L, 3);
         float arg3 = (float)LuaDLL.luaL_checknumber(L, 4);
         UnityEngine.Vector3 arg4;
         UnityEngine.Vector3 arg5;
         bool o = AvatarUtil.CalculateJoystickDestination(arg0, arg1, arg2, arg3, out arg4, out arg5);
         LuaDLL.lua_pushboolean(L, o);
         ToLua.Push(L, arg4);
         ToLua.Push(L, arg5);
         return(3);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #16
0
    static int _CreateAvatarUtil(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 0)
            {
                AvatarUtil obj = new AvatarUtil();
                ToLua.PushObject(L, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: AvatarUtil.New"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }