Skip to content

Commit a631475

Browse files
committed
Added faces reader
1 parent 9c05753 commit a631475

File tree

3 files changed

+32
-2
lines changed

3 files changed

+32
-2
lines changed

DynmapFilesToSQLite/Converter/Converter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ public static void Convert(DirectoryInfo tilesFolder, DirectoryInfo markersFolde
1919
SqliteTransaction transaction = writer.CreateTransaction();
2020
reader.ExecuteSqliteCommands(transaction);
2121
transaction.Commit();
22+
23+
Console.WriteLine("Committed " + reader.GetType().Name);
2224
}
2325

2426
writer.Close();

DynmapFilesToSQLite/Converter/Reader/impl/FacesReader.cs

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,36 @@ public class FacesReader : DynReader {
99
public FacesReader(DirectoryInfo myDir) : base(myDir) { }
1010

1111
public override void ExecuteSqliteCommands(SqliteTransaction transaction) {
12-
12+
string myDirPath = myDir.FullName;
13+
14+
Dictionary<int, string> faceTypes = new Dictionary<int, string>();
15+
faceTypes.Add(0, "8x8");
16+
faceTypes.Add(1, "16x16");
17+
faceTypes.Add(2, "32x32");
18+
faceTypes.Add(3, "body");
19+
20+
foreach (int faceType in faceTypes.Keys) {
21+
string faceTypeStr = faceTypes[faceType];
22+
DirectoryInfo faceDir = new DirectoryInfo(Path.Combine(myDirPath, faceTypeStr));
23+
24+
if (faceDir.Exists) {
25+
foreach(FileInfo image in faceDir.EnumerateFiles().Where(file => file.Name.EndsWith(".png"))) {
26+
SqliteCommand cmd = new SqliteCommand();
27+
cmd.CommandText = "INSERT INTO Faces VALUES (@Name, @Type, @ImageBytes);";
28+
29+
string name = image.Name.Substring(0, image.Name.Length - 4);
30+
cmd.Parameters.AddWithValue("@Name", name);
31+
cmd.Parameters.AddWithValue("@Type", faceType);
32+
cmd.Parameters.AddWithValue("@ImageBytes", File.ReadAllBytes(image.FullName));
33+
34+
cmd.Transaction = transaction;
35+
cmd.Connection = transaction.Connection;
36+
cmd.ExecuteNonQuery();
37+
38+
Console.WriteLine("Command executed for " + name + " " + faceTypeStr);
39+
}
40+
}
41+
}
1342
}
1443
}
1544
}

DynmapFilesToSQLite/Converter/Reader/impl/MarkerIconsReader.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using Microsoft.Data.Sqlite;
22
using System;
3-
using System.Collections.Generic;
43
using System.IO;
54
using System.Linq;
65

0 commit comments

Comments
 (0)