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(); }
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(); }