async Task <TileSetData> ReadTileSetData(string dataPath) { string tileSetPath = dataPath + "BasicData/TileSetData.dat"; var reader = new TileSetDataFileReader(); return(await reader.ReadFileAsync(tileSetPath)); }
async void ReadTileSetTest() { string path = Application.streamingAssetsPath + "/Project/Data/BasicData/TileSetData.dat"; var reader = new TileSetDataFileReader(); TileSetData setData = await reader.ReadFileAsync(path); var settingList = setData.TileSetSettingList.ToList(); }
public static void File0Test() { const string inputFileName = @"Dir0\TileSetData.dat"; const string outputFileName = @"OutputDir0\TileSetData.dat"; var inputDir = Path.GetDirectoryName($@"{MapTreeDataFileItemGenerator.TestWorkRootDir}\{inputFileName}"); inputDir.CreateDirectoryIfNeed(); var outputDir = Path.GetDirectoryName($@"{MapTreeDataFileItemGenerator.TestWorkRootDir}\{outputFileName}"); outputDir.CreateDirectoryIfNeed(); var reader = new TileSetDataFileReader($@"{TileSetDataTestItemGenerator.TestWorkRootDir}\{inputFileName}"); TileSetData data = null; var isSuccessRead = false; try { data = reader.ReadAsync().GetAwaiter().GetResult(); isSuccessRead = true; } catch (Exception ex) { logger.Exception(ex); } Assert.IsTrue(isSuccessRead); var writer = new TileSetDataFileWriter( $@"{TileSetDataTestItemGenerator.TestWorkRootDir}\{outputFileName}"); var isSuccessWrite = false; try { writer.WriteAsync(data).GetAwaiter().GetResult(); isSuccessWrite = true; } catch (Exception ex) { logger.Exception(ex); } Assert.IsTrue(isSuccessWrite); Console.WriteLine($@"Written FilePath : {TileSetDataTestItemGenerator.TestWorkRootDir}\{outputFileName}"); }
private static void Common(TileSetData resultData, string readFileName) { var filePath = $@"{CommonFileTestItemGenerator.TestWorkRootDir}\{readFileName}"; var reader = new TileSetDataFileReader(filePath); var readResult = false; TileSetData data = null; var errorMessage = ""; try { data = reader.ReadSync(); readResult = true; } catch (Exception ex) { logger.Exception(ex); errorMessage = ex.Message; } // 正しく読めること if (!readResult) { throw new InvalidOperationException( $"Error Occured. Message : {errorMessage}"); } Console.WriteLine("Write Test Clear."); var readResultDataBytes = data.ToBinary().ToArray(); // 元のデータと一致すること using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { var bufLength = (int)stream.Length; var buf = new byte[bufLength]; stream.Read(buf, 0, bufLength); if (readResultDataBytes.Length != bufLength) { throw new InvalidOperationException( $"Data Length Not Match. " + $"(answerLength: {bufLength}, readResultLength: {readResultDataBytes.Length})"); } for (long i = 0; i < 0; i++) { if (readResultDataBytes[i] != buf[i]) { throw new InvalidOperationException( $"Data Byte Not Match. (index: {i}, answer: {buf[i]}," + $" readResult: {readResultDataBytes[i]})"); } } } // 意図したデータと一致すること var resultDataBytes = resultData.ToBinary().ToArray(); if (resultDataBytes.Length != readResultDataBytes.Length) { throw new InvalidOperationException( $"Data Length Not Match. " + $"(answerLength: {resultDataBytes.Length}, readResultLength: {readResultDataBytes.Length})"); } for (long i = 0; i < 0; i++) { if (resultDataBytes[i] != readResultDataBytes[i]) { throw new InvalidOperationException( $"Data Byte Not Match. (index: {i}, answer: {resultDataBytes[i]}," + $" readResult: {readResultDataBytes[i]})"); } } }
async void RenderMap() { DatabaseMergedData systemDB = await ReadSystemDB(); var mapDataList = systemDB.GetDataDescList(0); if (mapNo >= mapDataList.Count) { return; } string mapPath = dataPath + mapDataList[mapNo].ItemValueList[0].StringValue.ToString(); var mpsReader = new MpsFileReader(); MapData mapData = await mpsReader.ReadFileAsync(mapPath); string tileSetPath = dataPath + "BasicData/TileSetData.dat"; var reader = new TileSetDataFileReader(); TileSetData setData = await reader.ReadFileAsync(tileSetPath); TileSetSetting tileSetting = setData.TileSetSettingList[mapData.TileSetId]; ReadBaseTileTexture(tileSetting.BaseTileSetFileName); ReadAutoTileTextures(tileSetting.AutoTileFileNameList.ToArray()); Texture2D mapTexture = new Texture2D(mapData.MapSizeWidth * chipSize, mapData.MapSizeHeight * chipSize); for (int i = 0; i < mapData.MapSizeHeight; i++) { for (int j = 0; j < mapData.MapSizeWidth; j++) { for (int k = 0; k < 3; k++) { int id = mapData.GetLayer(k).Chips[j][i]; if (mapData.GetLayer(k).Chips[j][i].IsAutoTile) { RenderAutoTile(mapTexture, j, i, id); } else { RenderNormalTile(mapTexture, j, i, id); } } } } for (int i = 0; i < mapData.MapEvents.Count; i++) { int x = mapData.MapEvents[i].Position.X; int y = mapData.MapEvents[i].Position.Y; MapEventPage mapEventPage = mapData.MapEvents[i].MapEventPageList[0]; if (mapEventPage.GraphicInfo.IsGraphicTileChip) { int tileId = mapEventPage.GraphicInfo.GraphicTileId; RenderNormalTile(mapTexture, x, y, tileId); } else if (!string.IsNullOrEmpty(mapEventPage.GraphicInfo.CharaChipFilePath)) { string graphicPath = dataPath + mapEventPage.GraphicInfo.CharaChipFilePath; Debug.Log(graphicPath); CharaChipDirection charaChipDirection = mapEventPage.GraphicInfo.InitDirection; Texture2D charaChipTexture = new Texture2D(1, 1); byte[] bytes = System.IO.File.ReadAllBytes(graphicPath); charaChipTexture.LoadImage(bytes); charaChipTexture.filterMode = FilterMode.Point; RenderCharaChip(mapTexture, x, y, charaChipTexture, charaChipDirection); } } mapTexture.Apply(); mapTexture.filterMode = FilterMode.Point; Sprite sprite = Sprite.Create(mapTexture, new Rect(0.0f, 0.0f, mapTexture.width, mapTexture.height), new Vector2(0.5f, 0.5f), 1.0f); mapSprite.sprite = sprite; }