diff --git a/Asset.meta b/Asset.meta
new file mode 100644
index 0000000..96727af
--- /dev/null
+++ b/Asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: af25631c20052cf4a9338c624415fa09
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font.meta b/Asset/Font.meta
new file mode 100644
index 0000000..b567b40
--- /dev/null
+++ b/Asset/Font.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 84d004e69d7365440b9314519374a55d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/ITC Legacy Sans Std Bold.meta b/Asset/Font/ITC Legacy Sans Std Bold.meta
new file mode 100644
index 0000000..d0d9be8
--- /dev/null
+++ b/Asset/Font/ITC Legacy Sans Std Bold.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 35f037df18df3e04d97848bc2cdf45c5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/ITC Legacy Sans Std Bold/ITC Legacy Sans Std Bold.ttf b/Asset/Font/ITC Legacy Sans Std Bold/ITC Legacy Sans Std Bold.ttf
new file mode 100644
index 0000000..b35f187
Binary files /dev/null and b/Asset/Font/ITC Legacy Sans Std Bold/ITC Legacy Sans Std Bold.ttf differ
diff --git a/Asset/Font/ITC Legacy Sans Std Bold/ITC Legacy Sans Std Bold.ttf.meta b/Asset/Font/ITC Legacy Sans Std Bold/ITC Legacy Sans Std Bold.ttf.meta
new file mode 100644
index 0000000..90e543f
--- /dev/null
+++ b/Asset/Font/ITC Legacy Sans Std Bold/ITC Legacy Sans Std Bold.ttf.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 299e5747903dc2e4bb9a9da6e10407a4
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: ITC Legacy Sans Std
+ fontNames:
+ - ITC Legacy Sans Std
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 03ad2e2a2160ef747bf8b8434882a677, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/ITC Legacy Sans Std Book.meta b/Asset/Font/ITC Legacy Sans Std Book.meta
new file mode 100644
index 0000000..363d7ef
--- /dev/null
+++ b/Asset/Font/ITC Legacy Sans Std Book.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9ff56424ccea8e4498473a25138adbb4
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/ITC Legacy Sans Std Book/ITC Legacy Sans Std Book.ttf b/Asset/Font/ITC Legacy Sans Std Book/ITC Legacy Sans Std Book.ttf
new file mode 100644
index 0000000..0a689b3
Binary files /dev/null and b/Asset/Font/ITC Legacy Sans Std Book/ITC Legacy Sans Std Book.ttf differ
diff --git a/Asset/Font/ITC Legacy Sans Std Book/ITC Legacy Sans Std Book.ttf.meta b/Asset/Font/ITC Legacy Sans Std Book/ITC Legacy Sans Std Book.ttf.meta
new file mode 100644
index 0000000..68100dc
--- /dev/null
+++ b/Asset/Font/ITC Legacy Sans Std Book/ITC Legacy Sans Std Book.ttf.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 03ad2e2a2160ef747bf8b8434882a677
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: ITC Legacy Sans Std
+ fontNames:
+ - ITC Legacy Sans Std
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 299e5747903dc2e4bb9a9da6e10407a4, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/Noto_Serif_TC.meta b/Asset/Font/Noto_Serif_TC.meta
new file mode 100644
index 0000000..eddb3f4
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1767a11b37873e84c93037992a851a7c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Black.otf b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Black.otf
new file mode 100644
index 0000000..3cd6c4f
Binary files /dev/null and b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Black.otf differ
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Black.otf.meta b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Black.otf.meta
new file mode 100644
index 0000000..b7285bb
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Black.otf.meta
@@ -0,0 +1,25 @@
+fileFormatVersion: 2
+guid: b618e9ffd0110c54e92791c9fa119f11
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Noto Serif TC
+ fontNames:
+ - Noto Serif TC
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 9cfd8f3ae96017a4d80a52acd05dca6f, type: 3}
+ - {fileID: 12800000, guid: 559b687a35d5483428b6abde3726d21e, type: 3}
+ - {fileID: 12800000, guid: 78760ffde7128a242936eadb7a7a236c, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Bold.otf b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Bold.otf
new file mode 100644
index 0000000..2f0d022
Binary files /dev/null and b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Bold.otf differ
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Bold.otf.meta b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Bold.otf.meta
new file mode 100644
index 0000000..9ad96c6
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Bold.otf.meta
@@ -0,0 +1,27 @@
+fileFormatVersion: 2
+guid: d5352d299496eeb4c9941677b484d3ab
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Noto Serif TC
+ fontNames:
+ - Noto Serif TC
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 9cfd8f3ae96017a4d80a52acd05dca6f, type: 3}
+ - {fileID: 12800000, guid: 559b687a35d5483428b6abde3726d21e, type: 3}
+ - {fileID: 12800000, guid: baaebbda857fb434088188bc8e3f45a9, type: 3}
+ - {fileID: 12800000, guid: 78760ffde7128a242936eadb7a7a236c, type: 3}
+ - {fileID: 12800000, guid: b618e9ffd0110c54e92791c9fa119f11, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-ExtraLight.otf b/Asset/Font/Noto_Serif_TC/NotoSerifTC-ExtraLight.otf
new file mode 100644
index 0000000..1a90a54
Binary files /dev/null and b/Asset/Font/Noto_Serif_TC/NotoSerifTC-ExtraLight.otf differ
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-ExtraLight.otf.meta b/Asset/Font/Noto_Serif_TC/NotoSerifTC-ExtraLight.otf.meta
new file mode 100644
index 0000000..70d4b9f
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC/NotoSerifTC-ExtraLight.otf.meta
@@ -0,0 +1,24 @@
+fileFormatVersion: 2
+guid: 9cfd8f3ae96017a4d80a52acd05dca6f
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Noto Serif TC
+ fontNames:
+ - Noto Serif TC
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 559b687a35d5483428b6abde3726d21e, type: 3}
+ - {fileID: 12800000, guid: 78760ffde7128a242936eadb7a7a236c, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Light.otf b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Light.otf
new file mode 100644
index 0000000..25f4874
Binary files /dev/null and b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Light.otf differ
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Light.otf.meta b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Light.otf.meta
new file mode 100644
index 0000000..5476449
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Light.otf.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 559b687a35d5483428b6abde3726d21e
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Noto Serif TC
+ fontNames:
+ - Noto Serif TC
+ fallbackFontReferences: []
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Medium.otf b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Medium.otf
new file mode 100644
index 0000000..26b2da1
Binary files /dev/null and b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Medium.otf differ
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Medium.otf.meta b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Medium.otf.meta
new file mode 100644
index 0000000..f5f1a7e
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Medium.otf.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 78760ffde7128a242936eadb7a7a236c
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Noto Serif TC
+ fontNames:
+ - Noto Serif TC
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 559b687a35d5483428b6abde3726d21e, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Regular.otf b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Regular.otf
new file mode 100644
index 0000000..38b77dd
Binary files /dev/null and b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Regular.otf differ
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-Regular.otf.meta b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Regular.otf.meta
new file mode 100644
index 0000000..bc8de3e
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC/NotoSerifTC-Regular.otf.meta
@@ -0,0 +1,28 @@
+fileFormatVersion: 2
+guid: e3b006f78a69d094c8541f00f92ecd2d
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Noto Serif TC
+ fontNames:
+ - Noto Serif TC
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: d5352d299496eeb4c9941677b484d3ab, type: 3}
+ - {fileID: 12800000, guid: 9cfd8f3ae96017a4d80a52acd05dca6f, type: 3}
+ - {fileID: 12800000, guid: 559b687a35d5483428b6abde3726d21e, type: 3}
+ - {fileID: 12800000, guid: baaebbda857fb434088188bc8e3f45a9, type: 3}
+ - {fileID: 12800000, guid: 78760ffde7128a242936eadb7a7a236c, type: 3}
+ - {fileID: 12800000, guid: b618e9ffd0110c54e92791c9fa119f11, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-SemiBold.otf b/Asset/Font/Noto_Serif_TC/NotoSerifTC-SemiBold.otf
new file mode 100644
index 0000000..00695ef
Binary files /dev/null and b/Asset/Font/Noto_Serif_TC/NotoSerifTC-SemiBold.otf differ
diff --git a/Asset/Font/Noto_Serif_TC/NotoSerifTC-SemiBold.otf.meta b/Asset/Font/Noto_Serif_TC/NotoSerifTC-SemiBold.otf.meta
new file mode 100644
index 0000000..64efc6d
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC/NotoSerifTC-SemiBold.otf.meta
@@ -0,0 +1,26 @@
+fileFormatVersion: 2
+guid: baaebbda857fb434088188bc8e3f45a9
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Noto Serif TC
+ fontNames:
+ - Noto Serif TC
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 9cfd8f3ae96017a4d80a52acd05dca6f, type: 3}
+ - {fileID: 12800000, guid: 559b687a35d5483428b6abde3726d21e, type: 3}
+ - {fileID: 12800000, guid: 78760ffde7128a242936eadb7a7a236c, type: 3}
+ - {fileID: 12800000, guid: b618e9ffd0110c54e92791c9fa119f11, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/Noto_Serif_TC/OFL.txt b/Asset/Font/Noto_Serif_TC/OFL.txt
new file mode 100644
index 0000000..77b1731
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC/OFL.txt
@@ -0,0 +1,91 @@
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Asset/Font/Noto_Serif_TC/OFL.txt.meta b/Asset/Font/Noto_Serif_TC/OFL.txt.meta
new file mode 100644
index 0000000..d246f0c
--- /dev/null
+++ b/Asset/Font/Noto_Serif_TC/OFL.txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d3dd7f64f23140447add03cf6dd44063
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts.meta b/Asset/Font/citrus_gothic_fonts.meta
new file mode 100644
index 0000000..fa39d33
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8575ebb5dda9ba74688cd9951308a265
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothic-Italic.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothic-Italic.otf
new file mode 100644
index 0000000..b30f747
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothic-Italic.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothic-Italic.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothic-Italic.otf.meta
new file mode 100644
index 0000000..4ef1088
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothic-Italic.otf.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: e288133f5da1362419392193f7879aaa
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic
+ fontNames:
+ - Citrus Gothic
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 8f5a9141fb2a7a746aaf703fa5091f24, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothic-Regular.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothic-Regular.otf
new file mode 100644
index 0000000..60b603d
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothic-Regular.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothic-Regular.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothic-Regular.otf.meta
new file mode 100644
index 0000000..ae16d5e
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothic-Regular.otf.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 8f5a9141fb2a7a746aaf703fa5091f24
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic
+ fontNames:
+ - Citrus Gothic
+ fallbackFontReferences: []
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Italic.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Italic.otf
new file mode 100644
index 0000000..b57a619
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Italic.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Italic.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Italic.otf.meta
new file mode 100644
index 0000000..050cad6
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Italic.otf.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: dbe15510f9c76e745bca1505e1ad6fb0
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic Inline
+ fontNames:
+ - Citrus Gothic Inline
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 85207f0ae8c12c0419cfd50880ee22dd, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Regular.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Regular.otf
new file mode 100644
index 0000000..44a4a74
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Regular.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Regular.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Regular.otf.meta
new file mode 100644
index 0000000..4aabf6f
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothicInline-Regular.otf.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 85207f0ae8c12c0419cfd50880ee22dd
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic Inline
+ fontNames:
+ - Citrus Gothic Inline
+ fallbackFontReferences: []
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Italic.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Italic.otf
new file mode 100644
index 0000000..5fd4cb8
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Italic.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Italic.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Italic.otf.meta
new file mode 100644
index 0000000..f6a6a8f
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Italic.otf.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 78ad5ddd0f3abbe49bb61f1f756f670f
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic Rough
+ fontNames:
+ - Citrus Gothic Rough
+ fallbackFontReferences: []
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Regular.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Regular.otf
new file mode 100644
index 0000000..e9881b2
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Regular.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Regular.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Regular.otf.meta
new file mode 100644
index 0000000..b3c7fc7
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothicRough-Regular.otf.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: e0eaa2be8fe39224d9d631b0924fabd0
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic Rough
+ fontNames:
+ - Citrus Gothic Rough
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 78ad5ddd0f3abbe49bb61f1f756f670f, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Italic.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Italic.otf
new file mode 100644
index 0000000..cfe5341
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Italic.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Italic.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Italic.otf.meta
new file mode 100644
index 0000000..99d5a1c
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Italic.otf.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 7bff9983b48bc644d896d9ee0695d0fd
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic Shadow
+ fontNames:
+ - Citrus Gothic Shadow
+ fallbackFontReferences: []
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Regular.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Regular.otf
new file mode 100644
index 0000000..ee40f89
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Regular.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Regular.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Regular.otf.meta
new file mode 100644
index 0000000..fc55427
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothicShadow-Regular.otf.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 7c75361a0cbfe804cbb19e3f83f1238a
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic Shadow
+ fontNames:
+ - Citrus Gothic Shadow
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 7bff9983b48bc644d896d9ee0695d0fd, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Italic.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Italic.otf
new file mode 100644
index 0000000..1290a58
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Italic.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Italic.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Italic.otf.meta
new file mode 100644
index 0000000..3f8dd5c
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Italic.otf.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 96e39fe2faab7894f9d821d2e82d48b9
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic Solid
+ fontNames:
+ - Citrus Gothic Solid
+ fallbackFontReferences: []
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Regular.otf b/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Regular.otf
new file mode 100644
index 0000000..b54d654
Binary files /dev/null and b/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Regular.otf differ
diff --git a/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Regular.otf.meta b/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Regular.otf.meta
new file mode 100644
index 0000000..dd66d15
--- /dev/null
+++ b/Asset/Font/citrus_gothic_fonts/CitrusGothicSolid-Regular.otf.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: b8a31bf93a948314baaf6e1c0d39d2b9
+TrueTypeFontImporter:
+ externalObjects: {}
+ serializedVersion: 4
+ fontSize: 16
+ forceTextureCase: -2
+ characterSpacing: 0
+ characterPadding: 1
+ includeFontData: 1
+ fontName: Citrus Gothic Solid
+ fontNames:
+ - Citrus Gothic Solid
+ fallbackFontReferences:
+ - {fileID: 12800000, guid: 96e39fe2faab7894f9d821d2e82d48b9, type: 3}
+ customCharacters:
+ fontRenderingMode: 0
+ ascentCalculationMode: 1
+ useLegacyBoundsCalculation: 0
+ shouldRoundAdvanceValue: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Texture.meta b/Asset/Texture.meta
new file mode 100644
index 0000000..c384e28
--- /dev/null
+++ b/Asset/Texture.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d520d5f4c6d8d7e43a00bfbe02135072
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Texture/painting.png b/Asset/Texture/painting.png
new file mode 100644
index 0000000..69787fa
Binary files /dev/null and b/Asset/Texture/painting.png differ
diff --git a/Asset/Texture/painting.png.meta b/Asset/Texture/painting.png.meta
new file mode 100644
index 0000000..038abf2
--- /dev/null
+++ b/Asset/Texture/painting.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 22d3768377c59cf4991022525ebadc9c
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 9
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 2
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ - serializedVersion: 2
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ - serializedVersion: 2
+ buildTarget: iPhone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Asset/Texture/signature.png b/Asset/Texture/signature.png
new file mode 100644
index 0000000..d1235d9
Binary files /dev/null and b/Asset/Texture/signature.png differ
diff --git a/Asset/Texture/signature.png.meta b/Asset/Texture/signature.png.meta
new file mode 100644
index 0000000..d34c2be
--- /dev/null
+++ b/Asset/Texture/signature.png.meta
@@ -0,0 +1,110 @@
+fileFormatVersion: 2
+guid: 967a8cc9660230641a23f275822f05fd
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 9
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 2
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ - serializedVersion: 2
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ - serializedVersion: 2
+ buildTarget: iPhone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Prefab.meta b/Prefab.meta
new file mode 100644
index 0000000..e68c5f0
--- /dev/null
+++ b/Prefab.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f6b13ced1e12a6e4bb5b90fd71003bc7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Prefab/5x7 Layout Nav.prefab b/Prefab/5x7 Layout Nav.prefab
new file mode 100644
index 0000000..5b6cc73
--- /dev/null
+++ b/Prefab/5x7 Layout Nav.prefab
@@ -0,0 +1,227 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &6457669733996986344
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6457669733996986345}
+ - component: {fileID: 6457669733996986327}
+ - component: {fileID: 3759191805438659788}
+ - component: {fileID: 4973597557943839864}
+ m_Layer: 0
+ m_Name: 5x7 Layout Nav
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6457669733996986345
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669733996986344}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 6457669734246873012}
+ - {fileID: 6457669734645064461}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 3000, y: 4200}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6457669733996986327
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669733996986344}
+ m_CullTransparentMesh: 0
+--- !u!114 &3759191805438659788
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669733996986344}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 26ba4f3fee6e030498ac88e450f74f9d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &4973597557943839864
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669733996986344}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -98529514, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!1 &6457669734246873015
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6457669734246873012}
+ - component: {fileID: 6457669734246873011}
+ - component: {fileID: 6457669734246873010}
+ m_Layer: 0
+ m_Name: painting
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6457669734246873012
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669734246873015}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 6457669733996986345}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 200}
+ m_SizeDelta: {x: 3000, y: 3000}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6457669734246873011
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669734246873015}
+ m_CullTransparentMesh: 0
+--- !u!114 &6457669734246873010
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669734246873015}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -98529514, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 2800000, guid: 22d3768377c59cf4991022525ebadc9c, type: 3}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!1 &6457669734645064460
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6457669734645064461}
+ - component: {fileID: 6457669734645064456}
+ - component: {fileID: 6457669734645064459}
+ m_Layer: 0
+ m_Name: signature
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6457669734645064461
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669734645064460}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
+ m_Children: []
+ m_Father: {fileID: 6457669733996986345}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 877, y: -1458}
+ m_SizeDelta: {x: 1513, y: 625}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6457669734645064456
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669734645064460}
+ m_CullTransparentMesh: 0
+--- !u!114 &6457669734645064459
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6457669734645064460}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -98529514, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 2800000, guid: 967a8cc9660230641a23f275822f05fd, type: 3}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
diff --git a/Prefab/5x7 Layout Nav.prefab.meta b/Prefab/5x7 Layout Nav.prefab.meta
new file mode 100644
index 0000000..c853159
--- /dev/null
+++ b/Prefab/5x7 Layout Nav.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: eb773073a5b065b44b81ea4b2520c480
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Prefab/5x7 Layout iPad.prefab b/Prefab/5x7 Layout iPad.prefab
new file mode 100644
index 0000000..10f1562
--- /dev/null
+++ b/Prefab/5x7 Layout iPad.prefab
@@ -0,0 +1,244 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &133821148109245230
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 133821148109245231}
+ - component: {fileID: 133821148109245201}
+ - component: {fileID: 133821148109245200}
+ m_Layer: 0
+ m_Name: 5x7 Layout
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &133821148109245231
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821148109245230}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 133821148390589298}
+ - {fileID: 133821149873018827}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 3000, y: 4200}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &133821148109245201
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821148109245230}
+ m_CullTransparentMesh: 0
+--- !u!114 &133821148109245200
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821148109245230}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.92941177, g: 0.95686275, b: 0.9490196, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+--- !u!1 &133821148390589297
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 133821148390589298}
+ - component: {fileID: 133821148390589301}
+ - component: {fileID: 133821148390589300}
+ - component: {fileID: 133821148390589299}
+ m_Layer: 0
+ m_Name: Painting
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &133821148390589298
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821148390589297}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 133821148109245231}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 200}
+ m_SizeDelta: {x: 3000, y: 3000}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &133821148390589301
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821148390589297}
+ m_CullTransparentMesh: 0
+--- !u!114 &133821148390589300
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821148390589297}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -98529514, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!114 &133821148390589299
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821148390589297}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 47b15dbef5eb46140a92fffa0f17cfcb, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ canvas: {fileID: 0}
+--- !u!1 &133821149873018826
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 133821149873018827}
+ - component: {fileID: 133821149873018830}
+ - component: {fileID: 133821149873018829}
+ - component: {fileID: 133821149873018828}
+ m_Layer: 0
+ m_Name: Signature
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &133821149873018827
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821149873018826}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
+ m_Children: []
+ m_Father: {fileID: 133821148109245231}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 877, y: -1458}
+ m_SizeDelta: {x: 1513, y: 625}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &133821149873018830
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821149873018826}
+ m_CullTransparentMesh: 0
+--- !u!114 &133821149873018829
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821149873018826}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -98529514, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Texture: {fileID: 0}
+ m_UVRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+--- !u!114 &133821149873018828
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133821149873018826}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9550b89dc30ed384d8741f172b12127d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ canvas: {fileID: 0}
diff --git a/Prefab/5x7 Layout iPad.prefab.meta b/Prefab/5x7 Layout iPad.prefab.meta
new file mode 100644
index 0000000..81365bf
--- /dev/null
+++ b/Prefab/5x7 Layout iPad.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: aa88e80ceaac96d4db347a86363088a3
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/README.md.meta b/README.md.meta
new file mode 100644
index 0000000..b3906f2
--- /dev/null
+++ b/README.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 25bfc31121205a84fa1f4d1ed17ac540
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Resources.meta b/Resources.meta
new file mode 100644
index 0000000..b980e10
--- /dev/null
+++ b/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5e30489750b025848bcda3f8f311f0d0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime.meta b/Runtime.meta
new file mode 100644
index 0000000..99d5fe0
--- /dev/null
+++ b/Runtime.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 114838dc4295ec44cbdd31f6836593d5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Grpc.meta b/Runtime/Grpc.meta
new file mode 100644
index 0000000..e96f5cc
--- /dev/null
+++ b/Runtime/Grpc.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d843a41d9707a744a828306f24ad549a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Grpc/Ultracombos.Frozen.RoyalGalleryGrpc.cs b/Runtime/Grpc/Ultracombos.Frozen.RoyalGalleryGrpc.cs
new file mode 100644
index 0000000..dedbd0c
--- /dev/null
+++ b/Runtime/Grpc/Ultracombos.Frozen.RoyalGalleryGrpc.cs
@@ -0,0 +1,128 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: Ultracombos.Frozen.RoyalGallery.proto
+//
+#pragma warning disable 0414, 1591
+#region Designer generated code
+
+using grpc = global::Grpc.Core;
+
+namespace UltraCombos.Frozen.RoyalGallery {
+ public static partial class Resource
+ {
+ static readonly string __ServiceName = "UltraCombos.Frozen.RoyalGallery.Resource";
+
+ static readonly grpc::Marshaller __Marshaller_UltraCombos_Frozen_RoyalGallery_Device = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::UltraCombos.Frozen.RoyalGallery.Device.Parser.ParseFrom);
+ static readonly grpc::Marshaller __Marshaller_UltraCombos_Frozen_RoyalGallery_Page = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::UltraCombos.Frozen.RoyalGallery.Page.Parser.ParseFrom);
+ static readonly grpc::Marshaller __Marshaller_UltraCombos_Frozen_RoyalGallery_DataRequest = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::UltraCombos.Frozen.RoyalGallery.DataRequest.Parser.ParseFrom);
+ static readonly grpc::Marshaller __Marshaller_UltraCombos_Frozen_RoyalGallery_DataReply = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::UltraCombos.Frozen.RoyalGallery.DataReply.Parser.ParseFrom);
+
+ static readonly grpc::Method __Method_GetPage = new grpc::Method(
+ grpc::MethodType.Unary,
+ __ServiceName,
+ "GetPage",
+ __Marshaller_UltraCombos_Frozen_RoyalGallery_Device,
+ __Marshaller_UltraCombos_Frozen_RoyalGallery_Page);
+
+ static readonly grpc::Method __Method_SendData = new grpc::Method(
+ grpc::MethodType.Unary,
+ __ServiceName,
+ "SendData",
+ __Marshaller_UltraCombos_Frozen_RoyalGallery_DataRequest,
+ __Marshaller_UltraCombos_Frozen_RoyalGallery_DataReply);
+
+ /// Service descriptor
+ public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
+ {
+ get { return global::UltraCombos.Frozen.RoyalGallery.UltracombosFrozenRoyalGalleryReflection.Descriptor.Services[0]; }
+ }
+
+ /// Base class for server-side implementations of Resource
+ public abstract partial class ResourceBase
+ {
+ public virtual global::System.Threading.Tasks.Task GetPage(global::UltraCombos.Frozen.RoyalGallery.Device request, grpc::ServerCallContext context)
+ {
+ throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
+ }
+
+ public virtual global::System.Threading.Tasks.Task SendData(global::UltraCombos.Frozen.RoyalGallery.DataRequest request, grpc::ServerCallContext context)
+ {
+ throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
+ }
+
+ }
+
+ /// Client for Resource
+ public partial class ResourceClient : grpc::ClientBase
+ {
+ /// Creates a new client for Resource
+ /// The channel to use to make remote calls.
+ public ResourceClient(grpc::Channel channel) : base(channel)
+ {
+ }
+ /// Creates a new client for Resource that uses a custom CallInvoker.
+ /// The callInvoker to use to make remote calls.
+ public ResourceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
+ {
+ }
+ /// Protected parameterless constructor to allow creation of test doubles.
+ protected ResourceClient() : base()
+ {
+ }
+ /// Protected constructor to allow creation of configured clients.
+ /// The client configuration.
+ protected ResourceClient(ClientBaseConfiguration configuration) : base(configuration)
+ {
+ }
+
+ public virtual global::UltraCombos.Frozen.RoyalGallery.Page GetPage(global::UltraCombos.Frozen.RoyalGallery.Device request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ return GetPage(request, new grpc::CallOptions(headers, deadline, cancellationToken));
+ }
+ public virtual global::UltraCombos.Frozen.RoyalGallery.Page GetPage(global::UltraCombos.Frozen.RoyalGallery.Device request, grpc::CallOptions options)
+ {
+ return CallInvoker.BlockingUnaryCall(__Method_GetPage, null, options, request);
+ }
+ public virtual grpc::AsyncUnaryCall GetPageAsync(global::UltraCombos.Frozen.RoyalGallery.Device request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ return GetPageAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
+ }
+ public virtual grpc::AsyncUnaryCall GetPageAsync(global::UltraCombos.Frozen.RoyalGallery.Device request, grpc::CallOptions options)
+ {
+ return CallInvoker.AsyncUnaryCall(__Method_GetPage, null, options, request);
+ }
+ public virtual global::UltraCombos.Frozen.RoyalGallery.DataReply SendData(global::UltraCombos.Frozen.RoyalGallery.DataRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ return SendData(request, new grpc::CallOptions(headers, deadline, cancellationToken));
+ }
+ public virtual global::UltraCombos.Frozen.RoyalGallery.DataReply SendData(global::UltraCombos.Frozen.RoyalGallery.DataRequest request, grpc::CallOptions options)
+ {
+ return CallInvoker.BlockingUnaryCall(__Method_SendData, null, options, request);
+ }
+ public virtual grpc::AsyncUnaryCall SendDataAsync(global::UltraCombos.Frozen.RoyalGallery.DataRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ return SendDataAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
+ }
+ public virtual grpc::AsyncUnaryCall SendDataAsync(global::UltraCombos.Frozen.RoyalGallery.DataRequest request, grpc::CallOptions options)
+ {
+ return CallInvoker.AsyncUnaryCall(__Method_SendData, null, options, request);
+ }
+ /// Creates a new instance of client from given ClientBaseConfiguration.
+ protected override ResourceClient NewInstance(ClientBaseConfiguration configuration)
+ {
+ return new ResourceClient(configuration);
+ }
+ }
+
+ /// Creates service definition that can be registered with a server
+ /// An object implementing the server-side handling logic.
+ public static grpc::ServerServiceDefinition BindService(ResourceBase serviceImpl)
+ {
+ return grpc::ServerServiceDefinition.CreateBuilder()
+ .AddMethod(__Method_GetPage, serviceImpl.GetPage)
+ .AddMethod(__Method_SendData, serviceImpl.SendData).Build();
+ }
+
+ }
+}
+#endregion
diff --git a/Runtime/Grpc/Ultracombos.Frozen.RoyalGalleryGrpc.cs.meta b/Runtime/Grpc/Ultracombos.Frozen.RoyalGalleryGrpc.cs.meta
new file mode 100644
index 0000000..4b9b903
--- /dev/null
+++ b/Runtime/Grpc/Ultracombos.Frozen.RoyalGalleryGrpc.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d8b0021488a56754d9d36704becbf179
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Grpc/UltracombosFrozenRoyalGallery.cs b/Runtime/Grpc/UltracombosFrozenRoyalGallery.cs
new file mode 100644
index 0000000..dc7f962
--- /dev/null
+++ b/Runtime/Grpc/UltracombosFrozenRoyalGallery.cs
@@ -0,0 +1,870 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: Ultracombos.Frozen.RoyalGallery.proto
+//
+#pragma warning disable 1591, 0612, 3021
+#region Designer generated code
+
+using pb = global::Google.Protobuf;
+using pbc = global::Google.Protobuf.Collections;
+using pbr = global::Google.Protobuf.Reflection;
+using scg = global::System.Collections.Generic;
+namespace UltraCombos.Frozen.RoyalGallery {
+
+ /// Holder for reflection information generated from Ultracombos.Frozen.RoyalGallery.proto
+ public static partial class UltracombosFrozenRoyalGalleryReflection {
+
+ #region Descriptor
+ /// File descriptor for Ultracombos.Frozen.RoyalGallery.proto
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static UltracombosFrozenRoyalGalleryReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "CiVVbHRyYWNvbWJvcy5Gcm96ZW4uUm95YWxHYWxsZXJ5LnByb3RvEh9VbHRy",
+ "YUNvbWJvcy5Gcm96ZW4uUm95YWxHYWxsZXJ5IgcKBUVtcHR5IhQKBkRldmlj",
+ "ZRIKCgJpZBgBIAEoBSIzCgRQYWdlEgoKAmlkGAEgASgJEg4KBnNlcmlhbBgC",
+ "IAEoCRIPCgdtZXNzYWdlGAMgASgJInEKC0RhdGFSZXF1ZXN0EgoKAmlkGAEg",
+ "ASgJEg4KBnNlcmlhbBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEg8KB2NvbnRl",
+ "bnQYBCABKAwSEQoJc2lnbmF0dXJlGAUgASgMEhEKCXRodW1ibmFpbBgGIAEo",
+ "DCIbCglEYXRhUmVwbHkSDgoGcmVzdWx0GAEgASgJMs8BCghSZXNvdXJjZRJb",
+ "CgdHZXRQYWdlEicuVWx0cmFDb21ib3MuRnJvemVuLlJveWFsR2FsbGVyeS5E",
+ "ZXZpY2UaJS5VbHRyYUNvbWJvcy5Gcm96ZW4uUm95YWxHYWxsZXJ5LlBhZ2Ui",
+ "ABJmCghTZW5kRGF0YRIsLlVsdHJhQ29tYm9zLkZyb3plbi5Sb3lhbEdhbGxl",
+ "cnkuRGF0YVJlcXVlc3QaKi5VbHRyYUNvbWJvcy5Gcm96ZW4uUm95YWxHYWxs",
+ "ZXJ5LkRhdGFSZXBseSIAYgZwcm90bzM="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::UltraCombos.Frozen.RoyalGallery.Empty), global::UltraCombos.Frozen.RoyalGallery.Empty.Parser, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::UltraCombos.Frozen.RoyalGallery.Device), global::UltraCombos.Frozen.RoyalGallery.Device.Parser, new[]{ "Id" }, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::UltraCombos.Frozen.RoyalGallery.Page), global::UltraCombos.Frozen.RoyalGallery.Page.Parser, new[]{ "Id", "Serial", "Message" }, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::UltraCombos.Frozen.RoyalGallery.DataRequest), global::UltraCombos.Frozen.RoyalGallery.DataRequest.Parser, new[]{ "Id", "Serial", "Message", "Content", "Signature", "Thumbnail" }, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::UltraCombos.Frozen.RoyalGallery.DataReply), global::UltraCombos.Frozen.RoyalGallery.DataReply.Parser, new[]{ "Result" }, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ public sealed partial class Empty : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Empty());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::UltraCombos.Frozen.RoyalGallery.UltracombosFrozenRoyalGalleryReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Empty() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Empty(Empty other) : this() {
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Empty Clone() {
+ return new Empty(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as Empty);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(Empty other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(Empty other) {
+ if (other == null) {
+ return;
+ }
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ }
+ }
+ }
+
+ }
+
+ public sealed partial class Device : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Device());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::UltraCombos.Frozen.RoyalGallery.UltracombosFrozenRoyalGalleryReflection.Descriptor.MessageTypes[1]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Device() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Device(Device other) : this() {
+ id_ = other.id_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Device Clone() {
+ return new Device(this);
+ }
+
+ /// Field number for the "id" field.
+ public const int IdFieldNumber = 1;
+ private int id_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int Id {
+ get { return id_; }
+ set {
+ id_ = value;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as Device);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(Device other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Id != other.Id) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Id != 0) hash ^= Id.GetHashCode();
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ if (Id != 0) {
+ output.WriteRawTag(8);
+ output.WriteInt32(Id);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Id != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(Device other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Id != 0) {
+ Id = other.Id;
+ }
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ case 8: {
+ Id = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ public sealed partial class Page : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Page());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::UltraCombos.Frozen.RoyalGallery.UltracombosFrozenRoyalGalleryReflection.Descriptor.MessageTypes[2]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Page() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Page(Page other) : this() {
+ id_ = other.id_;
+ serial_ = other.serial_;
+ message_ = other.message_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Page Clone() {
+ return new Page(this);
+ }
+
+ /// Field number for the "id" field.
+ public const int IdFieldNumber = 1;
+ private string id_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Id {
+ get { return id_; }
+ set {
+ id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "serial" field.
+ public const int SerialFieldNumber = 2;
+ private string serial_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Serial {
+ get { return serial_; }
+ set {
+ serial_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "message" field.
+ public const int MessageFieldNumber = 3;
+ private string message_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Message {
+ get { return message_; }
+ set {
+ message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as Page);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(Page other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Id != other.Id) return false;
+ if (Serial != other.Serial) return false;
+ if (Message != other.Message) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Id.Length != 0) hash ^= Id.GetHashCode();
+ if (Serial.Length != 0) hash ^= Serial.GetHashCode();
+ if (Message.Length != 0) hash ^= Message.GetHashCode();
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ if (Id.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Id);
+ }
+ if (Serial.Length != 0) {
+ output.WriteRawTag(18);
+ output.WriteString(Serial);
+ }
+ if (Message.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(Message);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Id.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
+ }
+ if (Serial.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Serial);
+ }
+ if (Message.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(Page other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Id.Length != 0) {
+ Id = other.Id;
+ }
+ if (other.Serial.Length != 0) {
+ Serial = other.Serial;
+ }
+ if (other.Message.Length != 0) {
+ Message = other.Message;
+ }
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ case 10: {
+ Id = input.ReadString();
+ break;
+ }
+ case 18: {
+ Serial = input.ReadString();
+ break;
+ }
+ case 26: {
+ Message = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ public sealed partial class DataRequest : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataRequest());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::UltraCombos.Frozen.RoyalGallery.UltracombosFrozenRoyalGalleryReflection.Descriptor.MessageTypes[3]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public DataRequest() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public DataRequest(DataRequest other) : this() {
+ id_ = other.id_;
+ serial_ = other.serial_;
+ message_ = other.message_;
+ content_ = other.content_;
+ signature_ = other.signature_;
+ thumbnail_ = other.thumbnail_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public DataRequest Clone() {
+ return new DataRequest(this);
+ }
+
+ /// Field number for the "id" field.
+ public const int IdFieldNumber = 1;
+ private string id_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Id {
+ get { return id_; }
+ set {
+ id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "serial" field.
+ public const int SerialFieldNumber = 2;
+ private string serial_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Serial {
+ get { return serial_; }
+ set {
+ serial_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "message" field.
+ public const int MessageFieldNumber = 3;
+ private string message_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Message {
+ get { return message_; }
+ set {
+ message_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "content" field.
+ public const int ContentFieldNumber = 4;
+ private pb::ByteString content_ = pb::ByteString.Empty;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pb::ByteString Content {
+ get { return content_; }
+ set {
+ content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "signature" field.
+ public const int SignatureFieldNumber = 5;
+ private pb::ByteString signature_ = pb::ByteString.Empty;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pb::ByteString Signature {
+ get { return signature_; }
+ set {
+ signature_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "thumbnail" field.
+ public const int ThumbnailFieldNumber = 6;
+ private pb::ByteString thumbnail_ = pb::ByteString.Empty;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pb::ByteString Thumbnail {
+ get { return thumbnail_; }
+ set {
+ thumbnail_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as DataRequest);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(DataRequest other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Id != other.Id) return false;
+ if (Serial != other.Serial) return false;
+ if (Message != other.Message) return false;
+ if (Content != other.Content) return false;
+ if (Signature != other.Signature) return false;
+ if (Thumbnail != other.Thumbnail) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Id.Length != 0) hash ^= Id.GetHashCode();
+ if (Serial.Length != 0) hash ^= Serial.GetHashCode();
+ if (Message.Length != 0) hash ^= Message.GetHashCode();
+ if (Content.Length != 0) hash ^= Content.GetHashCode();
+ if (Signature.Length != 0) hash ^= Signature.GetHashCode();
+ if (Thumbnail.Length != 0) hash ^= Thumbnail.GetHashCode();
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ if (Id.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Id);
+ }
+ if (Serial.Length != 0) {
+ output.WriteRawTag(18);
+ output.WriteString(Serial);
+ }
+ if (Message.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(Message);
+ }
+ if (Content.Length != 0) {
+ output.WriteRawTag(34);
+ output.WriteBytes(Content);
+ }
+ if (Signature.Length != 0) {
+ output.WriteRawTag(42);
+ output.WriteBytes(Signature);
+ }
+ if (Thumbnail.Length != 0) {
+ output.WriteRawTag(50);
+ output.WriteBytes(Thumbnail);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Id.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
+ }
+ if (Serial.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Serial);
+ }
+ if (Message.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Message);
+ }
+ if (Content.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeBytesSize(Content);
+ }
+ if (Signature.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeBytesSize(Signature);
+ }
+ if (Thumbnail.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeBytesSize(Thumbnail);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(DataRequest other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Id.Length != 0) {
+ Id = other.Id;
+ }
+ if (other.Serial.Length != 0) {
+ Serial = other.Serial;
+ }
+ if (other.Message.Length != 0) {
+ Message = other.Message;
+ }
+ if (other.Content.Length != 0) {
+ Content = other.Content;
+ }
+ if (other.Signature.Length != 0) {
+ Signature = other.Signature;
+ }
+ if (other.Thumbnail.Length != 0) {
+ Thumbnail = other.Thumbnail;
+ }
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ case 10: {
+ Id = input.ReadString();
+ break;
+ }
+ case 18: {
+ Serial = input.ReadString();
+ break;
+ }
+ case 26: {
+ Message = input.ReadString();
+ break;
+ }
+ case 34: {
+ Content = input.ReadBytes();
+ break;
+ }
+ case 42: {
+ Signature = input.ReadBytes();
+ break;
+ }
+ case 50: {
+ Thumbnail = input.ReadBytes();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ public sealed partial class DataReply : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DataReply());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::UltraCombos.Frozen.RoyalGallery.UltracombosFrozenRoyalGalleryReflection.Descriptor.MessageTypes[4]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public DataReply() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public DataReply(DataReply other) : this() {
+ result_ = other.result_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public DataReply Clone() {
+ return new DataReply(this);
+ }
+
+ /// Field number for the "result" field.
+ public const int ResultFieldNumber = 1;
+ private string result_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Result {
+ get { return result_; }
+ set {
+ result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as DataReply);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(DataReply other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Result != other.Result) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Result.Length != 0) hash ^= Result.GetHashCode();
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ if (Result.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Result);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Result.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Result);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(DataReply other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Result.Length != 0) {
+ Result = other.Result;
+ }
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ case 10: {
+ Result = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/Runtime/Grpc/UltracombosFrozenRoyalGallery.cs.meta b/Runtime/Grpc/UltracombosFrozenRoyalGallery.cs.meta
new file mode 100644
index 0000000..a96941f
--- /dev/null
+++ b/Runtime/Grpc/UltracombosFrozenRoyalGallery.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 814d05d2d65eef44ab1e80cddd5d78a6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/UltraCombos.Frozen.RoyalGalleryAsset.Runtime.asmdef b/Runtime/UltraCombos.Frozen.RoyalGalleryAsset.Runtime.asmdef
new file mode 100644
index 0000000..3f770aa
--- /dev/null
+++ b/Runtime/UltraCombos.Frozen.RoyalGalleryAsset.Runtime.asmdef
@@ -0,0 +1,12 @@
+{
+ "name": "UltraCombos.Frozen.RoyalGalleryAsset.Runtime",
+ "references": [],
+ "optionalUnityReferences": [],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": []
+}
\ No newline at end of file
diff --git a/Runtime/UltraCombos.Frozen.RoyalGalleryAsset.Runtime.asmdef.meta b/Runtime/UltraCombos.Frozen.RoyalGalleryAsset.Runtime.asmdef.meta
new file mode 100644
index 0000000..02abe61
--- /dev/null
+++ b/Runtime/UltraCombos.Frozen.RoyalGalleryAsset.Runtime.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8e56f0e721361204c8a51ceee98ea3bc
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Texture.meta b/Texture.meta
new file mode 100644
index 0000000..445299c
--- /dev/null
+++ b/Texture.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3a492961f840c6e45943b6c47c8afbca
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Texture/postcard_5x7.rendertexture b/Texture/postcard_5x7.rendertexture
new file mode 100644
index 0000000..6614b29
--- /dev/null
+++ b/Texture/postcard_5x7.rendertexture
@@ -0,0 +1,34 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!84 &8400000
+RenderTexture:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: postcard_5x7
+ m_ImageContentsHash:
+ serializedVersion: 2
+ Hash: 00000000000000000000000000000000
+ m_ForcedFallbackFormat: 4
+ m_DownscaleFallback: 0
+ m_Width: 1500
+ m_Height: 2100
+ m_AntiAliasing: 4
+ m_DepthFormat: 0
+ m_ColorFormat: 0
+ m_MipMap: 0
+ m_GenerateMips: 1
+ m_SRGB: 0
+ m_UseDynamicScale: 0
+ m_BindMS: 0
+ m_TextureSettings:
+ serializedVersion: 2
+ m_FilterMode: 1
+ m_Aniso: 0
+ m_MipBias: 0
+ m_WrapU: 1
+ m_WrapV: 1
+ m_WrapW: 1
+ m_Dimension: 2
+ m_VolumeDepth: 1
diff --git a/Texture/postcard_5x7.rendertexture.meta b/Texture/postcard_5x7.rendertexture.meta
new file mode 100644
index 0000000..2e52c68
--- /dev/null
+++ b/Texture/postcard_5x7.rendertexture.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1cd6d5a279f1dfe4397018ca9e03fdb6
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..bad9d62
--- /dev/null
+++ b/package.json
@@ -0,0 +1,8 @@
+{
+ "name": "com.ultracombos.frozen.royal-gallery-asset",
+ "displayName": "Frozen Royal Gallery Asset",
+ "version": "0.0.1",
+ "unity": "2018.1",
+ "description": "Frozen Royal Gallery Asset for Unity.",
+ "dependencies": { }
+}
diff --git a/package.json.meta b/package.json.meta
new file mode 100644
index 0000000..b1f5147
--- /dev/null
+++ b/package.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2f2ced665323d57418453e66f8d8fcd6
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant: