コード例 #1
0
        internal virtual Repository[] GetOverrides(string path)
        {
            // If we don't have override file, ignore
            if (!File.Exists(path))
            {
                return(null);
            }

            StrictXmlDeserializer <UpfileOverride> deserializer = new StrictXmlDeserializer <UpfileOverride>();

            using (FileStream fs = new FileStream(path, FileMode.Open))
            {
                try
                {
                    UpfileOverride upOverride = deserializer.Deserialize(fs);

                    foreach (Repository repo in upOverride.Repositories)
                    {
                        if (repo is FileRepository)
                        {
                            (repo as FileRepository).Path = Uplift.Common.FileSystemUtil.MakePathOSFriendly((repo as FileRepository).Path);
                        }
                    }

                    return(upOverride.Repositories);
                }
                catch (InvalidOperationException)
                {
                    Debug.LogError(string.Format("Global Override file at {0} is not well formed", path));
                    return(null);
                }
            }
        }
コード例 #2
0
        internal virtual void LoadOverrides(string path)
        {
            // If we don't have override file, ignore
            if (!File.Exists(path))
            {
                return;
            }

            XmlSerializer serializer = new XmlSerializer(typeof(UpfileOverride));

            using (FileStream fs = new FileStream(path, FileMode.Open))
            {
                try
                {
                    UpfileOverride upOverride = serializer.Deserialize(fs) as UpfileOverride;

                    foreach (Repository repo in upOverride.Repositories)
                    {
                        if (repo is FileRepository)
                        {
                            (repo as FileRepository).Path = FileSystemUtil.MakePathOSFriendly((repo as FileRepository).Path);
                        }
                    }

                    if (Repositories == null)
                    {
                        Repositories = upOverride.Repositories;
                    }
                    else
                    {
                        int repositoriesSize = Repositories.Length + upOverride.Repositories.Length;

                        Repository[] newRepositoryArray = new Repository[repositoriesSize];
                        Array.Copy(Repositories, newRepositoryArray, Repositories.Length);
                        Array.Copy(upOverride.Repositories, 0, newRepositoryArray, Repositories.Length, upOverride.Repositories.Length);

                        Repositories = newRepositoryArray;
                    }
                }
                catch (InvalidOperationException)
                {
                    Debug.LogError(string.Format("Global Override file at {0} is not well formed", path));
                }
            }
        }