|
|
|
@ -31,12 +31,13 @@ namespace UltraCombos.Frozen.RoyalGallery |
|
|
|
PrintingGenerator luggagePrinter; |
|
|
|
PrintingGenerator luggagePrinter; |
|
|
|
|
|
|
|
|
|
|
|
[System.Serializable] |
|
|
|
[System.Serializable] |
|
|
|
public class PaintingEvent : UnityEvent<Artwork, string, string> { } |
|
|
|
public class PaintingEvent : UnityEvent<Artwork, string, string, string> { } |
|
|
|
[Space(10)] |
|
|
|
[Space(10)] |
|
|
|
public PaintingEvent onPaintingReceived = new PaintingEvent(); |
|
|
|
public PaintingEvent onPaintingReceived = new PaintingEvent(); |
|
|
|
|
|
|
|
|
|
|
|
const string painting_filename = "painting.png"; |
|
|
|
const string painting_filename = "painting.png"; |
|
|
|
const string signature_filename = "signature.png"; |
|
|
|
const string signature_filename = "signature.png"; |
|
|
|
|
|
|
|
const string message_filename = "message.dat"; |
|
|
|
|
|
|
|
|
|
|
|
Artwork last_data = null; |
|
|
|
Artwork last_data = null; |
|
|
|
Coroutine fetching = null; |
|
|
|
Coroutine fetching = null; |
|
|
|
@ -111,12 +112,37 @@ namespace UltraCombos.Frozen.RoyalGallery |
|
|
|
string signature_path = $"{folder.FullName}/{signature_filename}"; |
|
|
|
string signature_path = $"{folder.FullName}/{signature_filename}"; |
|
|
|
yield return Utility.Network.LoadTexture(signature_path, value => signature = value); |
|
|
|
yield return Utility.Network.LoadTexture(signature_path, value => signature = value); |
|
|
|
|
|
|
|
|
|
|
|
if (painting && signature) |
|
|
|
string message_path = $"{folder.FullName}/{message_filename}"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
do |
|
|
|
{ |
|
|
|
{ |
|
|
|
var artwork = new Artwork() { serial = folder.Name, painting = painting, signature = signature }; |
|
|
|
if (!painting) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!signature) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Color32 color; |
|
|
|
|
|
|
|
try |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
string message = File.ReadAllText(message_path); |
|
|
|
|
|
|
|
color = Utils.HexToColor(message); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
catch (FileNotFoundException e) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
color = new Color32(255, 255, 255, 255); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var artwork = new Artwork() { serial = folder.Name, painting = painting, signature = signature, color = color }; |
|
|
|
last_data = artwork; |
|
|
|
last_data = artwork; |
|
|
|
onPaintingReceived.Invoke(artwork, painting_path, signature_path); |
|
|
|
onPaintingReceived.Invoke(artwork, painting_path, signature_path, message_path); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} while (false); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yield return null; |
|
|
|
yield return null; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -150,8 +176,9 @@ namespace UltraCombos.Frozen.RoyalGallery |
|
|
|
var folder = Directory.CreateDirectory($"{store_dir.FullName}/{last_data.serial}"); |
|
|
|
var folder = Directory.CreateDirectory($"{store_dir.FullName}/{last_data.serial}"); |
|
|
|
string painting_path = $"{folder.FullName}/{painting_filename}"; |
|
|
|
string painting_path = $"{folder.FullName}/{painting_filename}"; |
|
|
|
string signature_path = $"{folder.FullName}/{signature_filename}"; |
|
|
|
string signature_path = $"{folder.FullName}/{signature_filename}"; |
|
|
|
|
|
|
|
string message_path = $"{folder.FullName}/{message_filename}"; |
|
|
|
|
|
|
|
|
|
|
|
onPaintingReceived.Invoke(last_data, painting_path, signature_path); |
|
|
|
onPaintingReceived.Invoke(last_data, painting_path, signature_path, message_path); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -188,13 +215,14 @@ namespace UltraCombos.Frozen.RoyalGallery |
|
|
|
File.WriteAllBytes(painting_path, data.Content.ToByteArray()); |
|
|
|
File.WriteAllBytes(painting_path, data.Content.ToByteArray()); |
|
|
|
string signature_path = $"{folder.FullName}/{signature_filename}"; |
|
|
|
string signature_path = $"{folder.FullName}/{signature_filename}"; |
|
|
|
File.WriteAllBytes(signature_path, data.Signature.ToByteArray()); |
|
|
|
File.WriteAllBytes(signature_path, data.Signature.ToByteArray()); |
|
|
|
|
|
|
|
string message_path = $"{folder.FullName}/{message_filename}"; |
|
|
|
|
|
|
|
File.WriteAllText(message_path, data.Message); |
|
|
|
last_data = artwork; |
|
|
|
last_data = artwork; |
|
|
|
if (luggagePrinter.isActiveAndEnabled) |
|
|
|
if (luggagePrinter.isActiveAndEnabled) |
|
|
|
{ |
|
|
|
{ |
|
|
|
luggagePrinter.PrintLuggage(artwork); |
|
|
|
luggagePrinter.PrintLuggage(artwork); |
|
|
|
} |
|
|
|
} |
|
|
|
onPaintingReceived.Invoke(artwork, painting_path, signature_path); |
|
|
|
onPaintingReceived.Invoke(artwork, painting_path, signature_path, message_path); |
|
|
|
Log($"Painting {data.Id} is loaded. ({painting.width} x {painting.height})"); |
|
|
|
Log($"Painting {data.Id} is loaded. ({painting.width} x {painting.height})"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|