Exemplo n.º 1
0
        // 大文字小文字違いだけのものはCLSに準拠しない(´ω`)

        /// <summary>
        /// 定義ファイルを読み込む
        ///
        /// 定義ファイルに書いてあるファイル名が実行ファイルからの相対pathなのか、それとも
        /// 定義ファイルの存在するフォルダからの相対pathなのかどうかは、
        /// IsDefRelativePathオプションに従う。
        /// </summary>
        public YanesdkResult LoadDefFile(string filename)
        {
            Release();

            basePath = FileSys.GetDirName(filename);
            YanesdkResult result = reader.LoadDefFile(filename, OptNum);

            if (result == YanesdkResult.NoError)
            {
                Dictionary <int, FilenamelistReader.Info> .KeyCollection
                    keys = reader.Data.Keys;
                foreach (int key in keys)
                {
                    // ファイル名は定義ファイル相対pathならそのようにする
                    if (IsDefRelativePath)
                    {
                        reader.Data[key].name =
                            FileSys.MakeFullName(basePath, reader.Data[key].name);
                    }

                    ICachedObject obj = OnDefFileLoaded(reader.Data[key]);
                    dict.Add(key, obj);
                }
            }
            return(result);
        }