private void SyncFormInfo()
        {
            int max = m_Assets.Count;

            for (int i = 0; i < max; i++)
            {
                DestroyImmediate(m_Assets[i].gameObject);
            }
            m_Assets.Clear();

            var list = m_Info.assets;

            max = list.Count;
            for (int i = 0; i < max; i++)
            {
                GameObject           target = new GameObject();
                CustomAssetComponent comp   = target.AddComponent <CustomAssetComponent>();
                target.transform.SetParent(transform);

                var compInfo = m_Info.assets[i];
                comp.SyncFromInfo(ref compInfo, out var customAssets);

                int m = compInfo.assetItems.Count;
                for (int j = 0; j < m; j++)
                {
                    var assetInfo = compInfo.assetItems[j];
                    var asset     = new CustomAsset();
                    asset.SyncFromInfo(ref assetInfo);
                    customAssets.Add(asset);
                }
            }
        }
 public void AddCustomAsset(CustomAssetComponent item)
 {
     if (!m_Assets.Contains(item))
     {
         m_Assets.Add(item);
     }
     else
     {
     }
 }