hch
2025-07-31 38ed075c317a29496dc10db2ea01d6b674a390d2
Main/System/HeroUI/HeroScenePosCell.cs
@@ -20,6 +20,7 @@
    [SerializeField] DragItem dragObj;
    [SerializeField] Transform objForfly;  //点击飞入的时候的显隐控制
    public void Display(string guid, int index, bool isFly = false)
    {
        var hero = HeroManager.Instance.GetHero(guid);
@@ -46,7 +47,11 @@
            suggestForm.SetActive(false);
        }
        dragObj.pos = index;
        dragObj.onEndDragEvent -= SwitchPos;
        dragObj.onEndDragEvent += SwitchPos;
        dragObj.canvas.sortingLayerID =  dragObj.parentCanvas.sortingLayerID;
        dragObj.canvas.sortingOrder = dragObj.parentCanvas.sortingOrder + index + 1;
        heroBtn.AddListener(() =>
        {
@@ -72,6 +77,23 @@
    void SwitchPos(int pos1, int pos2)
    {
        Debug.Log("交换位置:" + pos1 + "   " + pos2);
        var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType);
        if (pos2 == -1)
        {
            //下阵
            team.RemoveHero(pos1);
            HeroUIManager.Instance.NotifyOnTeamPosChangeEvent(new List<int>() { pos1 }, -1, Vector3.zero);
        }
        else if (pos1 == pos2)
        {
            HeroUIManager.Instance.NotifyOnTeamPosChangeEvent(new List<int>() { pos1 }, -1, Vector3.zero);
        }
        else
        {
            //通知刷新
            team.SwapPosition(pos1, pos2);
            HeroUIManager.Instance.NotifyOnTeamPosChangeEvent(new List<int>() { pos1, pos2 }, -1, Vector3.zero);
        }
    }
    async UniTask DelayShow()