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; } }
static int IntToEnum(IntPtr L) { int arg0 = (int)LuaDLL.lua_tonumber(L, 1); OffMeshLinkType o = (OffMeshLinkType)arg0; LuaScriptMgr.PushEnum(L, o); return(1); }