[03_RoyalGallery/Unity-19050-03_RoyalGallery_Navigator_PC]

Added color feature.
master
LH 6 years ago
parent 09cca2a7ac
commit dda25bea1b
  1. 2
      03_RoyalGallery/Unity-19050-03_RoyalGallery_Navigator_PC/19050-03_RoyalGallery_Navigator_PC/Assets/PaintingNavigator.unity
  2. 7
      03_RoyalGallery/Unity-19050-03_RoyalGallery_Navigator_PC/19050-03_RoyalGallery_Navigator_PC/Assets/PaintingNavigator/Script/ArtworkGenerator.cs
  3. 27
      03_RoyalGallery/Unity-19050-03_RoyalGallery_Navigator_PC/19050-03_RoyalGallery_Navigator_PC/Assets/PaintingNavigator/Script/PrintingGenerator.cs
  4. 44
      03_RoyalGallery/Unity-19050-03_RoyalGallery_Navigator_PC/19050-03_RoyalGallery_Navigator_PC/Assets/PaintingNavigator/Script/ResourceServer.cs

@ -7309,7 +7309,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8229dcd11ab919c4a95848ed679cccaf, type: 3} m_Script: {fileID: 11500000, guid: 8229dcd11ab919c4a95848ed679cccaf, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
host: 192.168.234.87 host: 127.0.0.1
port: 54578 port: 54578
onStateChanged: onStateChanged:
m_PersistentCalls: m_PersistentCalls:

@ -27,12 +27,12 @@ namespace UltraCombos.Minions.GirlsRoom.Nav
} }
public void OnPaintingReceived(Artwork artwork, string paintingPath, string signaturePath) public void OnPaintingReceived(Artwork artwork, string paintingPath, string signaturePath, string messagePath)
{ {
StartCoroutine(Generate(artwork, paintingPath, signaturePath)); StartCoroutine(Generate(artwork, paintingPath, signaturePath, messagePath));
} }
IEnumerator Generate(Artwork artwork, string paintingPath, string signaturePath) IEnumerator Generate(Artwork artwork, string paintingPath, string signaturePath, string messagePath)
{ {
paint.UpdateArtwork(artwork); paint.UpdateArtwork(artwork);
yield return new WaitForEndOfFrame(); yield return new WaitForEndOfFrame();
@ -42,6 +42,7 @@ namespace UltraCombos.Minions.GirlsRoom.Nav
serial = artwork.serial, serial = artwork.serial,
painting_path = paintingPath, painting_path = paintingPath,
signature_path = signaturePath, signature_path = signaturePath,
message_path = messagePath
}; };
int width = cam.targetTexture.width; int width = cam.targetTexture.width;

@ -27,7 +27,7 @@ namespace UltraCombos.Minions.GirlsRoom.Nav
public TextureEvent onPrint = new TextureEvent(); public TextureEvent onPrint = new TextureEvent();
[System.Serializable] [System.Serializable]
public class LuggageEvent : UnityEvent<string, Texture2D, Texture2D> { } public class LuggageEvent : UnityEvent<string, Texture2D, Texture2D, Color32> { }
public LuggageEvent onPrintLuggage = new LuggageEvent(); public LuggageEvent onPrintLuggage = new LuggageEvent();
private void Start() private void Start()
@ -66,7 +66,18 @@ namespace UltraCombos.Minions.GirlsRoom.Nav
if (painting_texture && signature_texture) if (painting_texture && signature_texture)
{ {
painting.UpdateArtwork(work.serial, painting_texture, signature_texture); Color32 color;
try
{
string message = File.ReadAllText(work.message_path);
color = Frozen.RoyalGallery.Utils.HexToColor(message);
}
catch (FileNotFoundException e)
{
color = new Color32(255, 255, 255, 255);
}
painting.UpdateArtwork(work.serial, painting_texture, signature_texture, color);
yield return new WaitForEndOfFrame(); yield return new WaitForEndOfFrame();
@ -78,7 +89,7 @@ namespace UltraCombos.Minions.GirlsRoom.Nav
// should be replaced with printing process // should be replaced with printing process
onPrint.Invoke(printing_texture); onPrint.Invoke(printing_texture);
onPrintLuggage.Invoke(work.serial, painting_texture, signature_texture); onPrintLuggage.Invoke(work.serial, painting_texture, signature_texture, color);
/* /*
string path = $"../../Build_GirlsRoomNav/Print/{work.serial}.jpg"; string path = $"../../Build_GirlsRoomNav/Print/{work.serial}.jpg";
System.IO.File.WriteAllBytes(path, printing_texture.EncodeToJPG()); System.IO.File.WriteAllBytes(path, printing_texture.EncodeToJPG());
@ -89,11 +100,11 @@ namespace UltraCombos.Minions.GirlsRoom.Nav
coroutine = null; coroutine = null;
} }
public void PrintLuggage(string serial, Texture2D painting, Texture2D signature) public void PrintLuggage(string serial, Texture2D painting, Texture2D signature, Color32 color)
{ {
if (luggage_coroutine == null) if (luggage_coroutine == null)
{ {
luggage_coroutine = StartCoroutine(PrintingLuggage(serial, painting, signature)); luggage_coroutine = StartCoroutine(PrintingLuggage(serial, painting, signature, color));
} }
} }
@ -101,13 +112,13 @@ namespace UltraCombos.Minions.GirlsRoom.Nav
{ {
if (luggage_coroutine == null) if (luggage_coroutine == null)
{ {
luggage_coroutine = StartCoroutine(PrintingLuggage(work.serial, work.painting, work.signature)); luggage_coroutine = StartCoroutine(PrintingLuggage(work.serial, work.painting, work.signature, work.color));
} }
} }
IEnumerator PrintingLuggage(string serial, Texture2D painting_texture, Texture2D signature_texture) IEnumerator PrintingLuggage(string serial, Texture2D painting_texture, Texture2D signature_texture, Color32 color)
{ {
painting.UpdateArtwork(serial, painting_texture, signature_texture); painting.UpdateArtwork(serial, painting_texture, signature_texture, color);
yield return new WaitForEndOfFrame(); yield return new WaitForEndOfFrame();

@ -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})");
} }
} }

Loading…
Cancel
Save