少年修仙传客户端代码仓库
382 boss类型的NPC进行坐标矫正; 在无法取得地板高度的时候也设置xz坐标.防止卡住
2个文件已修改
17 ■■■■ 已修改文件
Fight/GameActor/GA_NpcFightNorm.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActor.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcFightNorm.cs
@@ -57,7 +57,7 @@
        else
        {
            // 初始化坐标
            AdjustPos(_h0406.PosX, _h0406.PosY, false);
            AdjustPos(_h0406.PosX, _h0406.PosY, NpcConfig.IsBoss > 1);
        }
        GAStaticDefine.NPCLocation _npcLocation;
Fight/GameActor/GActor.cs
@@ -67,7 +67,7 @@
                    //}
                    //Debug.Log(_content);
                //Debug.Log("转向了.......: " + m_Forward);
                    //Debug.Log("转向了.......: " + m_Forward);
                }
            }
        }
@@ -305,7 +305,7 @@
        }
    }
    public void MoveToPosition(Vector3 destPos, float keepDist = 0,bool force = false)
    public void MoveToPosition(Vector3 destPos, float keepDist = 0, bool force = false)
    {
        if (PathFindStatus == E_PathFindStatus.Moving
         && m_SearchType == E_SearchType.Static
@@ -640,20 +640,19 @@
        }
        else
        {
            //Debug.LogErrorFormat("服务端给定坐标: {0} 映射至客户端坐标: {1} 为客户端无法矫正的障碍点...当前地图: {2}",
            //    new Vector2(sPosX, sPosY), new Vector2(_clntPos.x, _clntPos.z), PlayerDatas.Instance.baseData.MapID);
            if (!TryGetValidPos(_clntPos, ref _adjustPos))
            {
                Debug.LogErrorFormat("服务端给定坐标: {0} 映射至客户端坐标: {1} 为客户端无法矫正的障碍点...当前地图: {2}",
                    new Vector2(sPosX, sPosY), new Vector2(_clntPos.x, _clntPos.z), PlayerDatas.Instance.baseData.MapID);
                return;
            }
        }
        float _groundHeight;
        float _groundHeight = Pos.y;
        if (!CollisionUtility.TryGetGroundHeight(_adjustPos, out _groundHeight))
        {
            Debug.LogErrorFormat("服务端给定坐标: {0} 映射至客户端坐标: {1} 客户端无法从此点计算出地板高度...",
                new Vector2(sPosX, sPosY), new Vector2(_clntPos.x, _clntPos.z));
            return;
            Debug.LogErrorFormat("服务端给定坐标: {0} 映射至客户端坐标: {1} 并且矫正后: {2}客户端无法从此点计算出地板高度...",
                new Vector2(sPosX, sPosY), new Vector2(_clntPos.x, _clntPos.y), new Vector2(_adjustPos.x, _adjustPos.z));
        }
        _adjustPos.y = _groundHeight;