public override void Init(Enum type, EXEFileLocation location)
    {
        base.Init(type, location);

        SetAllActiveFalse();

        EngineType engineType = (EngineType)type;
        if (engineType == EngineType.UnityEngine)
        {
            unityIconImg.gameObject.SetActive(true);
        }
        else if (engineType == EngineType.UnrealEngine)
        {
            unrealIconImg.gameObject.SetActive(true);
        }

        fileLocation = location;
        versionText.text = location.version;
    }
    /// <summary>
    /// 添加本地已有版本
    /// </summary>
    private void AddAndSaveLocalVersion(EXEFileLocation location)
    {
        if (versionLocationsList.Exists((item) => { return(item.version == location.version); }))//传入的location和list中已有的只是值相同 还是要通过version比较一下
        {
            UIManager.GetInstance().ShowMessagePanel(new MessageParam {
                content = string.Format("Unity{0} 已添加 !", location.version)
            });
            Debug.LogError(location.version + "已添加");
            return;
        }

        EngineInfoUI engineUI = Instantiate(engineUIPrefab, scrollContent) as EngineInfoUI;

        engineUI.Init(EngineType.UnityEngine, location);
        versionLocationsList.Add(location);

        string json = InterfacePlatformTools.Serialize(versionLocationsList);

        InterfacePlatformTools.WriteBytes(JsonType.UnityEditorLocalVersion, json);
    }
    /// <summary>
    /// 初始化所有本地有的版本UnityEditor
    /// StreamingAsset下面存一个模板
    /// </summary>
    private void InitAllUnityLocalVersion()
    {
        versionLocationsList = new List <EXEFileLocation>();

        string localEditorInfo = InterfacePlatformTools.ReadText(JsonType.UnityEditorLocalVersion);

        if (string.IsNullOrEmpty(localEditorInfo))
        {
            return;
        }

        List <EXEFileLocation> exeLocations = InterfacePlatformTools.Deserialize <List <EXEFileLocation> >(localEditorInfo);

        foreach (var item in exeLocations)
        {
            var location = new EXEFileLocation(item.version, item.localpath);
            versionLocationsList.Add(location);//存入字典 方便添加时覆盖
            EngineInfoUI engineUI = Instantiate(engineUIPrefab, scrollContent) as EngineInfoUI;
            engineUI.Init(EngineType.UnityEngine, location);
        }
    }
 public virtual void Init(Enum type, EXEFileLocation location)
 {
 }