void OnRefreshAchieve(object p, object d)
        {
            BaseSaveOrLoadItem item     = p as BaseSaveOrLoadItem;
            IBaseArchiveFile   itemData = d as IBaseArchiveFile;

            if (item.Text)
            {
                item.Text.text = itemData.Name;
            }
            if (item.Time)
            {
                item.Time.text = itemData.SaveTime.ToShortDateString();
            }
            if (item.Duration)
            {
                item.Duration.text = itemData.PlayTime.ToString();
            }
            if (item.BntClose)
            {
                item.BntClose.Data.OnClick = OnClickDelete;
            }
            item.Data.OnClick = OnSaveOrLoadItemClick;

            bool IsInData = BuildConfig.Ins.IsInData(itemData.Header.Version);

            if (!IsInData)
            {
                item.Text.text = string.Format($"<color=red>{"!"}</color>{item.Text.text}");
            }
            if (item.ArchiveIcon)
            {
                item.ArchiveIcon.overrideSprite = GetArchiveIcon(itemData);
            }

            OnArchiveItemRefresh(item, itemData);
        }
 protected virtual void OnArchiveItemRefresh(BaseSaveOrLoadItem item, IBaseArchiveFile file)
 {
 }