GameDevWare.Charon.Settings.AddGameDataPath C# (CSharp) Method

AddGameDataPath() private method

private AddGameDataPath ( string pathToAdd ) : bool
pathToAdd string
return bool
        internal bool AddGameDataPath(string pathToAdd)
        {
            if (pathToAdd == null) throw new ArgumentNullException("pathToAdd");

            var oldGameDataPaths = default(string[]);
            var newGameDataPaths = default(string[]);
            do
            {
                oldGameDataPaths = this.GameDataPaths;
                newGameDataPaths = oldGameDataPaths.Union(new[] { pathToAdd }).ToArray();
            } while (Interlocked.CompareExchange(ref this.GameDataPaths, newGameDataPaths, oldGameDataPaths) != oldGameDataPaths);

            return oldGameDataPaths.Length != newGameDataPaths.Length;
        }