IEnumerator CheckOffMeshLink()
        {
            do
            {
                //Debug.Log(Vector3.Distance(transform.eulerAngles, desiredRotation.eulerAngles));
                method = OffMeshLinkMoveMethod.Grounded;
                yield return(new WaitForEndOfFrame());
            }while (quickTurn);
            //while ((Vector3.Distance(transform.eulerAngles, desiredRotation.eulerAngles) > 0f) && actions);

            yield return(new WaitForEndOfFrame());

            OffMeshLinkData data           = agent.currentOffMeshLinkData;
            OffMeshLinkType linkType       = data.linkType;
            string          offMeshLinkTag = string.Empty;

            if (data.offMeshLink)
            {
                offMeshLinkTag = data.offMeshLink.tag;
            }

            switch (linkType)
            {
            case OffMeshLinkType.LinkTypeDropDown:
                agent.autoTraverseOffMeshLink = false;
                method = OffMeshLinkMoveMethod.DropDown;
                break;

            case OffMeshLinkType.LinkTypeJumpAcross:
                agent.autoTraverseOffMeshLink = false;
                method = OffMeshLinkMoveMethod.JumpAcross;
                break;

            case OffMeshLinkType.LinkTypeManual:
                switch (offMeshLinkTag)
                {
                case "StepUp":
                    agent.autoTraverseOffMeshLink = false;
                    method = OffMeshLinkMoveMethod.Action;
                    break;

                case "JumpOver":
                    agent.autoTraverseOffMeshLink = false;
                    method = OffMeshLinkMoveMethod.Action;
                    break;

                case "ClimbUp":
                    agent.autoTraverseOffMeshLink = false;
                    method = OffMeshLinkMoveMethod.Action;
                    break;

                default:
                    agent.autoTraverseOffMeshLink = false;
                    method = OffMeshLinkMoveMethod.Grounded;
                    break;
                }
                break;
            }
        }
Example #2
0
    static int IntToEnum(IntPtr L)
    {
        int             arg0 = (int)LuaDLL.lua_tonumber(L, 1);
        OffMeshLinkType o    = (OffMeshLinkType)arg0;

        LuaScriptMgr.PushEnum(L, o);
        return(1);
    }