Пример #1
0
        static void Main(string[] args)
        {
            // Altseed を初期化します。
            if (!Engine.Initialize("StaticFile", 640, 480, new Configuration()))
            {
                return;
            }

            // ファイルを読み込みます。
            var streamFile = StreamFile.Create(@"TestData\IO\test.txt");

            // メインループ。
            // Altseed のウインドウが閉じられると終了します。
            while (Engine.DoEvents())
            {
                // Altseedを更新します。
                Engine.Update();

                // 1バイト読み込む
                var size = streamFile.Read(1);

                // バイト配列をUTF8として、string型に変換します。
                var text = Encoding.UTF8.GetString(streamFile.TempBuffer);

                // コンソールに出力します。
                Console.WriteLine(text);

                // 新たに読み込んだデータが0なら終了させます。
                if (size == 0)
                {
                    break;
                }
            }

            // Altseed の終了処理をします。
            Engine.Terminate();
        }
Пример #2
0
        public void StreamFileBase()
        {
            Assert.True(Engine.Initialize("Altseed2 C# Engine", 800, 600, new Configuration()));

            // pack files
            Assert.True(Engine.File.Pack("../../Core/TestData/IO/", "pack.pack"));
            Assert.True(Engine.File.PackWithPassword("../../Core/TestData/IO/pack/", "password.pack", "altseed"));

            // add package
            Assert.True(Engine.File.AddRootPackage("pack.pack"));

            // create static file, and compare no-package and package without password
            StreamFile test = null;

            Assert.AreNotEqual(test = StreamFile.Create("../../Core/TestData/IO/test.txt"), null);
            Assert.False(test.IsInPackage);
            StreamFile testPack = null;

            Assert.AreNotEqual(testPack = StreamFile.Create("test.txt"), null);
            Assert.True(testPack.IsInPackage);
            Assert.AreEqual(test.Size, testPack.Size);
            Assert.AreEqual(test.TempBufferSize, 0);
            Assert.AreEqual(testPack.TempBufferSize, 0);
            for (int i = 0; i < test.Size; i++)
            {
                Assert.AreEqual(test.Read(1), 1);
                Assert.AreEqual(testPack.Read(1), 1);
                Assert.AreEqual(test.TempBufferSize, i + 1);
                Assert.AreEqual(testPack.TempBufferSize, i + 1);
                Assert.AreEqual(test.TempBuffer, test.TempBuffer);
            }

            // add package
            Assert.True(Engine.File.AddRootPackageWithPassword("password.pack", "altseed"));

            // clear cache
            Engine.Resources.Clear();

            StreamFile testPack2 = null;

            Assert.AreNotEqual(testPack2 = StreamFile.Create("test.txt"), null);
            Assert.True(testPack2.IsInPackage);
            Assert.AreNotEqual(testPack, testPack2);
            Assert.AreNotEqual(testPack.Size, testPack2.Size);

            // create static file, and compare no-package and package with password
            StreamFile test3 = null;

            Assert.AreNotEqual(test3 = StreamFile.Create("../../Core/TestData/IO/pack/test.txt"), null);
            Assert.AreEqual(test3.Size, testPack2.Size);
            Assert.AreEqual(test3.Size, testPack2.Size);
            Assert.AreEqual(test3.TempBufferSize, 0);
            Assert.AreEqual(testPack2.TempBufferSize, 0);
            for (int i = 0; i < test3.Size; i++)
            {
                Assert.AreEqual(test3.Read(1), 1);
                Assert.AreEqual(testPack2.Read(1), 1);
                Assert.AreEqual(test3.TempBufferSize, i + 1);
                Assert.AreEqual(testPack2.TempBufferSize, i + 1);
            }

            Engine.Terminate();
        }