private IEnumerator deleteStarPerform(int starNum, int totalScore, int preScore, int curScore, StarSettlementView settlementView)
    {
        for (int i = starNum - 1; i >= 0; i--)
        {
            GameObject starObject = gameObject.transform.GetChild(i).gameObject;
            starObject.SetActive(false);
            totalScore = totalScore - preScore;
            totalScore = totalScore >= 0 ? totalScore : 0;
            //播放消失动画

            settlementView.UpdateScore(totalScore);
            if (totalScore > 0)
            {
                yield return(new WaitForSeconds(0.5f));
            }
        }
        UIManager.Instance.CloseView(settlementView.GetViewID());

        //更新当前分数
        EventManager.Instance.EventDispatcher.dispatchEvent <int, float, float>(EventEnum.FightUI_Update_LevelInfo, -1, -1, curScore);
        ChangeLevelView changeLevelView = UIManager.Instance.ShowView <ChangeLevelView>(UIType.Fight_ChangeLevelView);

        if (changeLevelView)
        {
            LevelInfoComponent levelInfo  = _context.levelInfo;
            IGameConfig        gameConfig = _context.gameConfig.config;
            if (levelInfo != null && gameConfig != null)
            {
                changeLevelView.Show(levelInfo.curScore >= levelInfo.targetScore, levelInfo.curLevelId >= gameConfig.GetLevelTotalNum());
            }
        }
    }
    private void settlementPerform(int starNum, int totalScore, int preScore, int curScore)
    {
        StarSettlementView settlementView = UIManager.Instance.ShowView <StarSettlementView>(UIType.Fight_StarSettlementView);

        StartCoroutine(deleteStarPerform(starNum, totalScore, preScore, curScore, settlementView));
    }