示例#1
0
        /// <summary>
        /// �Ա���BundleBuildState��Դ�ļ�����ɾ�IJ���
        /// </summary>
        /// <param name="newBundleBuildState"></param>
        /// <param name="operate"></param>
        public void changeBundleStates(List <BundleBuildState> newBundleBuildStates, BundleOperate operate)
        {
            switch (operate)
            {
            case BundleOperate.Add:
                foreach (BundleBuildState buildState in newBundleBuildStates)
                {
                    int index = buildStates.FindIndex(x => x.bundleName == buildState.bundleName);
                    if (index != -1)
                    {
                        buildStates[index] = buildState;
                    }
                    else
                    {
                        buildStates.Add(buildState);
                    }
                    if (buildStatesDict.ContainsKey(buildState.bundleName))
                    {
                        buildStatesDict[buildState.bundleName] = buildState;
                    }
                    else
                    {
                        buildStatesDict.Add(buildState.bundleName, buildState);
                    }
                }
                break;

            case BundleOperate.Delete:
                foreach (BundleBuildState buildState in newBundleBuildStates)
                {
                    if (buildStates.FindIndex(x => x.bundleName == buildState.bundleName) != -1)
                    {
                        buildStates.Remove(buildState);
                    }
                    if (buildStatesDict.ContainsKey(buildState.bundleName))
                    {
                        buildStatesDict.Remove(buildState.bundleName);
                    }
                }
                break;

            case BundleOperate.Update:
                foreach (BundleBuildState buildState in newBundleBuildStates)
                {
                    int index = buildStates.FindIndex(x => x.bundleName == buildState.bundleName);
                    if (index != -1)
                    {
                        buildStates[index] = buildState;
                    }
                    if (buildStatesDict.ContainsKey(buildState.bundleName))
                    {
                        buildStatesDict[buildState.bundleName] = buildState;
                    }
                }
                break;
            }
            if (newBundleBuildStates.Count != 0)
            {
                FileUtils.saveObjectToJsonFile(buildStates, bundleStatesLoadFilePath);
            }
        }
示例#2
0
        /// <summary>
        /// �Ա���BundleData��Դ�ļ�����ɾ�IJ���
        /// </summary>
        /// <param name="newBundleData"></param>
        /// <param name="operate"></param>
        public void changeBundleData(List <BundleData> newBundleData, BundleOperate operate)
        {
            switch (operate)
            {
            case BundleOperate.Add:
                foreach (BundleData bundleData in newBundleData)
                {
                    int index = bundleDatas.FindIndex(x => x.name == bundleData.name);
                    if (index != -1)
                    {
                        bundleDatas[index] = bundleData;
                    }
                    else
                    {
                        bundleDatas.Add(bundleData);
                    }
                    if (bundleDataDict.ContainsKey(bundleData.name))
                    {
                        bundleDataDict[bundleData.name] = bundleData;
                    }
                    else
                    {
                        bundleDataDict.Add(bundleData.name, bundleData);
                    }
                }
                break;

            case BundleOperate.Delete:
                foreach (BundleData bundleData in newBundleData)
                {
                    if (bundleDatas.FindIndex(x => x.name == bundleData.name) != -1)
                    {
                        bundleDatas.Remove(bundleData);
                    }
                    if (bundleDataDict.ContainsKey(bundleData.name))
                    {
                        bundleDataDict.Remove(bundleData.name);
                    }
                }
                break;

            case BundleOperate.Update:
                foreach (BundleData bundleData in newBundleData)
                {
                    int index = bundleDatas.FindIndex(x => x.name == bundleData.name);
                    if (index != -1)
                    {
                        bundleDatas[index] = bundleData;
                    }
                    if (bundleDataDict.ContainsKey(bundleData.name))
                    {
                        bundleDataDict[bundleData.name] = bundleData;
                    }
                }
                break;
            }
            if (newBundleData.Count != 0)
            {
                FileUtils.saveObjectToJsonFile(bundleDatas, bundleDataLoadFilePath);
            }
        }