public void Init(int index, int configId = 0)
    {
        this.index = index;
        switch (showType)
        {
            case ShowType.UI:
                achievem = LevelAchievemCtrl.GetAchievement(configId).achieves[index];
                break;
            case ShowType.Battle:
                achievem = LevelAchievemCtrl.instance.GetAchievem(index);

                break;
            default:
                Debug.Log("----------please add ");
                break;
        }
    }
    static public int ShowValueByAchieveType(LevelAchievem.ParamType pt, int id)
    {
        switch (pt)
        {
            case LevelAchievem.ParamType.Hero:
                return PopupHeroIds(id);
            case LevelAchievem.ParamType.Enemy:
                return PopupEnemies(id);
            case LevelAchievem.ParamType.NPC:
                break;
            case LevelAchievem.ParamType.Number:
                return EditorGUILayout.IntSlider(id, 1, 100);
            default:
                Debug.Log("----------please add to -----");
                break;
        }

        return 0;
    }
 private void CheckHasHero(LevelAchievem la)
 {
     if (MonoInstancePool.getInstance<HeroManager>().fightHeroList.hasHeroTemplateId(la.param1))
     {
         la.Finished();
     }
     else
     {
         la.Losed();
     }
 }
 /// <summary>
 /// 取成就所在数组的位置
 /// </summary>
 /// <param name="ach"></param>
 /// <returns></returns>
 private int GetIndex(LevelAchievem ach)
 {
     List<LevelAchievem> achs = new List<LevelAchievem>(achieves);
     return achs.IndexOf(ach);
 }