commit 4e85bc790800a944ee91714dd68e82236dea8192
Author: zhuyayu <495346248@qq.com>
Date: Tue Nov 1 15:56:25 2022 +0800
项目工程档
diff --git a/WuHu_touming/Assets/Conf.meta b/WuHu_touming/Assets/Conf.meta
new file mode 100644
index 0000000..3ce1123
--- /dev/null
+++ b/WuHu_touming/Assets/Conf.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1a949462f4057674180c4a164aa48a15
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/kind.meta b/WuHu_touming/Assets/Conf/kind.meta
new file mode 100644
index 0000000..6b8c643
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/kind.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1c53e57863ec40343b35986cb549dcfb
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/kind/人参类.asset b/WuHu_touming/Assets/Conf/kind/人参类.asset
new file mode 100644
index 0000000..ad10232
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/kind/人参类.asset
@@ -0,0 +1,35 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u4EBA\u53C2\u7C7B"
+ m_EditorClassIdentifier:
+ kind: "\u4EBA\u53C2\u7C7B"
+ menuitem_num: 6
+ menuitem_img:
+ - {fileID: 21300000, guid: 9acb7fe9a989d5c4eb3e9f133845766f, type: 3}
+ - {fileID: 21300000, guid: f2707d4ecc8e0344a87fbc95dce3e55b, type: 3}
+ - {fileID: 21300000, guid: fc57bc7a18f3d1549bc7cfd63e10e28c, type: 3}
+ - {fileID: 21300000, guid: f07b2ce7cfa255347ac35239da50b52d, type: 3}
+ - {fileID: 21300000, guid: b93a3c43c1b10484dbfc87e2bf2c09ff, type: 3}
+ - {fileID: 21300000, guid: 70a57b4c3689c6540a0900f47a50b73c, type: 3}
+ Bases:
+ - {fileID: 11400000, guid: 9e8046165c78a10489976ce38d00f252, type: 2}
+ - {fileID: 11400000, guid: 04665cb3e68d58b4bac19fc8700c25c9, type: 2}
+ - {fileID: 11400000, guid: 7b2628fcf493e4349afbc9650643b34a, type: 2}
+ - {fileID: 11400000, guid: 567b8c3ff1cb1714cb1d468991f610e7, type: 2}
+ - {fileID: 11400000, guid: f2b22e0e4dc619742baf95ab68cf2b3f, type: 2}
+ - {fileID: 11400000, guid: dc45c9382df99f641b4a482fb8539b64, type: 2}
+ go_img: []
+ go: {fileID: 0}
+ name_CN:
+ name_LT:
+ synopsis:
diff --git a/WuHu_touming/Assets/Conf/kind/人参类.asset.meta b/WuHu_touming/Assets/Conf/kind/人参类.asset.meta
new file mode 100644
index 0000000..69b7aab
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/kind/人参类.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7cd3395e5cba4cb46ab87cae15101be7
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/kind/动物类.asset b/WuHu_touming/Assets/Conf/kind/动物类.asset
new file mode 100644
index 0000000..2dfb23e
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/kind/动物类.asset
@@ -0,0 +1,39 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u52A8\u7269\u7C7B"
+ m_EditorClassIdentifier:
+ kind: "\u52A8\u7269\u7C7B"
+ menuitem_num: 8
+ menuitem_img:
+ - {fileID: 21300000, guid: 9dba30713ae7900419332b7da635ddf8, type: 3}
+ - {fileID: 21300000, guid: 405eed016e24e954893073a886d4adb3, type: 3}
+ - {fileID: 21300000, guid: 845de554efd6bf34eb383707045bdf38, type: 3}
+ - {fileID: 21300000, guid: 9d2365e1af308024eb340d8ef4d53cb8, type: 3}
+ - {fileID: 21300000, guid: c68dd3d403216814698ce4ed51fe1c97, type: 3}
+ - {fileID: 21300000, guid: 2d7901bedf336a54a83614fdc3172ec2, type: 3}
+ - {fileID: 21300000, guid: e030bb36699b3214c84839a4231566a1, type: 3}
+ - {fileID: 21300000, guid: 088dafacfab0a3743b3bf78802079a14, type: 3}
+ Bases:
+ - {fileID: 11400000, guid: 88bad87f799fafa41bbd931ae12011e6, type: 2}
+ - {fileID: 11400000, guid: ad4279be53d3b4c4e9aa79cf40d579ef, type: 2}
+ - {fileID: 11400000, guid: 4e9f2f2cd0dc605489869facb61222c2, type: 2}
+ - {fileID: 11400000, guid: 1e9be5074efe4d94c925dc5f72db6580, type: 2}
+ - {fileID: 11400000, guid: 39bc6e8c02bbdc74a9335092be33b88d, type: 2}
+ - {fileID: 11400000, guid: 379f8df6292680f4a985d93f33f6078e, type: 2}
+ - {fileID: 11400000, guid: f1b74cdf95413b84c850180ccdf1aa50, type: 2}
+ - {fileID: 11400000, guid: 43d8906e434d8d540878ffe142a9fcb1, type: 2}
+ go_img: []
+ go: {fileID: 0}
+ name_CN:
+ name_LT:
+ synopsis:
diff --git a/WuHu_touming/Assets/Conf/kind/动物类.asset.meta b/WuHu_touming/Assets/Conf/kind/动物类.asset.meta
new file mode 100644
index 0000000..8f2a68a
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/kind/动物类.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 88773229cd8fa9b4eb99ee32eaa3ec84
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/kind/植物类.asset b/WuHu_touming/Assets/Conf/kind/植物类.asset
new file mode 100644
index 0000000..10b8652
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/kind/植物类.asset
@@ -0,0 +1,39 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u690D\u7269\u7C7B"
+ m_EditorClassIdentifier:
+ kind: "\u690D\u7269\u7C7B"
+ menuitem_num: 8
+ menuitem_img:
+ - {fileID: 21300000, guid: 4ae5b53a9594fc04fbc6882a05a39b91, type: 3}
+ - {fileID: 21300000, guid: ecd3c5db53e2cfd4d82560073a85c328, type: 3}
+ - {fileID: 21300000, guid: 18bef76afa5d0fc47bc5652c87754530, type: 3}
+ - {fileID: 21300000, guid: 300ccdb5b3f76e24b80ffe612780792d, type: 3}
+ - {fileID: 21300000, guid: 9f61ae86e23dd8346b33e91b39e3647d, type: 3}
+ - {fileID: 21300000, guid: 0cf7186c644236644a3dcc73edac5038, type: 3}
+ - {fileID: 21300000, guid: fba275b0925b34d46a978c2649e866bf, type: 3}
+ - {fileID: 21300000, guid: a3466f990fc201f49bfe7e5995972955, type: 3}
+ Bases:
+ - {fileID: 11400000, guid: 49d7b0531e590a24f9c4bc3a829f7a97, type: 2}
+ - {fileID: 11400000, guid: 5d09745084c99c146a7e9a4b8685119f, type: 2}
+ - {fileID: 11400000, guid: 4683e36e9b427ba449a5bf9e2c62661c, type: 2}
+ - {fileID: 11400000, guid: 6ed7bdc9271ae604391fe987ac2dfeff, type: 2}
+ - {fileID: 11400000, guid: 9c9c26a4a718253479a114b3e6846cd8, type: 2}
+ - {fileID: 11400000, guid: 38fb11f2b79b3d64fb27bd5605e72f71, type: 2}
+ - {fileID: 11400000, guid: 964e2ba56ddc80b40ab1033e14fdb30e, type: 2}
+ - {fileID: 11400000, guid: 3b9c7172f1af69f4e813dd5e6af6bbb2, type: 2}
+ go_img: []
+ go: {fileID: 0}
+ name_CN:
+ name_LT:
+ synopsis:
diff --git a/WuHu_touming/Assets/Conf/kind/植物类.asset.meta b/WuHu_touming/Assets/Conf/kind/植物类.asset.meta
new file mode 100644
index 0000000..c6da176
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/kind/植物类.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b21d853d36607c148853caebd2759202
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/kind/矿石类.asset b/WuHu_touming/Assets/Conf/kind/矿石类.asset
new file mode 100644
index 0000000..5bf1531
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/kind/矿石类.asset
@@ -0,0 +1,40 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u77FF\u77F3\u7C7B"
+ m_EditorClassIdentifier:
+ kind: "\u77FF\u77F3\u7C7B"
+ menuitem_num: 8
+ menuitem_img:
+ - {fileID: 21300000, guid: 08cd3c3f6eed9864199e1d1f06237300, type: 3}
+ - {fileID: 21300000, guid: 95072282e3e55c54a83a98f194eb6699, type: 3}
+ - {fileID: 21300000, guid: 135955f35b09f174c91b7bd65cd4e4e2, type: 3}
+ - {fileID: 21300000, guid: 23f6fea056b86c74ba21100abc1c444b, type: 3}
+ - {fileID: 21300000, guid: 1a5b6f21a0380d744865ea1867cd55c9, type: 3}
+ - {fileID: 21300000, guid: 18cb2cb3f3e6112478432da65684d41e, type: 3}
+ - {fileID: 21300000, guid: b195cc03b2dd4124fa6e7d5286a08172, type: 3}
+ - {fileID: 21300000, guid: 5644710ab32869140baa99b66632e8e6, type: 3}
+ Bases:
+ - {fileID: 11400000, guid: c8ef730d1b117ce44b60c9185932ea41, type: 2}
+ - {fileID: 11400000, guid: e80b851ceff8f324292b2b15d05d01d1, type: 2}
+ - {fileID: 11400000, guid: 68495a3ac20af994abd253d2d9183e49, type: 2}
+ - {fileID: 11400000, guid: 6ddba7a7185c0fc4a8cf40077111ab59, type: 2}
+ - {fileID: 11400000, guid: a586dbeae7fe0a040b2997b5572e3974, type: 2}
+ - {fileID: 11400000, guid: d66068542072dce47a3e180c4fc9634d, type: 2}
+ - {fileID: 11400000, guid: d1c793c4be23fc449af5df0137a67f25, type: 2}
+ - {fileID: 11400000, guid: 996b653dfac63dd499261eb30ff093fa, type: 2}
+ go_img:
+ - {fileID: 0}
+ go: {fileID: 0}
+ name_CN:
+ name_LT:
+ synopsis:
diff --git a/WuHu_touming/Assets/Conf/kind/矿石类.asset.meta b/WuHu_touming/Assets/Conf/kind/矿石类.asset.meta
new file mode 100644
index 0000000..70df174
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/kind/矿石类.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c3ae88b8369a1964bbdeefb666df88b8
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem.meta b/WuHu_touming/Assets/Conf/menuitem.meta
new file mode 100644
index 0000000..f0e26b0
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f70039412bc8d594ebd44f1d587fa848
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参.meta b/WuHu_touming/Assets/Conf/menuitem/人参.meta
new file mode 100644
index 0000000..6ce6826
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2eb9391f0b2d5fa4aa31eccd84196625
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/园参.asset b/WuHu_touming/Assets/Conf/menuitem/人参/园参.asset
new file mode 100644
index 0000000..0aa73c4
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/园参.asset
@@ -0,0 +1,49 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u56ED\u53C2"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 9acb7fe9a989d5c4eb3e9f133845766f, type: 3}
+ - {fileID: 21300000, guid: 63cb5e904a56114499eb1ed6cb660be6, type: 3}
+ go: {fileID: 5987080321612580287, guid: ddf60be08d591e643ae970c1887fa8c5, type: 3}
+ name_CN: "\u56ED\u53C2"
+ name_LT: Panax ginseng C A .Meyer.
+ synopsis: "\u3000\u3000\u56ED\u53C2\u662F\u4EBA\u5DE5\u79CD\u690D\u4EBA\u53C2\uFF0C\u5927\u9A6C\u7259\u54C1\u79CD\u3002\u751F\u957F\u5E74\u9650\u591A\u4E3A6\u5E74\u3002\u4E3B\u4EA7\u533A\u4EA7\u91CF\u6709\u5927\u5230\u5C0F\u4F9D\u6B21\u4E3A\u5409\u6797\u7701\u767D\u5C71\u5E02\u3001\u901A\u5316\u5E02\uFF0C\u9ED1\u9F99\u6C5F\u7701\uFF0C\u8FBD\u5B81\u7701\uFF0C\u671D\u9C9C\uFF0C\u97E9\u56FD\uFF0C\uFF08\u5176\u4ED6\u5730\u533A\uFF09\u3002\u4ECE\u751F\u957F\u73AF\u5883\u5212\u5206\u4E3A\u4E24\u5927\u7C7B\uFF1A
+ \u3000\u3000 \u3000\u3000\u4E00\u3001\u5728\u5C71\u4E0A\u4F10\u6728\u3001\u6E05\u6839\u3001\u4FEE\u6C60\u5E8A\u79CD\u690D\u3002
+ \u3000\u3000\u4E8C\u3001\u519C\u7530\u683D\u53C2\uFF0C\u8FD1\u51E0\u5E74\u5F15\u8FDB\u97E9\u56FD\u6280\u672F\u4E5F\u53EB\u5E73\u5730\u683D\u53C2\u3002
+ \u3000\u3000\u690D\u7269\u5F62\u6001\uFF1A\u82A6\u5934\u77ED\u7C97\uFF0C\u591A\u4E0D\u5F2F\u66F2\uFF0C\u82A6\u7897\u758F\u751F\u5728\u82A6\u5934\u4E0A\u3002\u4E3B\u6839\u591A\u4E3A\u5706\u67F1\u5F62\uFF0C\u8D28\u5730\u8F83\u758F\u677E\uFF1B\u6A2A\u7EB9\u7C97\u800C\u6D45\uFF0C\u4E0D\u8FDE\u7EED\uFF0C\u4E0A\u4E0B\u90E8\u5747\u6709\u3002\u53C2\u817F\u591A\u800C\u77ED\uFF0C\u53C2\u987B\u591A\u800C\u77ED\uFF0C\u4EA4\u9519\u6563\u4E71\uFF0C\u8D28\u8F83\u8106\uFF0C\u73CD\u73E0\u7599\u7629\u4E0D\u660E\u663E\u3002\u6709\u666E\u901A\u56ED\u53C2\u548C\u8FB9\u6761\u56ED\u53C2\u4E4B\u5206\uFF0C\u524D\u8005\u82A6\u77ED\u3001\u4F53\u7C97\u3001\u817F\u591A\uFF0C\u540E\u8005\u683D\u57F9\u65F6\u95F4\u516B\u5E74\u4EE5\u4E0A\uFF0C\u4EE5\u82A6\u957F\u3001\u4F53\u957F\u3001\u817F\u957F\u4E3A\u7279\u5F81\u3002
+ \u3000\u3000\u529F\u6548\uFF1A \u3000\u3000\u4EBA\u53C2\u5C5E\u8865\u6C14\u836F\u3002\u4EBA\u53C2\u6027\u5473\u7518\u6E29\uFF0C\u4E3B\u8981\u7528\u4E8E\u6C14\u865A\uFF0C\u5982\u4F53\u865A\u6C14\u5F31\u3001\u4E45\u75C5\u6C14\u5F31\u6216\u75B2\u52B3\u8FC7\u5EA6\u7B49\u3002
+ \u3000\u30001.\u76CA\u667A\u4F5C\u7528\uFF1A\u4EBA\u53C2\u7684\u4E3B\u8981\u6709\u6548\u6210\u5206\u4EBA\u53C2\u7682\u82F7Rg1\u548CRb1\u5747\u53EF\u4FC3\u8FDB\u5E7C\u9F20\u8EAB\u4F53\u53D1\u80B2,\u5E76\u6613\u5316\u5C0F\u9F20\u6210\u5E74\u540E\u8DF3\u53F0\u6CD5\u548C\u907F\u6697\u6CD5\u8BB0\u5FC6\u83B7\u5F97\u8FC7\u7A0B,\u53EF\u660E\u663E\u589E\u52A0\u5C0F\u9F20\u6D77\u9A6CCA3\u533A\u7EC6\u80DE\u7A81\u89E6\u6570\u76EE\u3002\u8FD9\u662F\u4EBA\u53C2\u4FC3\u8FDB\u5B66\u4E60\u548C\u8BB0\u5FC6\u7684\u7EC4\u7EC7\u5F62\u6001\u5B66\u57FA\u7840\u3002
+ \u3000\u30002.\u9547\u9759\u3001\u9547\u75DB\u4F5C\u7528\uFF1ARb\u7C7B\u7682\u82F7\u5177\u6709\u4E2D\u67A2\u9547\u9759\u4F5C\u7528,Rg\u7C7B\u7682\u82F7\u5177\u6709\u5174\u594B\u4F5C\u7528,\u6700\u7EC8\u8868\u73B0\u4E3A\u5BF9\u4E2D\u67A2\u795E\u7ECF\u7CFB\u7EDF\u7684\u53CC\u5411\u8C03\u8282\u4F5C\u7528\u3002
+ \u3000\u30003.\u5BF9\u795E\u7ECF\u7EC6\u80DE\u7684\u4FDD\u62A4\u4F5C\u7528\uFF1A\u4EBA\u53C2\u5BF9\u7F3A\u8840\u6027\u8111\u635F\u4F24\u6709\u4FDD\u62A4\u4F5C\u7528,\u4F46\u5E76\u4E0D\u5448\u5242\u91CF\u4F9D\u8D56\u6027\u3002\u80E1\u5802\u7B49\u4EBA\u901A\u8FC7\u5B9E\u9A8C\u53D1\u73B0\u4F4E\u6D53\u5EA6\u4EBA\u53C2\u7682\u82F7Rb1\u5BF9\u96EA\u65FA\u7EC6\u80DE\u589E\u6B96\u6709\u660E\u663E\u4FC3\u8FDB\u4F5C\u7528,\u9AD8\u6D53\u5EA6\u5219\u663E\u793A\u6291\u5236\u4F5C\u7528\u3002
+ \u3000\u30004.\u5BF9\u5FC3\u810F\u7684\u4FDD\u62A4\u4F5C\u7528:\u4EBA\u53C2\u7684\u6709\u6548\u6210\u5206\u4EBA\u53C2\u7682\u82F7Re\u5BF9\u5FC3\u808C\u7F3A\u8840\u9020\u6210\u7684\u5FC3\u810F\u635F\u5BB3,\u6709\u663E\u8457\u7684\u4FDD\u62A4\u4F5C\u7528,\u4EBA\u53C2\u7682\u82F7Rb1\u53EF\u51CF\u5C11\u7F3A\u8840\u518D\u704C\u6CE8\u5FC3\u808C\u7EC6\u80DE\u7684\u51CB\u4EA1\u3002
+ \u3000\u30005.\u5BF9\u8840\u538B\u7684\u4F5C\u7528\uFF1A\u4EBA\u53C2\u7682\u82F7\u6709\u4F3C\u5F3A\u5FC3\u82F7\u7684\u4F5C\u7528,\u80FD\u591F\u589E\u52A0\u5FC3\u808C\u6536\u7F29\u529B,\u6240\u4EE5\u4EBA\u53C2\u6709\u5347\u9AD8\u8840\u538B,\u589E\u52A0\u5FC3\u808C\u4F9B\u6C27\u548C\u63D0\u9AD8\u5FC3\u808C\u5DE5\u4F5C\u6548\u7387,\u5BF9\u5FC3\u6C14\u865A\u60A3\u8005\u6709\u6548,\u6545\u8981\u7528\u4E8E\u201C\u53A5\u201D\u201C\u8131\u201D\u8BC1\u7684\u62A2\u6551\u3002
+ \u3000\u30006.\u6297\u4F11\u514B:\u4EBA\u53C2\u53EF\u660E\u663E\u5EF6\u957F\u8FC7\u654F\u6027\u4F11\u514B\u548C\u70EB\u4F24\u6027\u4F11\u514B\u52A8\u7269\u7684\u751F\u5B58\u65F6\u95F4,\u4F7F\u5931\u8840\u6027\u6025\u6027\u5FAA\u73AF\u8870\u7AED\u52A8\u7269\u5FC3\u810F\u6536\u7F29\u529B\u9891\u7387\u660E\u663E\u589E\u52A0.
+ \u3000\u30007.\u6297\u5FC3\u5F8B\u5931\u5E38:\u4EBA\u53C2\u80FD\u964D\u4F4E\u79BB\u4F53\u5927\u9F20\u53F3\u5FC3\u623F\u7684\u81EA\u5F8B\u6027,\u5728\u6CBB\u7597\u91CF\u65F6\u5BF9\u591A\u79CD\u6A21\u578B\u7684\u5FC3\u5F8B\u5931\u5E38\u5747\u6709\u660E\u663E\u7684\u5BF9\u6297\u4F5C\u7528.
+ \u3000\u30008.\u4EBA\u53C2\u80FD\u517B\u8840,\u5176\u7682\u82F7\u80FD\u9632\u6B62\u8840\u6DB2\u51DD\u56FA\u3001\u4FC3\u8FDB\u7EA4\u7EF4\u86CB\u767D\u6EB6\u89E3,\u964D\u4F4E\u7EA2\u7EC6\u80DE\u7684\u805A\u96C6\u6027,\u589E\u52A0\u8840\u6DB2\u7684\u6D41\u52A8\u6027,\u6539\u5584\u7EC4\u7EC7\u704C\u6CE8.
+ \u3000\u30009.\u589E\u5F3A\u514D\u75AB\u4EBA\u53C2\u7684\u6709\u6548\u6210\u5206\u4EBA\u53C2\u7682\u82F7Rg3\u5728\u4F53\u5916\u80FD\u660E\u663E\u589E\u5F3A\u81EA\u7136\u6740\u4F24(NK)\u7EC6\u80DE\u7684\u541E\u566C\u6D3B\u6027,\u4EBA\u53C2\u7682\u82F7Rh2\u6CE8\u5C04\u6DB2\u80FD\u63D0\u9AD8\u8377\u7624\u5C0F\u9F20\u8179\u8154\u5DE8\u566C\u7EC6\u80DE\u541E\u566C\u529F\u80FD\u3001\u589E\u52A0\u8840\u6E05\u6EB6\u8840\u7D20\u6297\u4F53\u751F\u6210\u80FD\u529B\u3001\u4FC3\u8FDB\u5C0F\u9F20\u813ENK\u7EC6\u80DE\u6740\u4F24\u6D3B\u6027\u548C\u767D\u7EC6\u80DE\u4ECB\u7D20-2\u6D3B\u6027,\u660E\u663E\u63D0\u9AD8\u8377\u7624\u5C0F\u9F20\u514D\u75AB\u529F\u80FD\u3002
+ \u3000\u300010.\u6297\u8870\u8001\uFF1A\u4EBA\u53C2\u7682\u82F7Rb1\u5177\u6709\u6291\u5236\u7EC6\u80DE\u8D28\u8FC7\u6C27\u5316\u53CD\u5E94\u3001\u6E05\u9664\u81EA\u7531\u57FA\u7684\u80FD\u529B\u3001\u589E\u52A0\u8FC7\u6C27\u5316\u6C22\u9176\u548C\u8C37\u80F1\u7518\u80BD\u8FC7\u6C27\u5316\u7269\u9176\u6D3B\u6027\u3002
+ \u3000\u300011.\u6297\u80BF\u7624\uFF1A\u4EBA\u53C2\u5BF9\u591A\u79CD\u80BF\u7624\u5177\u6709\u975E\u5668\u5B98\u7279\u5F02\u6027\u7684\u9884\u9632\u4F5C\u7528,\u5728\u964D\u4F4E\u80BF\u7624\u53D1\u751F\u7387\u3001\u6CBB\u7597\u53CA\u9884\u9632\u80BF\u7624\u590D\u53D1\u65B9\u9762\u6709\u91CD\u8981\u4F5C\u7528\u3002
+ \u3000\u300012.\u53C2\u4E0E\u7CD6\u4EE3\u8C22:\u4EBA\u53C2\u80FD\u663E\u8457\u63D0\u9AD8\u6216\u7EA0\u6B63\u7CD6\u5C3F\u75C5\u60A3\u8005\u4F4E\u4E0B\u7684T\u6DCB\u5DF4\u7EC6\u80DE\u529F\u80FD\u53CANK\u7EC6\u80DE\u6D3B\u6027\u3002
+ \u3000\u300013.\u8C03\u6574\u8102\u8D28\u4EE3\u8C22:\u4EBA\u53C2\u5BF9\u8BD5\u9A8C\u6027\u9AD8\u8102\u8840\u75C7\u5927\u9F20\u8840\u6E05\u80C6\u56FA\u9187\u3001\u8102\u86CB\u767D-\u80C6\u56FA\u9187\u4EE3\u8C22\u6709\u5F71\u54CD\u5E76\u5177\u6709\u6297\u6C27\u5316\u7684\u4F5C\u7528\u3002
+ \u3000\u3000\u7528\u6CD5\uFF1A \u3000\u3000\u5242\u91CF\uFF1A\u4E2D\u6C14\u865A\u3001\u6D88\u5316\u5438\u6536\u4E0D\u597D\u7684\u4EBA\uFF0C\u53EF\u7528\u4EBA\u53C2\u914D\u767D\u672F\u3001\u9EC4\u82AA\uFF08\u4EBA\u53C23-5\u514B\u3001\u767D\u672F\u9EC4\u82AA\u540410\u514B\uFF09\u7096\u8089\u5403\uFF1B\u80BA\u6C14\u865A\uFF0C\u7A0D\u7D2F\u5C31\u5598\u7684\u4EBA\u53EF\u5C06\u4EBA\u53C2\u4E0E\u80E1\u6843\u3001\u86E4\u86A7\u5408\u7528\u3002\u5FC3\u6C14\u865A\u3001\u5FC3\u614C\u6C14\u77ED\u3001\u8109\u5F31\u7684\u4EBA\u53EF\u7528\u4EBA\u53C2\uFF083-5\u514B\uFF09\u6216\u52A0\u4E0A\u8089\u6842\uFF083-5\u514B\uFF09\u6CE1\u6C34\u670D\u3002\u51FA\u51B7\u6C57\u3001\u8109\u5F31\u3001\u6655\u53A5\u7684\u4EBA\uFF0C\u4EBA\u53C2\u8FD8\u53EF\u6551\u6025\uFF0C\u4F46\u662F\u7528\u91CF\u8981\u5927\uFF0815-30\u514B\uFF09\u3002
+ \u3000\u3000\u7279\u5F81\u9274\u522B \u3000\u3000\u82A6\uFF1A\u6781\u5927\u591A\u6570\u7684\u5C71\u53C2\u5747\u662F\u5706\u82A6\uFF0C\u56E0\u5E74\u9F84\u8D8A\u4E45\uFF0C\u4E0A\u90E8\u82A6\u7897\u9010\u6E10\u6D88\u5931\uFF0C\u800C\u5F62\u6210\u5706\u67F1\u72B6\uFF0C\u56E0\u800C\u79F0\u4E3A\u5706\u82A6\uFF0C\u82A6\u4F53\u8282\u7D27\uFF0C\u4E0A\u90E8\u56DB\u9762\u5BC6\u751F\u5929\u7136\u957F\u6210\u7684\u82A6\u7897\uFF08\u73E0\u7ED3\uFF09\uFF0C\u7897\u7684\u8FC7\u7F18\u624E\u695E\uFF0C\u5F62\u5982\u9A6C\u7259\uFF0C\u56E0\u540D\u9A6C\u7259\u82A6\uFF0C\u5F88\u5C11\u6709\u751F\u957F\u7AF9\u82A6\u548C\u7EBF\u82A6\uFF0C\u4EBA\u5DE5\u683D\u690D\u7684\u5706\u53C2\u591A\u6570\u65E0\u5706\u82A6\uFF0C\u5927\u90E8\u662F\u5728\u82A6\u7684\u4E00\u9762\u6216\u4E24\u9762\u751F\u7897\u7684\u4EA6\u5C11\u3002
+ \u3000\u3000\u828B\uFF1A\u5C71\u53C2\u4E4B\u828B\u591A\u4E3A\u67A3\u6838\u5F62\uFF0C\u987A\u751F\u4E0A\u5782\uFF0C\u4E0D\u5411\u4E0A\u4F38\uFF0C\u5982\u751F\u4E24\u679D\u4EE5\u4E0A\u8005\u5219\u4E92\u751F\uFF0C\u5706\u53C2\u7684\u8FB9\u828B\u591A\u662F\u4E0A\u7C97\u4E0B\u7EC6\uFF0C\u72B6\u5982\u53C2\u817F\uFF0C\u4E0D\u5411\u4E0B\u5782\uFF0C\u800C\u5411\u4E0A\u6216\u65C1\u4F38\u3002
+ \u3000\u3000\u4F53\uFF1A\u5C71\u53C2\u4E4B\u4F53\u591A\u83F1\u89D2\u72B6\u7684\u77ED\u6A2A\u4F53\uFF0C\u5373\u662F\u987A\u957F\u4F53\u4EA6\u591A\u4E3A\u4E0A\u7C97\u4E0B\u7EC6\u4E4B\u7075\u4F53\u3002\u4F46\u7B28\u4F53\u6781\u5C11\u3002\u56ED\u53C2\u591A\u987A\u957F\u4F53\uFF0C\u6709\u77ED\u6A2A\u4F53\u8005\u4EA6\u663E\u5446\u7B28\u3002
+ \u3000\u3000\u7EB9\uFF1A\u518C\u53C2\u4E4B\u7EB9\u7EC6\u800C\u4E14\u6DF1\uFF0C\u5C24\u5728\u80A9\u90E8\u66F4\u663E\u5BC6\u7D27\uFF0C\u800C\u591A\u5448\u87BA\u65CB\u72B6\uFF0C\u56ED\u53C2\u7EB9\u4E00\u822C\u758F\u800C\u4E14\u6D45\uFF0C\uFF08\u591A\u5E74\u8001\u79CD\u53C2\uFF09\u5219\u5168\u591A\u751F\u7C97\u6A2A\u7EB9\uFF0C\u4F46\u5176\u7EB9\u591A\u65AD\u800C\u4E0D\u7EED\u3002
+ \u3000\u3000\u76AE\uFF1A\u5C71\u53C2\u76AE\u800C\u7ED3\uFF0C\u5149\u800C\u4E0D\u7C97\uFF0C\u56ED\u53C2\u5916\u76AE\u7C97\u677E\u800C\u5AE9\uFF0C\u6C60\u5E95\u7684\u53C2\u7684\u5916\u76AE\u66F4\u663E\u7C97\u7CD9\u3002
+ \u3000\u3000\u817F\uFF1A\u5C71\u53C2\u4E4B\u817F\u4EC5\u751F1-2\u6761\uFF0C\u4E09\u6761\u8005\u5F88\u5C11\uFF0C\u5176\u817F\u4E0A\u7C97\u4E0B\u7EC6\uFF0C\u6BD4\u8F83\u5747\u5300\uFF0C\u5706\u53C2\u751F\u817F\u8F83\u591A\u6216\u7C97\u6216\u7EC6\uFF0C\u4E0A\u4E0B\u7C97\u7EC6\u4E0D\u5747\u5300\uFF0C\u4E24\u817F\u5E76\u751F\u4E00\u5904\uFF0C\u4E14\u5927\u957F\u817F\u6216\u77ED\u7C97\u817F\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/园参.asset.meta b/WuHu_touming/Assets/Conf/menuitem/人参/园参.asset.meta
new file mode 100644
index 0000000..41e2974
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/园参.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9e8046165c78a10489976ce38d00f252
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/林下山参.asset b/WuHu_touming/Assets/Conf/menuitem/人参/林下山参.asset
new file mode 100644
index 0000000..ea08c6e
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/林下山参.asset
@@ -0,0 +1,29 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u6797\u4E0B\u5C71\u53C2"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: f2707d4ecc8e0344a87fbc95dce3e55b, type: 3}
+ - {fileID: 21300000, guid: 1bbf2640bb8e1a04d9da014d9832b920, type: 3}
+ go: {fileID: 514261075838154883, guid: 294a50abaff916c48892144bacb09d90, type: 3}
+ name_CN: "\u6797\u4E0B\u5C71\u53C2"
+ name_LT: Panax ginseng C.A.Meyer cv. Silvatica
+ synopsis: "\u3000\u3000\u6797\u4E0B\u53C2\uFF0C\u53C8\u79F0\u80B2\u5C71\u53C2\uFF08\u7C7D\u6D77\u3001\u7C7D\u8D27\u3001\u7C7D\u4E0A\u5C71\u3001\u6D77\u8D27\uFF09\uFF0C\u662F\u4EBA\u4E3A\u5730\u628A\u56ED\u53C2\u7684\u79CD\u5B50\u6492\u64AD\u5230\u81EA\u7136\u7684\u73AF\u5883\u91CC\uFF0C\u4EFB\u5176\u81EA\u7136\u751F\u957F\uFF0C\u4E0D\u79FB\u683D\u3001\u4E0D\u642D\u68DA\u3001\u4E0D\u65BD\u80A5\u3001\u4E0D\u6253\u836F\u3001\u4E0D\u9504\u8349\u3001\u4E0D\u52A8\u571F\uFF0C\u5927\u7EA610\u591A\u5E74\u540E\u624D\u4E0A\u5C71\u6536\u53D6\u7684\u534A\u91CE\u751F\u5C71\u53C2\u3002\u6797\u4E0B\u53C2(PanaxginsengC.A.Meyercv.Silvatica)\uFF0C\u4E5F\u79F0\u201C\u6797\u4E0B\u7C7D\u201D\uFF0C\u201C\u7C7D\u8D27\u201D\uFF0C\u662F\u4EBA\u5DE5\u65B9\u5F0F\u5C06\u56ED\u53C2\u79CD\u5B50\u64AD\u6492\u4E8E\u6DF1\u5C71\u5BC6\u6797\u4E2D\uFF0C\u79CD\u5B50\u81EA\u7136\u53D1\u82BD\u3001\u5728\u91CE\u751F\u73AF\u5883\u4E2D\u81EA\u7136\u751F\u957F\uFF0C\u7ECF\u8FC7\u82E5\u5E72\u5E74\u540E\u518D\u91C7\u6536\u505A\u8D27\u3002\u6797\u4E0B\u53C2\u539F\u6307\u5229\u7528\u91CE\u5C71\u53C2\u7684\u5C0F\u637B\u5B50\u6216\u7C7D\u6D77\u4EFF\u5C71\u53C2\u6761\u4EF6\u800C\u80B2\u6210\u7684\u4EBA\u53C2\u3002\u91C7\u6316\u5C71\u53C2\u65F6\u6316\u5230\u7684\u5C71\u53C2\u5E7C\u82D7\uFF0C\u5F03\u4E4B\u53EF\u60DC\uFF0C\u91CD\u65B0\u683D\u5165\u5C71\u6797\u4E2D\uFF0C\u4EE4\u5176\u81EA\u7136\u751F\u957F\uFF0C\u82E5\u5E72\u5E74\u540E\u6316\u51FA\u5229\u7528\uFF0C\u4E5F\u53EB\u5C71\u53C2\u201C\u8DB4\u8D27\u201D\u3002\u800C\u73B0\u5728\u6240\u8BF4\u7684\u6797\u4E0B\u53C2\u662F\u6307\u5229\u7528\u73B0\u6709\u56ED\u53C2\u54C1\u79CD\u53C2\u7C7D\uFF0C\u5E7F\u64AD\u4E8E\u5C71\u91CE\u6797\u95F4\uFF0C\u4EBA\u5DE5\u521B\u9020\u4EFF\u5C71\u53C2\u751F\u957F\u6761\u4EF6\uFF0C\u4E14\u4EBA\u5DE5\u7BA1\u7406\uFF0C\u4E00\u822C\u5728\u5341\u4E8C\u5E74\u4EE5\u4E0A\u7684\u4EBA\u53C2\u30022005\u5E74\u65B0\u7248\u836F\u5178\uFF0C\u540D\u4E4B\u4E3A\u201C\u6797\u4E0B\u53C2\u201D\uFF0C2006\u5E74\uFF0C\u4FEE\u6539\u4E3A\u201C\u6797\u4E0B\u5C71\u53C2\u201D\u3002\u6797\u4E0B\u57F9\u80B2\u4EBA\u53C2\u662F\u4E00\u79CD\u9AD8\u6548\u590D\u5408\u751F\u6001\u7ECF\u6D4E\u7CFB\u7EDF\u6A21\u5F0F\uFF0C\u5B83\u7684\u53D1\u5C55\u5C06\u6709\u6548\u5730\u63A7\u5236\u548C\u51CF\u5C11\u6BC1\u6797\u79CD\u53C2\u7684\u9762\u79EF\uFF0C\u4E14\u80FD\u751F\u4EA7\u51FA\u5177\u6709\u91CE\u751F\u4EBA\u53C2\u7279\u70B9\u7684\u65E0\u6C61\u67D3\u3001\u9AD8\u4EF7\u503C\u7684\u9AD8\u6863\u5546\u54C1\u4EBA\u53C2\uFF0C\u4ECE\u800C\u7F13\u89E3\u4E86\u9AD8\u7ECF\u6D4E\u6548\u76CA\u4EBA\u53C2\u79CD\u690D\u4E1A\u4E0E\u9AD8\u751F\u6001\u6548\u76CA\u7684\u6797\u4E1A\u4E4B\u95F4\u7684\u77DB\u76FE\u3002\u8FD9\u79CD\u65B9\u5F0F\u5BF9\u4E8E\u4FC3\u8FDB\u68EE\u6797\u8D44\u6E90\u7684\u53EF\u6301\u7EED\u53D1\u5C55\u548C\u53C2\u4E1A\u751F\u4EA7\u7684\u53D1\u5C55\u90FD\u5177\u6709\u91CD\u8981\u7684\u610F\u4E49\u3002
+ \u3000\u3000\u57FA\u672C\u7279\u5F81\uFF1A\u6797\u4E0B\u5C71\u53C2\u7684\u57FA\u672C\u7279\u5F81\u4E3B\u8981\u96C6\u4E2D\u5728\u82A6\u5934\u3001\u4E3B\u6839\u3001\u987B\u6761\u53CA\u7EB9\u70B9\u4E0A\uFF0C20\u5E74\u7684\u6797\u4E0B\u5C71\u53C2\u4E0E\u91CE\u5C71\u53C2\u76F8\u6BD4\u5F62\u4F3C\u800C\u5AE9\u3002
+ \u3000\u3000\u82A6\u5934\uFF1A\u6797\u4E0B\u53C2\u7684\u82A6\u5934\u6BD4\u8F83\u72EC\u7279\uFF0C\u82A6\u7EC6\u957F\u800C\u7897\u7A00\u758F\uFF0C\u591A\u5448\u7EC6\u957F\u7684\u201C\u7EBF\u82A6\u201D\u6216\u8282\u95F4\u5341\u5206\u660E\u663E\u7684\u201C\u7AF9\u8282\u82A6\u201D\u72B6\uFF0C\u65E0\u5178\u578B\u7684\u56ED\u82A6\uFF0C\u7EDD\u65E0\u201C\u4E09\u8282\u82A6\u201D\u6216\u201C\u4E24\u8282\u82A6\u201D\u3002\u827C\u7EC6\u957F\uFF0C\u4E0B\u987A\uFF0C\u67A3\u6838\u827C\u6781\u5C11\u3002\u5341\u5E74\u4EE5\u540E\u7684\u6797\u4E0B\u5C71\u53C2\u8FDB\u5165\u589E\u91CD\u671F\uFF0C\u82A6\u7897\u957F\u5F97\u7855\u5927\u800C\u663E\u773C\u3002\u4E8C\u5341\u5E74\u540E\uFF0C\u82A6\u7897\u957F\u5F97\u66F4\u5927\uFF0C\u8868\u660E\u6797\u4E0B\u5C71\u53C2\u8FDB\u5165\u5FEB\u901F\u589E\u91CD\u671F\uFF0C\u830E\u6746\u7C97\u58EE\u3002\u5F62\u6210\u6574\u652F\u82A6\u5934\u7684\u82A6\u7897\u7531\u4E0B\u81F3\u4E0A\u660E\u663E\u589E\u5927\uFF0C\u800C\u91CE\u5C71\u53C2\u82A6\u5934\u7684\u82A6\u7897\u7531\u4E0B\u81F3\u4E0A\u6162\u6162\u589E\u5927\uFF0C\u5927\u5C0F\u4E0D\u660E\u663E\u3002\u6797\u4E0B\u5C71\u53C2\u5E74\u9650\u77ED\uFF0C\u53EA\u6709\u4E24\u8282\u82A6(\u5706\u82A6\u548C\u9A6C\u7259\u82A6)\uFF0C\u7F3A\u5C11\u8C61\u5F81\u5E74\u9650\u4E45\u8001\u7684\u5806\u82B1\u82A6\uFF0C\u800C\u4E14\u65B0\u9C9C\u7684\u6797\u4E0B\u53C2\uFF0C\u6C34\u5206\u672A\u5931\uFF0C\u5176\u82A6\u5F62\u548C\u7897\u5F62\u5C1A\u53EF\uFF0C\u4E00\u65E6\u5236\u6210\u5E72\u8D27\uFF0C\u82A6\u5F62\u7EC6\u7626\uFF0C\u82A6\u7897\u51E0\u4E4E\u6D88\u5931\u3002\u3000\u3000\u4E3B\u6839\uFF1A\u6797\u4E0B\u5C71\u53C2\u4E3B\u6839\u8272\u767D\uFF0C\u4F53\u80D6\uFF0C\u8D28\u5AE9\uFF0C\u4E1C\u5317\u53C2\u519C\u4FD7\u79F0\u201C\u767D\u80D6\u5C0F\u5B50\u201D\u3001\u201C\u767D\u80D6\u5A03\u5A03\u201D\u3002\u91CE\u5C71\u53C2\u5E74\u9650\u957F\uFF0C\u589E\u91CD\u6162\uFF0C\u8272\u9EC4\u767D\uFF0C\u4F53\u7075\u5DE7\uFF0C\u8D28\u7ED3\u5B9E\u3002\u6797\u4E0B\u5C71\u53C2\u6709\u7075\u4F53\uFF0C\u987A\u4F53\uFF0C\u592A\u80A5\u7684\u571F\u5730\u4E5F\u4F1A\u51FA\u7B28\u4F53\u3002\u5206\u817F\u81EA\u7136\uFF0C\u5C0F\u817F\u663E\u5AE9\uFF0C\u8D28\u5730\u867D\u4E0D\u592A\u575A\u5B9E\uFF0C\u4F46\u7599\u7629\u4F53\u3001\u987A\u4F53\u3001\u6A2A\u4F53\u7686\u6709\uFF0C\u4E14\u5206\u817F\uFF08\u5206\u88C6\uFF09\u7075\u6D3B\uFF0C\u867D\u65E0\u91CE\u5C71\u53C2\u7684\u9525\u5F62\u5C16\u817F\uFF0C\u4F46\u4E0D\u81C3\u80BF\u800C\u663E\u987A\u957F\u5F62\u3002\u987B\u6761\uFF1A\u5341\u5E74\u751F\u4EE5\u4E0A\u7684\u6797\u4E0B\u5C71\u53C2\uFF0C\u987B\u7A00\u5C11\u800C\u957F\uFF0C\u53EA\u6709\u4E8C\u4E09\u6761\u3002\u4F46\u652F\u987B\u4E0D\u6E05\u800C\u8302\u76DB\uFF0C\u53C8\u7EC6\u53C8\u8F6F\u65E0\u97E7\u6027\uFF0C\u8FDC\u975E\u7EA4\u7EF4\u5316\uFF0C\u4E0D\u50CF\u91CE\u5C71\u53C2\u7684\u4E3B\u987B\u6E05\uFF0C\u652F\u987B\u4E5F\u6E05\uFF0C\u6781\u5BCC\u5F39\u6027\u3002\u5176\u5B83\uFF1A\u6797\u4E0B\u5C71\u53C2\u6709\u6D45\u7EB9\u6216\u8FD1\u4E8E\u5149\u6ED1\u65E0\u7EB9\u3002\u5176\u7EB9\u7279\u70B9\u662F\u7A00\u758F\u800C\u6D6E\u6D45\uFF0C\u5206\u5E03\u5230\u4E2D\u4E0B\u90E8\uFF0C\u80A9\u90E8\u4E0D\u4F1A\u6709\u7EAF\u5C71\u53C2\u90A3\u6837\u7684\u201C\u94C1\u7EBF\u7EB9\u201D\u3002\u5E72\u71E5\u540E\u4E3B\u6839\u4E0A\u51FA\u73B0\u7684\u7EB5\u76B1\u7EB9\u548C\u6A2A\u76B1\u7EB9\uFF0C\u4E0D\u662F\u6240\u8BF4\u7684\u5C71\u53C2\u7684\u6A2A\u7EB9\u3002\u5E74\u9650\u77ED\u7684\u6797\u4E0B\u53C2\u987B\u6761\u4E0A\u4E00\u822C\u4E0D\u4F1A\u6709\u73CD\u73E0\u70B9\uFF0C\u82E5\u5076\u89C1\u201C\u73CD\u73E0\u7599\u7629\u201D\uFF0C\u4E5F\u4E0D\u662F\u5F88\u663E\u773C\u3002
+ \u5341\u5E74\u751F\u7684\u6797\u4E0B\u53C2\u5177\u6709\u5982\u4E0B\u7279\u5F81\uFF1A
+ \u3000\u3000\u82A6\u5934\u633A\u76F4\uFF0C\u4E3B\u6839\u80D6\u800C\u5706\u4E4E\u4E4E\uFF0C\u867D\u5DF2\u6210\u5F62\uFF0C\u4F46\u663E\u7A1A\u5AE9\u3002\u5341\u4E94\u5E74\u751F\u7684\u6797\u4E0B\u53C2\u5177\u6709\u5982\u4E0B\u7279\u5F81\uFF1A\u82A6\u5934\u62D0\u5F2F\uFF0C\u53C2\u4F53\u5F00\u59CB\u6A2A\u5367\u800C\u751F\u3002\u4E3B\u6839\u80D6\u800C\u6709\u51F9\u9677\uFF0C\u521D\u89C1\u4E0D\u89C4\u5219\u7684\u5706\u67F1\u3002\u4E8C\u5341\u5E74\u751F\u7684\u6797\u4E0B\u53C2\u5177\u6709\u5982\u4E0B\u7279\u5F81\uFF1A\u82A6\u5934\u538B\u7F29\u6210\u8426\u8FC2\u66F2\u65CB\u72B6\u7684\u9E70\u8116\u82A6\uFF0C\u4E3B\u6839\u5916\u8868\u6709\u51F9\u6709\u51F8\u8FD8\u6709\u4F53\u987B\uFF0C\u4F53\u5F81\u9010\u5E74\u8C8C\u4F3C\u5C71\u53C2\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/林下山参.asset.meta b/WuHu_touming/Assets/Conf/menuitem/人参/林下山参.asset.meta
new file mode 100644
index 0000000..f475acc
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/林下山参.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 04665cb3e68d58b4bac19fc8700c25c9
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/移山参.asset b/WuHu_touming/Assets/Conf/menuitem/人参/移山参.asset
new file mode 100644
index 0000000..2dfae76
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/移山参.asset
@@ -0,0 +1,34 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u79FB\u5C71\u53C2"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 70a57b4c3689c6540a0900f47a50b73c, type: 3}
+ - {fileID: 21300000, guid: 6d87e4fcc9575f445ac8c6955c568836, type: 3}
+ go: {fileID: 5322918026720523299, guid: 223fa879b3f763a4fa24343397a14a84, type: 3}
+ name_CN: "\u79FB\u5C71\u53C2"
+ name_LT: Panax ginseng C. A. Mey.
+ synopsis: "\u3000\u3000\u79FB\u5C71\u53C2\u79FB\u683D\u5728\u5C71\u6797\u4E2D\u5177\u6709\u91CE\u5C71\u53C2\u90E8\u5206\u7279\u5F81\u7684\u4EBA\u53C2\u3002\u79FB\u5C71\u53C2\u2014\u2014\u5C71\u53C2\u7CFB\u73CD\u7A00\u836F\u6750\uFF0C\u4EA7\u4E8E\u957F\u767D\u5C71\u539F\u59CB\u68EE\u6797\u4E2D\u3002\u5B83\u4E3B\u8981\u751F\u957F\u4E8E\u6D77\u62D42200--1000\u7C73\uFF0C\u90C1\u95ED\u5EA60.7--0.8\u7684\u5C71\u5761\u9614\u53F6\u6DF7\u4EA4\u6797\u4E2D\uFF0C\u5206\u5E03\u533A\u57DF\u4E00\u822C\u5177\u6709\u6E7F\u6DA6\u578B\u6E29\u5E26\u5B63\u98CE\u6C14\u5019\u7279\u5F81\uFF0C\u4E14\u591A\u751F\u4E8E\u4E1C\u897F\u671D\u9633\u906E\u5149\u907F\u96E8\u4E4B\u5904\u3002\u5C71\u53C2\u662F\u836F\u6548\u6700\u597D\u7684\u4EBA\u53C2\uFF0C\u56E0\u5176\u4EA7\u91CF\u7A00\u5C11\u800C\u6ECB\u8865\u6548\u679C\u663E\u8457\uFF0C\u5728\u4E16\u754C\u4E0A\u4EAB\u6709\u6781\u9AD8\u7684\u58F0\u8A89\uFF0C\u88AB\u8A89\u4E3A\u201C\u8D77\u6B7B\u56DE\u751F\u7684\u4ED9\u8349\u201D\u79FB\u5C71\u53C2\u662F\u5C71\u53C2\u7684\u4E00\u79CD\u3002\u79FB\u5C71\u53C2\u5206\u201C\u5C71\u79FB\u201D\u548C\u201C\u5BB6\u79FB\u201D\u4E24\u79CD\uFF1A\u201C\u5C71\u79FB\u201D\u5373\u5C71\u519C\u653E\u5C71\u65F6\u53D1\u73B0\u91CE\u5C71\u53C2\u5E7C\u82D7\uFF0C\u7531\u4E8E\u91CD\u91CF\u548C\u53C2\u9F84\u5C0F\uFF0C\u4E0D\u5B9C\u4F5C\u8D27\uFF0C\u4E8E\u662F\u96C6\u4E2D\u6240\u83B7\u79FB\u683D\u5230\u5C45\u5BB6\u9644\u8FD1\u7684\u5C71\u91CE\u6797\u4E0B\uFF0C\u4FBF\u4E8E\u770B\u5B88\uFF0C\u4EE4\u5176\u81EA\u7136\u751F\u957F\uFF1B\u201C\u5BB6\u79FB\u201D\u5373\u53C2\u519C\u5C06\u56ED\u690D\u7684\u4EBA\u53C2\u5E7C\u82D7\u79FB\u690D\u5230\u5C71\u91CE\u6797\u4E0B\uFF0C\u4E0D\u6D47\u6C34\uFF0C\u4E0D\u65BD\u80A5\uFF0C\u4F7F\u5176\u5728\u91CE\u751F\u73AF\u5883\u4E0B\u81EA\u7136\u751F\u957F\u3002\u5386\u53F2\u4E0A\u66FE\u79F0\u4E3A\u79E7\u53C2\u3001\u5C71\u53C2\u8DB4\u8D27\u3001\u5C71\u8DB4\u3001\u522B\u76F4\u53C2\u7B49\u30022004\u5E743\u67081\u65E5\u8D77\u5B9E\u884C\u7684\u65B0\u7684\u300A\u91CE\u5C71\u53C2\u5206\u7B49\u8D28\u91CF\u6807\u51C6\u300B\u56FD\u5BB6\u6807\u51C6\u4E2D\uFF0C\u5C06\u91CE\u5C71\u53C2\u79FB\u683D\u3001\u5C71\u79FB\u3001\u5BB6\u79FB\u3001\u7C7D\u8DB4\u3001\u79E7\u8DB4\u3001\u6C60\u5E95\u7B49\u5F52\u7C7B\u4E3A\u79FB\u5C71\u53C2\uFF08\u79FB\u5C71\u53C2\u6807\u51C6\u56FD\u5BB6\u6B63\u5728\u5BA1\u6279\uFF09\uFF0C\u636E\u6B64\uFF0C\u6709\u5173\u79FB\u5C71\u53C2\u8303\u7574\u4FBF\u5341\u5206\u6E05\u695A\u3002\u79FB\u5C71\u53C2\u7684\u57FA\u672C\u7279\u5F81\u662F\u82A6\u5934\u5E38\u9AA4\u7136\u53D8\u7EC6\u6216\u53D8\u7C97\uFF0C\u4E0D\u5448\u5806\u82B1\u82A6\u800C\u5448\u8F6C\u82A6\uFF0C\u5E38\u51FA\u73B0\u7EBF\u82A6\uFF0C\u5927\u591A\u662F\u7AF9\u8282\u82A6\uFF0C\u82A6\u8155\u758F\u677E\u4E0D\u7D27\u5BC6\uFF0C\u663E\u957F\u800C\u7A00\u758F\uFF1B\u827C\u591A\u4E3A\u987A\u957F\u4F53\uFF0C\u4F46\u751F\u957F\u5E74\u4E45\u8005\u4E5F\u6709\u7684\u4E3A\u67A3\u6838\u827C\uFF0C\u6709\u65F6\u51FA\u73B0\u4E0B\u7C97\u4E0A\u7EC6\u7684\u5F62\u72B6\uFF0C\u827C\u4E0A\u7FD8\uFF0C\u65C1\u4F38\u8005\u591A\uFF0C\u6709\u65F6\u827C\u4F53\u8D85\u8FC7\u4E3B\u4F53\uFF1B\u53C2\u4F53\u4EE5\u987A\u4F53\u3001\u7B28\u4F53\u4E3A\u591A\u89C1\uFF0C\u53C2\u817F\u8F83\u987A\u957F\uFF0C1-3\u6761\u6216\u591A\u6761\uFF0C\u79FB\u683D\u65B0\u571F\u80A5\u8DB3\u52B2\u5927\uFF0C\u8425\u517B\u79EF\u7D2F\u4E3B\u8981\u5728\u4E3B\u6839\u4E0B\u90E8\uFF0C\u4F7F\u5F97\u4E0B\u90E8\u4F53\u578B\u6025\u901F\u81A8\u80C0\uFF0C\u767D\u5AE9\u80A5\u80D6\u201C\u5927\u5C41\u80A1\u201D\uFF0C\u4E3B\u6839\u4E0A\u90E8\u4F9D\u7136\u5982\u6545\uFF0C\u5448\u73B0\u4E0A\u9ED1\u4E0B\u767D\u4E4B\u9634\u9633\u8272\uFF1B\u76AE\u8D28\u7565\u6CE1\u800C\u5AE9\uFF0C\u663E\u7C97\u7CD9\uFF0C\u4E0D\u5149\u6DA6\uFF0C\u6709\u7A00\u758F\u4E0D\u7D27\u5BC6\u7684\u6A2A\u7EB9\uFF0C\u73AF\u7EB9\u6D6E\u6D45\uFF0C\u5E38\u4E00\u7EB9\u5230\u5E95\uFF0C\u6CA1\u6709\u7D27\u76AE\u7EC6\u7EB9\uFF1B\u79FB\u683D\u540E\uFF0C\u817F\u4E0E\u987B\u4E0A\u4E0B\u4E00\u8D77\u80A5\u80BF\uFF0C\u817F\u987B\u4E0D\u5206\uFF0C\u53C2\u987B\u7EC6\u5AE9\u800C\u77ED\uFF0C\u4E0B\u7AEF\u5206\u679D\u8F83\u591A\uFF0C\u65E0\u4E3B\u987B\uFF0C\u73CD\u73E0\u70B9\u7A00\u758F\u800C\u5C0F\uFF1B\u6C60\u5E95\u53C2\u82A6\u8D8A\u957F\u4E0A\u8FB9\u8D8A\u7EC6\uFF0C\u5448\u4E0B\u7C97\u4E0A\u7EC6\u72B6\uFF0C\u827C\u4E0A\u7FD8\u3001\u65C1\u4F38\uFF0C\u6A2A\u7EB9\u7C97\u6D45\u3001\u76AE\u8D28\u7C97\u7CD9\u591A\u76B1\u3001\u591A\u70E7\u987B\u3001\u7EA2\u9508\u3001\u75A4\u75D5\u7B49\u75C5\u6001\u3002
+ \u3000\u3000\u836F\u7528\u4EF7\u503C\u6781\u9AD8\uFF0C\u5177\u6709\u8865\u6C14\u5F3A\u8EAB\uFF0C\u76CA\u667A\u5B89\u795E\uFF0C\u5EF6\u5BFF\u7F8E\u5BB9\u7684\u663E\u8457\u529F\u6548\uFF0C\u901A\u5E38\u7528\u4E8E\u75C5\u540E\u4F53\u865A\uFF0C\u98DF\u6B32\u4E0D\u632F\uFF0C\u6CBB\u7597\u5FC3\u8840\u7BA1\u75BE\u75C5\u3001\u80C3\u548C\u809D\u810F\u75BE\u75C5\u3001\u7CD6\u5C3F\u75C5\u3001\u795E\u7ECF\u8870\u5F31\uFF0C\u5065\u5FD8\u5931\u7720\u7B49\uFF0C\u5C24\u5176\u662F\u201C\u72EC\u53C2\u6C64\u201D\uFF0C\u5BF9\u62A2\u6551\u5371\u91CD\u75C5\u4EBA\u6709\u795E\u6548\u3002\u7528\u6CD5\uFF1A\u6CE1\u9152\u3001\u7096\u9E21\u3001\u716E\u6C64\u3001\u6CE1\u8336\u5165\u836F\u3002\u957F\u767D\u5C71\u4EBA\u53C2\uFF0C\u65E2\u53EF\u76F4\u63A5\u836F\u7528\uFF0C\u53C8\u53EF\u5236\u6210\u591A\u79CD\u4FDD\u5065\u98DF\u54C1\u3001\u4FDD\u5065\u996E\u6599\u3002\u5982\u4EBA\u53C2\u83DC\u80B4\u3001\u4EBA\u53C2\u53EF\u4E50\u3001\u4EBA\u53C2\u9152\u7B49\u3002\u53E3\u5473\u6E05\u65B0\uFF0C\u5F3A\u8EAB\u5065\u4F53\uFF0C\u589E\u8FDB\u53D1\u80B2\uFF0C\u5EF6\u7F13\u8870\u8001\uFF0C\u6709\u8865\u6C14\u5F3A\u8EAB\uFF0C\u76CA\u667A\u5B89\u795E\uFF0C\u5EF6\u5BFF\u7F8E\u5BB9\u7684\u663E\u8457\u529F\u6548\u3002
+ \u3000\u3000\u3010\u98DF\u7528\u65B9\u6CD5\u3011\u6211\u56FD\u98DF\u7528\u4EBA\u53C2\u7684\u5386\u53F2\u60A0\u4E45\uFF0C\u5BF9\u5B83\u7684\u795E\u5947\u529F\u6548\u4E5F\u662F\u63A8\u5D07\u500D\u81F3\uFF0C\u636E\u53F2\u4E66\u8BB0\u8F7D\uFF1A\u4EBA\u53C2\u5BF9\u4EBA\u4F53\u6709\u201C\u8865\u4E94\u810F\u3001\u5B89\u7CBE\u795E\u3001\u5B9A\u9B42\u9B44\u3001\u6B62\u60CA\u60B8\u3001\u660E\u76EE\u5F00\u5FC3\u76CA\u667A\u201D\u529F\u6548\u3002\u5B83\u7684\u98DF\u7528\u65B9\u6CD5\u5F88\u6709\u8BB2\u7A76\uFF1A
+ \u3000\u30001\u3001\u7096\u670D\u3002\u5C06\u4EBA\u53C2\u5207\u62102cm\u8584\u7247\uFF0C\u653E\u5165\u74F7\u7897\u5185\uFF0C\u52A0\u6EE1\u6C34\uFF0C\u5C01\u5BC6\u7897\u53E3\uFF0C\u653E\u7F6E\u4E8E\u9505\u5185\u84B8\u70964~5\u5C0F\u65F6\u5373\u53EF\u670D\u7528\u3002
+ \u3000\u30002\u3001\u56BC\u98DF\u3002\u4EE52~3\u7247\u4EBA\u53C2\u542B\u4E8E\u53E3\u4E2D\u7EC6\u56BC\uFF0C\u751F\u6D25\u63D0\u795E\uFF0C\u7518\u51C9\u53EF\u53E3\uFF0C\u662F\u6700\u7B80\u5355\u670D\u7528\u65B9\u6CD5\u3002
+ \u3000\u30003\u3001\u78E8\u7C89\u3002\u5C06\u4EBA\u53C2\u78E8\u6210\u7EC6\u7C89\uFF0C\u6BCF\u5929\u541E\u670D\uFF0C\u7528\u91CF\u89C6\u4E2A\u4EBA\u4F53\u8D28\u800C\u5B9A\uFF0C\u4E00\u822C\u6BCF\u6B211~1.5\u514B\u3002
+ \u3000\u30004\u3001\u51B2\u8336\u3002\u5C06\u4EBA\u53C2\u5207\u6210\u8584\u7247\uFF0C\u653E\u5728\u7897\u5185\u6216\u676F\u4E2D\uFF0C\u7528\u5F00\u6C34\u51B2\u6CE1\uFF0C\u95F7\u76D65\u5206\u540E\u5373\u53EF\u670D\u7528\u3002
+ \u3000\u30005\u3001\u6CE1\u9152\u3002\u5C06\u6574\u6839\u4EBA\u53C2\u53EF\u5207\u6210\u8584\u7247\u88C5\u5165\u74F6\u5185\u752850~60\u5EA6\u7684\u767D\u9152\u6D78\u6CE1\uFF0C\u6BCF\u65E5\u659F\u60C5\u670D\u7528\u3002
+ \u3000\u30006\u3001\u7096\u716E\u98DF\u54C1\u3002\u4EBA\u53C2\u5728\u98DF\u7528\u65F6\u5E38\u5E38\u4F34\u6709\u4E00\u5B9A\u7684\u82E6\u5473\uFF0C\u5982\u679C\u5C06\u4EBA\u53C2\u548C\u7626\u8089\u3001\u5C0F\u9E21\u3001\u9C7C\u7B49\u4E00\u8D77\u70F9\u7096\uFF0C\u53EF\u6D88\u9664\u82E6\u5473\uFF0C\u6ECB\u8865\u5F3A\u8EAB\u3002
+ \u3000\u3010\u6E29\u99A8\u63D0\u793A\u3011\u670D\u7528\u4EBA\u53C2\u8981\u6BCF\u6B21\u5C11\u91CF\uFF0C\u8FDE\u7EED\u670D\u7528\u4E00\u6BB5\u65F6\u95F4\u4E3A\u597D\uFF0C\u5FCC\u8BB3\u4E00\u6B21\u670D\u7528\u592A\u591A\u3002\u670D\u7528\u671F\u95F4\u4E0D\u5B9C\u996E\u8336\uFF0C\u4E0D\u5B9C\u4E0E\u841D\u535C\u3001\u85DC\u82A6\u540C\u7528\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/移山参.asset.meta b/WuHu_touming/Assets/Conf/menuitem/人参/移山参.asset.meta
new file mode 100644
index 0000000..739edc2
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/移山参.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dc45c9382df99f641b4a482fb8539b64
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/红参.asset b/WuHu_touming/Assets/Conf/menuitem/人参/红参.asset
new file mode 100644
index 0000000..5e066b3
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/红参.asset
@@ -0,0 +1,29 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u7EA2\u53C2"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: fc57bc7a18f3d1549bc7cfd63e10e28c, type: 3}
+ - {fileID: 21300000, guid: 0f99e643b47ac2043996ae41396e78cb, type: 3}
+ go: {fileID: 620137474854900816, guid: 2575ccce6b23cdb45940cab69e66dfde, type: 3}
+ name_CN: "\u7EA2\u53C2"
+ name_LT: Talinum paniculatum (Jacq.) Gaertn.
+ synopsis: "\u3000\u3000\u7EA2\u53C2\uFF08\u5B66\u540D\uFF1ATalinumpaniculatum(Jacq.)Gaertn.\uFF09\u662F\u4E94\u52A0\u79D1\u4EBA\u53C2\u5C5E\u591A\u5E74\u751F\u8349\u672C\u3002\u6839\u830E\u77ED\uFF0C\u76F4\u7ACB\uFF0C\u6BCF\u5E74\u589E\u751F\u4E00\u8282\uFF0C\u901A\u79F0\u201C\u82A6\u5934\u201D\uFF0C\u6709\u65F6\u5176\u4E0A\u751F\u4E00\u81F3\u6570\u6761\u4E0D\u5B9A\u6839(\u828B)\u3002\u4E3B\u6839\u7C97\u58EE\uFF0C\u8089\u8D28\uFF0C\u5706\u67F1\u5F62\u6216\u7EBA\u9524\u5F62\u3002\u638C\u72B6\u590D\u53F6\u8F6E\u751F\u830E\u7AEF\uFF0C\u590D\u53F6\u6709\u957F\u67C4\uFF0C\u5C0F\u53F6\u7247\u591A\u4E3A\uFF0C\u8FB9\u7F18\u6709\u7EC6\u952F\u9F7F\uFF0C\u4E0A\u9762\u6CBF\u8109\u6709\u7A00\u758F\u521A\u6BDB\u3002\u4F1E\u5F62\u82B1\u5E8F\u9876\u751F\u6838\u679C\u3001\u79CD\u5B50\u3002\u7EA2\u53C2\u4E3A\u4E94\u52A0\u79D1\u4EBA\u53C2\u7684\u683D\u57F9\u54C1\u7ECF\u8FC7\u84B8\u5236\u540E\u7684\u5E72\u71E5\u6839\u53CA\u6839\u830E\uFF0C\u4E8E\u79CB\u5B63\u91C7\u6316\uFF0C\u6D17\u51C0\u84B8\u5236\u540E\uFF0C\u5E72\u71E5\u3002\u7EA2\u53C2\u5177\u6709\u5F88\u9AD8\u7684\u836F\u7528\u4EF7\u503C\uFF0C\u4F46\u662F\u4EF7\u683C\u8F83\u9AD8\uFF0C\u4E2D\u836F\u6750\u5E02\u573A\u4E0A\u5B58\u5728\u8BB8\u591A\u4E0E\u7EA2\u53C2\u76F8\u4F3C\u7684\u4F2A\u54C1\u3002
+ \u3000\u3000\u5F62\u6001\u7279\u5F81\uFF1A\u4E3B\u6839\u5448\u7EBA\u9524\u5F62\u3001\u5706\u67F1\u5F62\u6216\u6241\u65B9\u67F1\u5F62\uFF0C\u957F3~10cm\uFF0C\u76F4\u5F841~2cm\u3002\u8868\u9762\u534A\u900F\u660E\uFF0C\u7EA2\u68D5\u8272\uFF0C\u5076\u6709\u4E0D\u900F\u660E\u7684\u6697\u9EC4\u8910\u8272\u6591\u5757\uFF0C\u5177\u7EB5\u6C9F\u3001\u76B1\u7EB9\u53CA\u7EC6\u6839\u75D5;\u4E0A\u90E8\u6709\u65F6\u5177\u65AD\u7EED\u7684\u4E0D\u660E\u663E\u73AF\u7EB9\uFF0C\u4E0B\u90E8\u67092~3\u6761\u626D\u66F2\u4EA4\u53C9\u7684\u652F\u6839\uFF0C\u5E76\u5E26\u5F2F\u66F2\u7684\u987B\u6839\u6216\u4EC5\u5177\u987B\u6839\u6B8B\u8FF9\u3002\u6839\u830E(\u82A6\u5934)\u957F1~2cm\uFF0C\u4E0A\u6709\u6570\u4E2A\u51F9\u7A9D\u72B6\u830E\u75D5(\u82A6\u7897)\uFF0C\u6709\u7684\u5E26\u67091~2\u6761\u5B8C\u6574\u6216\u6298\u65AD\u7684\u4E0D\u5B9A\u6839(\u828B)\u3002
+ \u3000\u3000\u751F\u957F\u73AF\u5883\uFF1A\u751F\u4E8E\u6D77\u62D4\u6570\u767E\u7C73\u7684\u843D\u53F6\u9614\u53F6\u6797\u6216\u9488\u53F6\u9614\u53F6\u6DF7\u4EA4\u6797\u4E0B\u3002
+ \u3000\u3000\u5206\u5E03\u8303\u56F4\uFF1A\u5206\u5E03\u4E8E\u6211\u56FD\u957F\u767D\u5C71\u8109\u548C\u5C0F\u5174\u5B89\u5CAD\u4E1C\u5357\u90E8\u7684\u5C71\u6797\u5730\u5E26\uFF0C\u8FBD\u5B81\u3001\u5409\u6797\u3001\u9ED1\u9F99\u6C5F\u7B49\u5730\u6709\u5927\u91CF\u683D\u57F9\u3002
+ \u3000\u3000\u6027\u72B6\u9274\u522B\uFF1A\u6B63\u54C1\u7EA2\u53C2\u8868\u9762\u534A\u900F\u660E\u72B6\uFF0C\u5448\u9EC4\u68D5\u8272\uFF0C\u53EF\u89C1\u7EB5\u76B1\u7EB9\u53CA\u987B\u6839\u8131\u843D\u75D5\uFF0C\u8D28\u786C\u800C\u8106\uFF0C\u62FF\u6570\u7247\u7EA2\u53C2\u6B63\u54C1\u5728\u624B\u4E2D\u6447\u6643\uFF0C\u6709\u6E05\u8106\u78B0\u649E\u58F0;\u65AD\u9762\u5E73\u5766\u5448\u89D2\u8D28\u6837\uFF0C\u6C14\u5FAE\u9999\u7279\u5F02\uFF0C\u53E3\u5C1D\u5473\u7518\u5FAE\u82E6\uFF0C\u53C2\u5473\u8F83\u91CD\u3002\u800C\u5C06\u534E\u5C71\u53C2\u52A0\u5DE5\u6210\u4F2A\u54C1\u7EA2\u53C2\uFF0C\u8868\u9762\u5448\u68D5\u8910\u8272\u6216\u68D5\u8272\uFF0C\u6709\u660E\u663E\u76B1\u7EB9\uFF0C\u6298\u65AD\u9762\u6BD4\u8F83\u5E73\u5766\uFF0C\u4E0A\u6709\u7EC6\u5BC6\u653E\u5C04\u72B6\u7EB9\u7406\uFF0C\u5473\u7518\u5FAE\u82E6\uFF0C\u7565\u663E\u9EBB\u820C\u3002\u5C06\u91CE\u8C47\u8C46\u7684\u6839\u52A0\u5DE5\u6210\u4F2A\u54C1\u7EA2\u53C2\uFF0C\u8868\u9762\u5448\u7070\u68D5\u8272\uFF0C\u5FAE\u900F\u660E\u5E76\u6709\u660E\u663E\u7EB5\u76B1\u7EB9\uFF0C\u6C14\u5FAE\u5473\u6DE1\uFF0C\u5FAE\u6709\u8C46\u8165\u5473\u3002\u5C06\u5C71\u83B4\u82E3\u7684\u6839\u52A0\u5DE5\u6210\u4F2A\u54C1\u7EA2\u53C2\uFF0C\u8868\u9762\u5448\u9EC4\u68D5\u8272\u6216\u7EA2\u68D5\u8272\uFF0C\u5448\u534A\u900F\u660E\u72B6\uFF0C\u6709\u7EC6\u5C0F\u7EB5\u76B1\u7EB9\uFF0C\u8D28\u5730\u575A\u5B9E\uFF0C\u5BB9\u6613\u6298\u65AD\u3002\u518D\u5982\u52A0\u7CD6\u7EA2\u53C2\uFF0C\u8272\u6CFD\u8F83\u6D45\uFF0C\u8D28\u5730\u8F83\u67D4\u8F6F\uFF0C\u5728\u624B\u4E2D\u6447\u6643\u65F6\u58F0\u97F3\u53D1\u95F7\uFF0C\u5207\u9762\u8F83\u7C97\u7CD9\uFF0C\u5E38\u9644\u6709\u767D\u971C\uFF0C\u8868\u9762\u4E0D\u89C1\u73AF\u72B6\u7EB9\u7406\uFF0C\u53E3\u5C1D\u5FAE\u751C\uFF0C\u4E45\u540E\u5FAE\u82E6\uFF0C\u53C2\u5473\u8F83\u8F7B\u3002\u4F20\u7EDF\u7ECF\u9A8C\u9274\u522B\u57FA\u4E8E\u6B63\u54C1\u4E0E\u4F2A\u54C1\u7684\u8D28\u5730\u3001\u989C\u8272\u3001\u6C14\u5473\u7B49\u7684\u4E0D\u540C\uFF0C\u5177\u6709\u76F4\u89C2\u3001\u7B80\u4FBF\u7684\u4F18\u70B9\uFF0C\u4F46\u662F\u5BF9\u4E8E\u4E00\u4E9B\u5916\u89C2\u4E0A\u4E0E\u6B63\u54C1\u76F8\u4F3C\u7684\u4F2A\u54C1\uFF0C\u4F20\u7EDF\u7ECF\u9A8C\u9274\u522B\u5177\u6709\u4E00\u5B9A\u7684\u5C40\u9650\u6027\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/红参.asset.meta b/WuHu_touming/Assets/Conf/menuitem/人参/红参.asset.meta
new file mode 100644
index 0000000..2dc2808
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/红参.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7b2628fcf493e4349afbc9650643b34a
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/西洋参.asset b/WuHu_touming/Assets/Conf/menuitem/人参/西洋参.asset
new file mode 100644
index 0000000..ebd1293
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/西洋参.asset
@@ -0,0 +1,27 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u897F\u6D0B\u53C2"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: f07b2ce7cfa255347ac35239da50b52d, type: 3}
+ - {fileID: 21300000, guid: 53c4e45fa7ac2d74b93141e0486a4a4a, type: 3}
+ go: {fileID: 5278414590793467738, guid: d580e422b51db8c4aab18a54da84028c, type: 3}
+ name_CN: "\u897F\u6D0B\u53C2"
+ name_LT: Panax quiquefolium L.
+ synopsis: "\u3000\u3000\u897F\u6D0B\u53C2\uFF08\u5B66\u540D\uFF1APanaxquiquefoliumL.\uFF09\u662F\u4E94\u52A0\u79D1\u3001\u4EBA\u53C2\u5C5E\u591A\u5E74\u751F\u8349\u672C\u690D\u7269\u3002\u6839\u4E3A\u8089\u8D28\uFF0C\u5176\u5F62\u72B6\u6709\u692D\u5706\u5F62\u548C\u7EBA\u9524\u5F62\uFF0C\u5916\u76AE\u8868\u9762\u5448\u6D45\u9EC4\u8272\uFF0C\u8F83\u7EC6\u81F4\u5149\u6ED1\uFF0C\u751F\u957F\u8302\u76DB\uFF0C\u65AD\u9762\u7684\u7EB9\u7406\u5177\u6709\u83CA\u82B1\u72B6\uFF1B\u830E\u4E3A\u76F4\u7ACB\u5706\u67F1\u5F62\uFF0C\u5149\u6ED1\u65E0\u6BDB\uFF0C\u7EFF\u8272\u6216\u6697\u7D2B\u7EFF\u8272\uFF0C\u830E\u7684\u9AD8\u77EE\u968F\u53C2\u9F84\u4E0D\u540C\u800C\u4E0D\u4E00\u6837\uFF1B\u53F6\u4E00\u822C\u4E3A\u75315\u7247\u5C0F\u53F6\u7EC4\u6210\u7684\u638C\u72B6\u590D\u53F6\uFF0C\u5C0F\u53F6\u7247\u4E3A\u5012\u5375\u5F62\u6216\u5375\u5F62\uFF0C\u53F6\u8F83\u8584\uFF0C\u8FB9\u7F18\u6709\u4E0D\u89C4\u5219\u7684\u7C97\u952F\u9F7F\uFF0C\u4E00\u822C\u4E00\u5E74\u751F\u897F\u6D0B\u53C2\u690D\u682A\u53EA\u67091\u679A3\u7247\u5C0F\u53F6\u7684\u590D\u53F6\uFF0C\u4E8C\u5E74\u751F\u7684\u67091\u679A\u62162\u679A\u5BF9\u751F\u76845\u7247\u5C0F\u53F6\u7684\u590D\u53F6\uFF0C3-5\u5E74\u751F\u7684\u67093-5\u679A\u8F6E\u751F5\u7247\u5C0F\u53F6\u7684\u590D\u53F6\uFF1B\u82B1\u4ECE\u830E\u9876\u4E2D\u5FC3\u62BD\u51FA\u82B1\u85B9\uFF0C\u7531\u8BB8\u591A\u5C0F\u82B1\u7EC4\u6210\u4F1E\u5F62\u82B1\u5E8F\uFF1B\u6D46\u679C\u5F62\u72B6\u4E3A\u6241\u5706\u5F62\uFF0C\u5448\u5BF9\u72B6\u5206\u5E03\uFF0C\u6210\u719F\u540E\u7684\u989C\u8272\u4E3A\u9C9C\u7EA2\uFF1B\u82B1\u671F\u3001\u679C\u5B9E\u6210\u719F\u671F\u5206\u522B\u4E3A7\u6708\u30019\u6708\u3002
+ \u3000\u3000\u897F\u6D0B\u53C2\u539F\u4EA7\u5317\u7F8E\uFF0C\u81EA\u7136\u5206\u5E03\u4E8E\u5317\u7EAC30-48\xB0\uFF0C\u897F\u7ECF67-95\xB0\u7684\u7F8E\u6D32\u68EE\u6797\u4E2D\uFF0C\u5373\u52A0\u62FF\u5927\u7684\u4E1C\u5357\u90E8\u548C\u7F8E\u56FD\u7684\u4E1C\u90E8\uFF0C\u5305\u62EC\u52A0\u62FF\u5927\u7684\u8499\u7279\u5229\u5C14\u548C\u9B41\u5317\u514B\u3001\u7F8E\u56FD\u7684\u7EBD\u7EA6\u5DDE\u548C\u5BC6\u82CF\u91CC\u5DDE\u7B49\u5730\u3002\u559C\u571F\u8D28\u758F\u677E\u3001\u571F\u5C42\u6DF1\u539A\u80A5\u6C83\u3001\u5BCC\u542B\u8150\u6B96\u8D28\uFF0C\u900F\u6C14\u3001\u900F\u6C34\u53CA\u4FDD\u80A5\u4FDD\u6C34\u6027\u80FD\u597D\uFF0C\u6709\u826F\u597D\u7684\u56E2\u7C92\u7ED3\u6784\u7684\u58E4\u571F\u3001\u7802\u8D28\u58E4\u571F\u6216\u68EE\u6797\u68D5\u58E4\uFF1B\u559C\u659C\u5C04\u5149\u3001\u6563\u5C04\u5149\uFF0C\u5FCC\u5F3A\u5149\uFF1B\u751F\u957F\u671F\u9700\u8981\u8F83\u9AD8\u7684\u7A7A\u6C14\u6E7F\u5EA6\uFF08\u5E74\u964D\u6C34\u91CF\u57281000\u6BEB\u7C73\u5DE6\u53F3\uFF09\u3002
+ \u3000\u3000\u897F\u6D0B\u53C2\u662F\u4E00\u79CD\u201C\u6E05\u51C9\u201D\u53C2\uFF0C\u5176\u5473\u82E6\u3001\u5FAE\u7518\uFF0C\u6027\u51C9\uFF0C\u5177\u6709\u6ECB\u9634\u8865\u6C14\u3001\u751F\u6D25\u6B62\u6E34\u3001\u9664\u70E6\u8E81\u3001\u6E05\u865A\u706B\u3001\u6276\u6B63\u6C14\u3001\u6297\u75B2\u52B3\u7684\u529F\u6548\uFF0C\u897F\u6D0B\u53C2\u4E2D\u542B\u6709\u4E00\u79CD\u53EB\u4EBA\u53C2\u7682\u82F7\u7684\u6210\u5206\uFF0C\u5177\u6709\u63D0\u9AD8\u4EBA\u4F53\u62B5\u6297\u529B\u7684\u4F5C\u7528\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/西洋参.asset.meta b/WuHu_touming/Assets/Conf/menuitem/人参/西洋参.asset.meta
new file mode 100644
index 0000000..e89cba1
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/西洋参.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 567b8c3ff1cb1714cb1d468991f610e7
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/野山参.asset b/WuHu_touming/Assets/Conf/menuitem/人参/野山参.asset
new file mode 100644
index 0000000..78298bd
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/野山参.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u91CE\u5C71\u53C2"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: b93a3c43c1b10484dbfc87e2bf2c09ff, type: 3}
+ - {fileID: 21300000, guid: 0be08c95d2d2c43428758584166fa95c, type: 3}
+ go: {fileID: 3151976749406961151, guid: bff823f90cc7ce946be0ebcb876d76f2, type: 3}
+ name_CN: "\u91CE\u5C71\u53C2"
+ name_LT: Panax ginseng
+ synopsis: "\u3000\u3000\u81EA\u7136\u751F\u957F\u4E8E\u6DF1\u5C71\u5BC6\u679715\u5E74\u4EE5\u4E0A\u7684\u4EBA\u53C2\u53EF\u79F0\u4E4B\u4E3A\u91CE\u5C71\u53C2\u3002\u6839\u636E\u300A\u91CE\u5C71\u53C2\u9274\u5B9A\u53CA\u5206\u7B49\u8D28\u91CFGB/T18765-2015\u300B\u56FD\u5BB6\u6807\u51C6\u5C06\u9C9C\u91CE\u5C71\u53C2\u548C\u751F\u6652\u91CE\u5C71\u53C2\u5747\u5B9A\u4E3A8\u4E2A\u7EA7\u522B\uFF0C\u57FA\u672C\u8981\u6C42\u4E3A\uFF1A\u9C9C\u91CE\u5C71\u53C2\u3001\u751F\u6652\u91CE\u5C71\u53C2\uFF0C\u4EFB\u4F55\u90E8\u4F4D\u4E0D\u5F97\u7C98\u63A5\uFF0C\u4F53\u5185\u65E0\u5F02\u7269\uFF0C\u4F53\u4E0D\u5F97\u505A\u7EB9\u3002\u4E2D\u56FD\u662F\u6700\u65E9\u5E94\u7528\u4EBA\u53C2\u7684\u56FD\u5BB6\u548C\u5730\u533A\uFF0C\u5E76\u5C06\u4EBA\u53C2\u53D1\u5C55\u6210\u4E86\u4E00\u79CD\u7279\u6B8A\u7684\u6587\u5316\uFF0C\u8FD9\u662F\u5BF9\u4E16\u754C\u7684\u4E00\u5927\u8D21\u732E\u3002\u300A\u795E\u519C\u672C\u8349\u7ECF\u300B\u4E2D\u4EBA\u53C2\u7684\u8BB0\u8F7D\u4E3A\uFF1A\u4E3B\u8865\u4E94\u810F\uFF0C\u5B89\u7CBE\u795E\uFF0C\u5B9A\u9B42\u9B44\uFF0C\u6B62\u60CA\u60B8\uFF0C\u9664\u90AA\u6C14\uFF0C\u660E\u76EE\uFF0C\u5F00\u5FC3\u76CA\u667A\u3002\u4E45\u670D\uFF0C\u8F7B\u8EAB\u5EF6\u5E74\u3002
+ \u3000\u3000\u751F\u957F\u73AF\u5883\uFF1A\u91CE\u5C71\u53C2\u7684\u751F\u957F\u5BF9\u73AF\u5883\u8981\u6C42\u5341\u5206\u4E25\u683C\uFF0C\u81EA\u7136\u6761\u4EF6\u3001\u690D\u88AB\u6761\u4EF6\u3001\u6797\u8C61\u6761\u4EF6\u3001\u6797\u5730\u6761\u4EF6\u4EE5\u53CA\u7A7A\u6C14\u3001\u571F\u58E4\u3001\u6E29\u5EA6\u3001\u5149\u7167\u3001\u6C34\u5206\u7B49\u7B49\u90FD\u5FC5\u987B\u5177\u5907\u5176\u751F\u957F\u8981\u6C42\uFF0C\u5426\u5219\uFF0C\u91CE\u5C71\u53C2\u5F88\u96BE\u5B58\u6D3B\u3002\u91CE\u5C71\u53C2\u751F\u957F\u7684\u81EA\u7136\u6761\u4EF6\u751F\u957F\u8303\u56F4\uFF1A\u4E1C\u7ECF117\xB0\uFF5E134\xB0\uFF0C\u5317\u7EAC40\xB0\uFF5E48\xB0\u6D77\u62D4\u9AD8\u5EA6\uFF1A300\u7C73\u4EE5\u4E0A\u9AD8\u5C71\u5E74\u964D\u6C34\u91CF\uFF1A500\uFF5E1000mm\u751F\u957F\u671F\u5E73\u5747\u6E7F\u5EA6\uFF1A70%\u5DE6\u53F3\u6C14\u5019\u6761\u4EF6\uFF1A\u751F\u957F\u671F\u6797\u4E0B\u900F\u5149\u738710\uFF5E15%,\u5206\u5E03\u5730\u533A\u5E74\u5E73\u5747\u6C14\u6E291\uFF5E6.5\u2103\u3002\u65E0\u971C\u671F\uFF1A\u4E0D\u5C11\u4E8E90\u5929\u5E74\u6709\u6548\u6C14\u6E29\u226510\u2103\uFF0C\u79EF\u6E292000\uFF5E3300\u2103\u3002\u91CE\u5C71\u53C2\u751F\u957F\u7684\u690D\u88AB\u6761\u4EF6\u91CE\u5C71\u53C2\u7684\u751F\u957F\u5730\u57DF\uFF0C\u5FC5\u987B\u5177\u5907\u4EE5\u4E54\u6728\u6811\u79CD\u4E3A\u4E3B\u4F53\u7684\u751F\u7269\u7FA4\u843D\uFF08\u5305\u62EC\u690D\u7269\u3001\u52A8\u7269\u3001\u5FAE\u751F\u7269\u7B49\uFF09\u53CA\u5176\u6240\u5728\u751F\u957F\u73AF\u5883\uFF08\u5305\u62EC\u571F\u58E4\u3001\u6C14\u5019\u7B49\uFF09\uFF0C\u5177\u6709\u968F\u65F6\u95F4\u3001\u7A7A\u95F4\u4E0D\u65AD\u8FDB\u884C\u80FD\u91CF\u8F6C\u6362\u3001\u7269\u8D28\u5FAA\u73AF\u3001\u4FE1\u606F\u4F20\u9012\u7684\u6709\u751F\u547D\u53CA\u518D\u751F\u80FD\u529B\u7684\u3001\u5B8C\u6574\u826F\u597D\u7684\u68EE\u6797\u751F\u6001\u7CFB\u7EDF\u3002\u3000\u91CE\u5C71\u53C2\u7684\u751F\u957F\u73AF\u5883\u4E2D\u6709\u8BB8\u591A\u4F34\u751F\u690D\u7269\uFF0C\u8FD9\u6B63\u662F\u91CE\u5C71\u53C2\u751F\u957F\u7684\u5965\u5999\u6240\u5728\u3002\u4F34\u751F\u690D\u7269\u4E3B\u8981\u6709\uFF1A\u4E54\u6728\u3001\u704C\u6728\uFF08\u5982\u699B\u6811\u3001\u80E1\u679D\u5B50\u3001\u523A\u4E94\u52A0\u3001\u9E21\u6811\u6761\u3001\u5C71\u6885\u82B1\u3001\u9F99\u7259\u6728\u3001\u91D1\u521A\u9F20\u674E\uFF09\u3001\u8349\u672C\u690D\u7269\uFF08\u5982\uFF1A\u4E1C\u5317\u8336\u3001\u5C16\u53F6\u767D\u524D\u3001\u5C71\u828D\u836F\u3001\u638C\u53F6\u94C1\u7EBF\u8568\u3001\u4E1C\u5317\u5C71\u6885\u82B1\u3001\u8001\u5C71\u82B9\u3001\u5C0F\u53F6\u82B9\u3001\u7EC6\u8F9B\u3001\u767E\u5408\u3001\u7C97\u830E\u9CDE\u6BDB\u8568\u3001\u5C71\u827E\u84BF\u3001\u91CE\u8C4C\u8C46\u3001\u5BBD\u53F6\u53F0\u8349\u7B49\uFF09\u3001\u85E4\u672C\u690D\u7269\uFF08\u5982\uFF1A\u6728\u901A\u3001\u4E94\u5473\u5B50\u3001\u5C71\u8461\u8404\u7B49\uFF09\u3002\u5730\u9762\u8568\u7C7B\uFF08\u5982\uFF1A\u98CE\u5C3E\u8568\u3001\u7C97\u830E\u9CDE\u6BDB\u8568\u3001\u7334\u817F\u5B50\u7B49\uFF09\u3001\u82D4\u85D3\uFF08\u5982\uFF1A\u846B\u82A6\u85D3\u3001\u91D1\u53D1\u85D3\u3001\u4E07\u5E74\u85D3\u7B49\uFF09\u3001\u771F\u83CC\uFF08\u5982\uFF1A\u677E\u8548\u8611\u3001\u626B\u5E1A\u8611\u7B49\uFF09\u3002\u91CE\u5C71\u53C2\u751F\u957F\u7684\u6797\u8C61\u6761\u4EF6\u3000\u91CE\u5C71\u53C2\u751F\u957F\u5730\u57DF\u662F\u9614\u53F6\u6797\u6216\u9488\u9614\u6DF7\u4EA4\u6797\uFF0C\u6811\u79CD\u4E00\u822C\u4E3A\u8499\u53E4\u680E\u3001\u69ED\u6811\u3001\u67DE\u6811\u3001\u7D2B\u6934\u3001\u7CE0\u6934\u3001\u7EA2\u677E\u7B4910\u4F59\u79CD\u3002\u5F62\u6210\u9AD8\u3001\u4E2D\u3001\u4F4E3\u5C42\u81EA\u7136\u5C4F\u969C\uFF0C\u90C1\u853D\u5EA6\uFF08\u662F\u6307\u6797\u5730\u95F4\u6811\u51A0\u76F8\u4E92\u8854\u63A5\u7684\u7A0B\u5EA6\uFF0C\u6811\u51A0\u5728\u6797\u5730\u6295\u5F71\u6240\u5360\u9762\u79EF\u4E0E\u6797\u5730\u603B\u9762\u79EF\u4E4B\u6BD4\u79F0\u4E3A\u90C1\u853D\u5EA6\uFF090.6-0.8\u3002\u68EE\u6797\u5168\u836B\u853D\u6216\u65E0\u836B\u853D\u3001\u9634\u68EE\u68EE\u6216\u5C11\u89C1\u9633\u5149\u7684\u539F\u59CB\u6797\u91CE\u5C71\u53C2\u90FD\u4E0D\u80FD\u751F\u957F\u3002\u5B83\u559C\u6B22\u751F\u957F\u5728\u9488\u9614\u6DF7\u4EA4\u6797\u6216\u6742\u6728\u6797\u4E0B\uFF0C\u5468\u56F4\u7FA4\u5CE6\u8D77\u4F0F\uFF0C\u6CB3\u8C37\u7EB5\u6A2A\uFF0C\u6C34\u6D41\u4E0D\u65AD\uFF0C\u7A9D\u98CE\u5411\u9633\uFF0C\u7F13\u5761\u6797\u4E0B\u3002\u9633\u5149\u7A7F\u8FC7\u6797\u6728\u7684\u95F4\u9699\uFF0C\u968F\u98CE\u5439\u8361\u3001\u6447\u6447\u6643\u6643\uFF0C\u6563\u5C04\u548C\u76F4\u5C04\u5728\u91CE\u5C71\u53C2\u53F6\u4E0A\uFF0C\u7ED9\u4EBA\u53C2\u9002\u5B9C\u7684\u5149\u548C\u70ED\uFF1B\u6BCF\u5F53\u5C71\u96E8\u9AA4\u964D\uFF0C\u7F13\u5761\u7684\u6C34\u6D41\u987A\u52BF\u800C\u4E0B\uFF0C\u8D77\u5230\u5929\u7136\u7684\u6297\u6D9D\u6548\u679C\uFF1B\u6BCF\u5F53\u4E45\u65F1\u65E0\u96E8\uFF0C\u6C14\u6E29\u5347\u9AD8\uFF0C\u5927\u5730\u9F9F\u88C2\uFF0C\u758F\u677E\u7684\u8150\u6B96\u571F\u4F9D\u7136\u6F6E\u6C14\u84B8\u817E\uFF0C\u4F9B\u7ED9\u91CE\u5C71\u53C2\u6839\u90E8\u6C34\u5206\uFF0C\u5B83\u624D\u80FD\u6B63\u5E38\u751F\u957F\u53D1\u80B2\u3002
+ \u3000\u3000\u9274\u522B\u65B9\u6CD5 \u4E94\u5F62\uFF1A \u3000\u3000\u82A6\uFF1A\u4E3B\u6839\u4E0A\u90E8\u7684\u6839\u830E\uFF0C\u6709\u5706\u82A6\u3001\u5806\u82B1\u82A6\u3001\u9A6C\u7259\u82A6\u3002
+ \u3000\u3000\u827C\uFF1A\u82A6\u4E0A\u751F\u957F\u7684\u4E0D\u5B9A\u6839\uFF0C\u6709\u67A3\u6838\u827C\u3001\u6BDB\u6BDB\u827C\u3001\u827C\u53D8\u7B49\u3002
+ \u3000\u3000\u4F53\uFF1A\u5373\u4E3B\u6839\uFF0C\u76AE\u4E3A\u9EC4\u8910\u8272\u6216\u7070\u9EC4\u8272\uFF0C
+ \u65AD\u9762\u5448\u9EC4\u767D\u8272\u3002 \u3000\u3000\u7EB9\uFF1A\u5728\u4E3B\u6839\u80A9\u90E8\u7684\u7EC6\u800C\u6DF1\u7684\u73AF\u7EB9\u3002
+ \u3000\u3000\u987B\uFF1A\u652F\u6839\u4E0A\u751F\u957F\u7684\u8F83\u7EC6\u7684\u6839\uFF0C\u987B\u6839\u7EC6\u957F\uFF0C\u67D4\u97E7\u6027\u5F3A\uFF0C\u6709\u5F39\u6027\u3001\u6709\u73CD\u73E0\u70B9\u3002
+ \u516D\u4F53\uFF1A \u3000\u3000\u7075\uFF1A\u6307\u91CE\u5C71\u53C2\u4F53\u6001\u73B2\u73D1\uFF0C\u5F62\u5982\u5143\u5B9D\u6216\u83F1\u89D2\uFF0C\u4F53\u817F\u660E\u663E\u53EF\u5206\uFF0C\u817F\u591A\u4E3A\u4E24\u4E2A\uFF0C\u4E14\u5206\u88C6\u81EA\u7136\u3002
+ \u3000\u3000\u7B28\uFF1A\u6307\u91CE\u5C71\u53C2\u6839\u5F62\u633A\u76F4\uFF0C\u4F53\u6001\u7B28\u62D9\u4E0D\u7075\u6D3B\uFF0C\u817F\u6709\u4E24\u6761\u4EE5\u4E0A\uFF0C\u817F\u7684\u7C97\u7EC6\u957F\u77ED\u4E0D\u5300\u79F0\u3002
+ \u3000\u3000\u8001\uFF1A\u6307\u91CE\u5C71\u53C2\u5E74\u957F\u76AE\u8001\uFF0C\u5448\u9EC4\u8910\u8272\uFF0C\u73AF\u7EB9\u66F4\u52A0\u7EC6\u5BC6\u3002
+ \u3000\u3000\u5AE9\uFF1A\u6307\u91CE\u5C71\u53C2\u5E74\u9650\u8F83\u77ED\uFF0C\u76AE\u8272\u767D\u5AE9\uFF0C\u987B\u6839\u5AE9\u8106\u8272\u767D\u6613\u6298\u65AD\u3002
+ \u3000\u3000\u6A2A\uFF1A\u4E3B\u6839\u7C97\u77ED\u5E76\u6A2A\u5411\u751F\u957F\uFF0C\u4E24\u6761\u817F\u591A\u5411\u65C1\u4F38\u5C55\u3002
+ \u3000\u3000\u987A\uFF1A\u6307\u91CE\u5C71\u53C2\u6839\u987A\u957F\u4E14\u76F4\uFF0C\u5355\u817F\u6216\u8005\u53CC\u817F\u5E76\u62E2\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/人参/野山参.asset.meta b/WuHu_touming/Assets/Conf/menuitem/人参/野山参.asset.meta
new file mode 100644
index 0000000..9e0f94d
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/人参/野山参.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f2b22e0e4dc619742baf95ab68cf2b3f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物.meta b/WuHu_touming/Assets/Conf/menuitem/动物.meta
new file mode 100644
index 0000000..331266c
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: df71bf258ce494947bfdb11f6179b2b5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/土鳖虫.asset b/WuHu_touming/Assets/Conf/menuitem/动物/土鳖虫.asset
new file mode 100644
index 0000000..6b66ef2
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/土鳖虫.asset
@@ -0,0 +1,30 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u571F\u9CD6\u866B"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 9dba30713ae7900419332b7da635ddf8, type: 3}
+ - {fileID: 21300000, guid: f4e02874d79ce0d4ab6da93dd6687f85, type: 3}
+ go: {fileID: 4774607738774084110, guid: 75f5db6e2a7e2f8418b310c8ba6ef208, type: 3}
+ name_CN: "\u571F\u9CD6\u866B"
+ name_LT: Eupolyphaga seu Steleophaga
+ synopsis: "\u3000\u3000\u571F\u9CD6\u866B\uFF0C\u4E2D\u836F\u540D\u3002\u4E3A\u9CD6\u880A\u79D1\u6606\u866B\u5730\u9CD6Eupolyph,agasin,ensisWalker\u6216\u5180\u5730\u9CD6SteleophagaPlancyi(Boleny)\u7684\u96CC\u866B\u5E72\u71E5\u4F53\u3002\u6355\u6349\u540E\uFF0C\u7F6E\u6CB8\u6C34\u4E2D\u70EB\u6B7B\uFF0C\u6652\u5E72\u6216\u70D8\u5E72\u3002\u5206\u5E03\u4E8E\u6CB3\u5317\u3001\u9655\u897F\u3001\u7518\u8083\u3001\u9752\u6D77\u3001\u5C71\u4E1C\u3001\u6CB3\u5357\u3001\u6C5F\u82CF\u3001\u6D59\u6C5F\u3001\u6E56\u5357\u7B49\u5730\u3002\u5177\u6709\u7834\u8840\u9010\u7600\uFF0C\u7EED\u7B4B\u63A5\u9AA8\u4E4B\u529F\u6548\u3002\u7528\u4E8E\u8DCC\u6253\u635F\u4F24\uFF0C\u7B4B\u4F24\u9AA8\u6298\uFF0C\u8840\u7600\u7ECF\u95ED\uFF0C\u4EA7\u540E\u7600\u963B\u8179\u75DB\uFF0C\u763E\u7615\u75DE\u5757\u3002
+ \u3000\u3000 \u3000\u3000\u836F\u6750\u6027\u72B6\uFF1A \u3000\u30001\u3001\u5730\u9CD6\uFF0C\u5448\u6241\u5E73\u5375\u5F62\uFF0C\u957F1.3\uFF5E3cm\uFF0C\u5BBD1.2\uFF5E2.4cm\u3002\u524D\u7AEF\u8F83\u7A84\uFF0C\u540E\u7AEF\u8F83\u5BBD\uFF0C\u80CC\u90E8\u7D2B\u8910\u8272\uFF0C\u5177\u5149\u6CFD\uFF0C\u65E0\u7FC5\u3002\u524D\u80F8\u80CC\u677F\u8F83\u53D1\u8FBE\uFF0C\u76D6\u4F4F\u5934\u90E8\uFF1B\u8179\u80CC\u677F9\u8282\uFF0C\u5448\u8986\u74E6\u6276\u6392\u5217\u3002\u8179\u9762\u7EA2\u68D5\u8272\uFF0C\u5934\u90E8\u8F83\u5C0F\uFF0C\u6709\u4E1D\u72B6\u89E6\u89D21\u5BF9\uFF0C\u5E38\u8131\u843D\uFF0C\u80F8\u90E8\u6709\u8DB33\u5BF9\uFF0C\u5177\u7EC6\u6BDB\u548C\u523A\u3002\u8179\u90E8\u6709\u6A2A\u73AF\u8282\u3002\u8D28\u677E\u8106\uFF0C\u6613\u788E\u3002\u6C14\u8165\u81ED\uFF0C\u5473\u5FAE\u54B8\u3002
+ \u3000\u30002\u3001\u5180\u5730\u9CD6\uFF0C\u957F2.2\uFF5E3.7cm\uFF0C\u5BBD1.4\uFF5E2.5cm\u3002\u80CC\u90E8\u9ED1\u68D5\u8272\uFF0C\u901A\u5E38\u5728\u8FB9\u7F18\u5E26\u6709\u6DE1\u9EC4\u8910\u8272\u6591\u5757\u53CA\u9ED1\u8272\u5C0F\u70B9\u3002
+ \u3000\u3000\u5165\u836F\u90E8\u4F4D\u4E3A\u52A8\u7269\u7684\u5E72\u71E5\u4F53\u3002\u5473\u54B8\uFF0C\u6027\u5BD2\u3002\u5F52\u809D\u7ECF\u3002
+ \u3000\u3000\u529F\u6548\uFF1A\u7834\u8840\u9010\u7600\uFF0C\u7EED\u7B4B\u63A5\u9AA8\u3002\u4E3B\u6CBB\u8DCC\u6253\u635F\u4F24\uFF0C\u7B4B\u4F24\u9AA8\u6298\uFF0C\u8840\u7600\u7ECF\u95ED\uFF0C\u4EA7\u540E\u7600\u963B\u8179\u75DB\uFF0C\u763E\u7615\u75DE\u5757\u3002
+ \u3000\u3000\u7528\u6CD5\u7528\u91CF\uFF1A3\uFF5E10g\u3002\u5B55\u5987\u7981\u7528\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/土鳖虫.asset.meta b/WuHu_touming/Assets/Conf/menuitem/动物/土鳖虫.asset.meta
new file mode 100644
index 0000000..8c51eae
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/土鳖虫.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 88bad87f799fafa41bbd931ae12011e6
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/地龙.asset b/WuHu_touming/Assets/Conf/menuitem/动物/地龙.asset
new file mode 100644
index 0000000..41bd44a
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/地龙.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u5730\u9F99"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 405eed016e24e954893073a886d4adb3, type: 3}
+ - {fileID: 21300000, guid: e2b2460077ed3744790960979eee88c9, type: 3}
+ go: {fileID: 1183253312083867236, guid: ffbd04d40bd3f314e94b90bb1fe3112b, type: 3}
+ name_CN: "\u5730\u9F99"
+ name_LT: Lumbricus
+ synopsis: "\u3000\u3000\u5730\u9F99\u662F\u6211\u56FD\u91CD\u8981\u7684\u4E2D\u836F\u6750\u4E4B\u4E00\u3002\u6700\u65E9\u7684\u4E2D\u836F\u5B66\u4E13\u8457\u300A\u795E\u519C\u672C\u8349\u7ECF\u300B\u4E2D\u6536\u8F7D\u768467\u79CD\u52A8\u7269\u836F\u4E2D\u5C31\u6709\u86AF\u8693\u3002\u5728\u300A\u795E\u519C\u672C\u8349\u7ECF\u300B\u5217\u4E3A\u4E0B\u54C1\uFF0C
+ \u3000\u3000\u5177\u6709\u6E05\u70ED\u5B9A\u60CA\u3001\u901A\u7EDC\u3001\u5E73\u5598\u3001\u5229\u5C3F\u7684\u529F\u6548\u3002\u5E38\u7092\u5236\u540E\u7528\u4E8E\u9AD8\u70ED\u3001\u795E\u660F\u3001\u60CA\u75EB\u62BD\u6410\u3001\u5173\u8282\u75F9\u75DB\u3001\u80BA\u70ED\u5598\u54B3\u3001\u5C3F\u5C11\u6C34\u80BF\u3001\u9AD8\u8840\u538B\u7B49\u75C7\u3002\u4E3B\u542B\u591A\u79CD\u6C28\u57FA\u9178\u3002\u7531\u4E8E\u751F\u54C1\u8165\u5473\u592A\u91CD\uFF0C\u6545\u5165\u836F\u4E00\u822C\u9700\u7ECF\u7092\u5236\u3002\u9676\u5F18\u666F\u8C13\uFF1A\u201C\u82E5\u670D\u5E72\u8693\uFF0C\u987B\u71AC\u4F5C\u5C51\u201D\u3002\u4F20\u7EDF\u7528\u5730\u9F99\uFF0C\u5236\u6CD5\u5F88\u591A\uFF0C\u4E3B\u8981\u6709\u836F\u5236\u3001\u918B\u5236\u3001\u71AC\u5236\u3001\u9152\u5236\u3001\u6CB9\u5236\u3001\u86E4\u7C89\u7092\u5236\u3001\u76D0\u5236\u7B49\u6CD5\uFF0C\u4F7F\u5176\u8D28\u5730\u677E\u6CE1\u9165\u8106\u3001\u53BB\u6BD2\u6027\u3001\u77EB\u6B63\u81ED\u5473\u53CA\u4FBF\u4E8E\u714E\u5236\u670D\u7528\u3002
+ \u3000\u3000\u529F\u80FD\u4E3B\u6CBB\uFF1A \u3000\u30001\uFF0E\u6E05\u70ED\u606F\u98CE\uFF0C\u7528\u4E8E\u9AD8\u70ED\u60CA\u75EB\u3001\u766B\u72C2\u3002\u5730\u9F99\u54B8\u5BD2\u964D\u6CC4\uFF0C\u6027\u8D70\u7A9C\uFF0C\u65E2\u80FD\u606F\u98CE\u6B62\u75C9\uFF0C\u53C8\u5584\u6E05\u89E3\u9AD8\u70ED\uFF0C\u6545\u9002\u7528\u4E8E\u9AD8\u70ED\u6240\u81F4\u7684\u72C2\u8E81\uFF0C\u60CA\u98CE\u62BD\u6410\uFF0C\u766B\u75EB\u7B49\u75C7\u3002\u6CBB\u7597\u6E29\u75C5\u70ED\u6781\u751F\u98CE\u795E\u660F\u8C35\u8BED\u3001\u75C9\u631B\u62BD\u6410\uFF0C\u53EF\u5355\u7528\u672C\u54C1\u714E\u670D\u53D6\u6548\uFF0C\u6216\u4E0E\u94A9\u85E4\u3001\u725B\u9EC4\u3001\u767D\u50F5\u8695\u7B49\u606F\u98CE\u6B62\u75C9\u836F\u540C\u7528\u3002\u6CBB\u7597\u5C0F\u513F\u60CA\u98CE\uFF0C\u9AD8\u70ED\u3001\u60CA\u62BD\uFF0C\u53EF\u4EE5\u672C\u54C1\u7814\u70C2\uFF0C\u4E0E\u6731\u7802\u5171\u4E3A\u4E38\u670D\u3002\u6CBB\u7597\u9AD8\u70ED\u72C2\u8E81\u6216\u766B\u75EB\uFF0C\u5E38\u5355\u7528\u9C9C\u54C1\uFF0C\u540C\u76D0\u5316\u4E3A\u6C34\uFF0C\u996E\u670D\u3002
+ \u3000\u30002\uFF0E\u901A\u7ECF\u6D3B\u7EDC\uFF0C\u7528\u4E8E\u75F9\u8BC1\u53CA\u534A\u8EAB\u4E0D\u9042\u3002\u5730\u9F99\u957F\u4E8E\u901A\u884C\u7ECF\u7EDC\uFF0C\u7528\u4E8E\u591A\u79CD\u539F\u56E0\u5F15\u8D77\u7684\u7ECF\u7EDC\u963B\u6EDE\uFF0C\u8840\u8109\u4E0D\u7545\uFF0C\u80A2\u8282\u4E0D\u5229\u4E4B\u8BC1\u3002\u56E0\u5176\u6027\u5BD2\u80FD\u6E05\u70ED\uFF0C\u6545\u9002\u5B9C\u6CBB\u7597\u5173\u8282\u7EA2\u80BF\u75BC\u75DB\u3001\u5C48\u4F38\u4E0D\u5229\u4E4B\u70ED\u75F9\uFF0C\u5E38\u4E0E\u9632\u5DF1\u3001\u79E6\u827D\u3001\u5FCD\u51AC\u85E4\u7B49\u9664\u6E7F\u70ED\u3001\u901A\u7ECF\u7EDC\u836F\u7269\u914D\u4F0D\u3002\u4EA6\u7528\u6CBB\u98CE\u5BD2\u6E7F\u75F9\uFF0C\u80A2\u4F53\u5173\u8282\u9EBB\u6728\u3001\u75BC\u75DB\u3001\u5C48\u4F38\u4E0D\u5229\u7B49\u75C7\uFF0C\u53EF\u4E0E\u5DDD\u4E4C\u3001\u5929\u5357\u661F\u3001\u4E73\u9999\u7B49\u914D\u4F0D\uFF0C\u5982\u5C0F\u6D3B\u7EDC\u4E39\u3002\u6CBB\u7597\u6C14\u865A\u8840\u6EDE\uFF0C\u4E2D\u98CE\u540E\u7ECF\u7EDC\u4E0D\u5229\u3001\u534A\u8EAB\u4E0D\u9042\u3001\u53E3\u773C\u6B6A\u659C\u7B49\u75C7\uFF0C\u5E38\u4E0E\u9EC4\u82AA\u3001\u5F53\u5F52\u3001\u5DDD\u828E\u7B49\u914D\u4F0D\uFF0C\u5982\u8865\u9633\u8FD8\u4E94\u6C64\u3002
+ \u3000\u30003\uFF0E\u6E05\u80BA\u5E73\u5598\uFF0C\u7528\u4E8E\u80BA\u70ED\u54EE\u5598\u3002\u672C\u54C1\u53C8\u6E05\u80BA\u70ED\u5E73\u5598\u3002\u7528\u6CBB\u90AA\u70ED\u58C5\u80BA\uFF0C\u80BA\u5931\u8083\u964D\u4E4B\u5598\u606F\u4E0D\u6B62\uFF0C\u5589\u4E2D\u54EE\u9E23\u6709\u58F0\u8005\uFF0C\u5355\u7528\u7814\u672B\u5185\u670D\u5373\u6548\uFF0C\u4EA6\u53EF\u4E0E\u9EBB\u9EC4\u3001\u77F3\u818F\u3001\u674F\u4EC1\u7B49\u540C\u7528\u3002
+ \u3000\u30004\uFF0E\u6E05\u70ED\u5229\u5C3F\uFF0C\u7528\u4E8E\u70ED\u7ED3\u8180\u80F1\uFF0C\u5C0F\u4FBF\u4E0D\u5229\u6216\u5C3F\u95ED\u4E0D\u901A\u3002\u672C\u54C1\u54B8\u5BD2\u8D70\u4E0B\u5165\u80BE\uFF0C\u80FD\u6E05\u70ED\u7ED3\u3001\u5229\u6C34\u9053\uFF0C\u7528\u6CBB\u5C0F\u4FBF\u4E0D\u5229\u6216\u5C3F\u95ED\u4E0D\u901A\uFF0C\u53EF\u7528\u9C9C\u54C1\u6363\u70C2\uFF0C\u6D78\u6C34\uFF0C\u6EE4\u53D6\u6D53\u6C41\u670D\uFF0C\u4E5F\u53EF\u4E0E\u8F66\u524D\u5B50\u3001\u6728\u901A\u3001\u6CFD\u6CFB\u7B49\u5229\u6C34\u6E17\u6E7F\u836F\u540C\u7528\u3002
+ \u3000\u3000 \u3000\u3000\u7528\u6CD5\u7528\u91CF\uFF1A \u3000\u30005-15g\uFF1B\u9C9C\u54C110-20g\u3002\u7814\u672B\u541E\u670D\uFF0C\u6BCF\u6B211-2g\u3002\u5916\u7528\u9002\u91CF\u3002
+ \u3000\u3000\u4E0D\u826F\u53CD\u5E94\uFF1A \u3000\u30001\uFF0E\u7528\u91CF\u8FC7\u5927\uFF1A\u5E38\u89C4\u5242\u91CF\u6BD2\u6027\u5C0F\uFF0C\u8FC7\u91CF\u4F7F\u7528\u53EF\u51FA\u73B0\u5934\u75DB\u3001\u5934\u660F\uFF0C\u8840\u538B\u5148\u5347\u540E\u964D\u3001\u8179\u75DB\u3001\u547C\u5438\u56F0\u96BE\u3001\u6D88\u5316\u9053\u51FA\u8840\u3002
+ \u3000\u30002\uFF0E\u8FC7\u654F\u53CD\u5E94\uFF1A\u808C\u8089\u6CE8\u5C04\u5730\u9F99\u9488\u5242\u53EF\u51FA\u73B0\u8FC7\u654F\u53CD\u5E94\uFF0C\u8868\u73B0\u4E3A\u53E3\u5507\u53D1\u9EBB\u3001\u76AE\u75B9\u3001\u8138\u8272\u82CD\u767D\uFF0C\u5927\u6C57\u3001\u547C\u5438\u56F0\u96BE\u3001\u8840\u538B\u4E0B\u964D\u3002
+ \u3000\u3000\u7981\u5FCC\uFF1A \u9633\u6C14\u865A\u635F\u3001\u813E\u80C3\u865A\u5F31\u3001\u80BE\u865A\u5598\u4FC3\u3001\u8840\u865A\u4E0D\u80FD\u6FE1\u517B\u7B4B\u8109\u8005\u4E0D\u5B9C\u4F7F\u7528\u3002
+ \u3000\u30001\uFF0E\u80C3\u5446\u7EB3\u5C11\u8005\u4E0D\u5B9C\u591A\u7528\u3002
+ \u3000\u30002\uFF0E\u754F\u8471\u3001\u76D0\u3002\uFF08\u300A\u836F\u5BF9\u300B\uFF09
+ \u3000\u30003\uFF0E\u4F24\u5BD2\u975E\u9633\u660E\u5B9E\u70ED\u72C2\u8E81\u8005\u4E0D\u5B9C\u7528\uFF0C\u6E29\u75C5\u65E0\u58EE\u70ED\u53CA\u813E\u80C3\u7D20\u5F31\u8005\u4E0D\u5B9C\u7528\uFF0C\u9EC4\u75B8\u7F18\u5927\u52B3\uFF0C\u8179\u80C0\u5C5E\u813E\u80BE\u865A\uFF0C\u9634\u865A\u6210\u52B3\u7635\u8005\uFF0C\u6210\u5728\u6240\u5FCC\u3002\uFF08\u300A\u672C\u8349\u7ECF\u758F\u300B\uFF09"
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/地龙.asset.meta b/WuHu_touming/Assets/Conf/menuitem/动物/地龙.asset.meta
new file mode 100644
index 0000000..0db337d
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/地龙.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ad4279be53d3b4c4e9aa79cf40d579ef
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/海马干.asset b/WuHu_touming/Assets/Conf/menuitem/动物/海马干.asset
new file mode 100644
index 0000000..09e9405
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/海马干.asset
@@ -0,0 +1,42 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u6D77\u9A6C\u5E72"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 845de554efd6bf34eb383707045bdf38, type: 3}
+ - {fileID: 21300000, guid: 64ac7df84170c0243813ba45dd2342c8, type: 3}
+ go: {fileID: 2281176855909332858, guid: 406e3a6556429cc419a824a613742d06, type: 3}
+ name_CN: "\u6D77\u9A6C\u5E72"
+ name_LT: Hippocampus
+ synopsis: "\u3000\u3000\u6D77\u9A6C\u7684\u5168\u79F0\u53EB\u6D77\u9A6C\u9C7C\uFF0C\u53C8\u79F0\u201C\u843D\u9F99\u5B50\"\uFF0C\u5728\u65E5\u8BED\u4E2D\uFF0C\u6D77\u9A6C\u4E00\u8BCD\u7684\u542B\u4E49\u662F\u9F99\u7684\u79C1\u751F\u5B50\u201D\u3002\u5728\u5145\u6EE1\u6740\u673A\u7684\u5927\u6D77\u4E2D\uFF0C\u6D77\u9A6C\u53EA\u80FD\u9760\u4F53\u8868\u7684\u9AA8\u677F\u3001\u4FDD\u62A4\u8272\u8EB2\u907F\u654C\u5BB3\u3002\u5B83\u884C\u52A8\u7F13\u6162\uFF0C\u4F2A\u88C5\u662F\u6700\u597D\u7684\u4FDD\u62A4\u3002\u4E00\u4E9B\u79CD\u7C7B\u7684\u6D77\u9A6C\u80FD\u50CF\u53D8\u8272\u9F99\u4E00\u6837\uFF0C\u968F\u73AF\u5883\u6539\u53D8\u989C\u8272\uFF0C\u4E00\u4F1A\u513F\u662F\u6697\u6DE1\u7684\u6D77\u8349\u8272\uFF0C\u4E00\u4F1A\u513F\u662F\u660E\u4EAE\u7684\u73CA\u745A\u8272\u3002\u6D77\u9A6C\u5728\u5168\u4E16\u754C\u90FD\u6709\u5206\u5E03\uFF0C\u4EE5\u70ED\u5E26\u79CD\u7C7B\u6570\u91CF\u8F83\u591A\u3002\u6D77\u9A6C\u901A\u5E38\u751F\u6D3B\u5728\u6CBF\u6D77\u6D77\u85FB\u4E1B\u751F\u6216\u5CB8\u7901\u591A\u7684\u6D77\u533A\uFF0C\u6216\u9644\u7740\u4E8E\u6F02\u6D6E\u7269\u4E0A\u968F\u6CE2\u9010\u6D41\uFF0C\u53EF\u7528\u80CC\u9CCD\u6446\u52A8\u76F4\u7ACB\u6E38\u6CF3\uFF0C\u4EE5\u5C0F\u578B\u7532\u58F3\u7C7B\u52A8\u7269\u4E3A\u98DF\u3002\u6D77\u5357\u5C9B\u56DB\u5468\u6CBF\u6D77\u548C\u897F\u5357\u6C99\u7FA4\u5C9B\u8FD1\u6D77\u57DF\u90FD\u5341\u5206\u9002\u5B9C\u6D77\u9A6C\u7684\u7E41\u884D\u751F\u957F\u3002\u6C11\u95F4\u6709\"\u5357\u65B9\u6D77\u9A6C\uFF0C\u5317\u65B9\u4EBA\u53C2\"\u4E4B\u8BF4\u3002
+ \u3000\u3000\u8425\u517B\u4EF7\u503C\uFF1A \u3000\u3000\u6D77\u9A6C\u5E72\u5BCC\u542B\u86CB\u767D\u8D28\u3001\u8102\u80AA\u3001\u78B3\u6C34\u5316\u5408\u7269\u3001\u78F7\u3001\u950C\u3001\u9530\u3001\u94C1\u3001\u94A1\u3001\u7852\u3001\u7EF4\u751F\u7D20D\u7B49\u8425\u517B\u6210\u5206\u3002
+ \u3000\u3000\u836F\u7528\u529F\u80FD\uFF1A \u3000\u3000\u636E\u300A\u533B\u836F\u7814\u7A76\u300B\u8BB0\u8F7D\uFF0C\u6D77\u9A6C\u5E72\u5177\u6709\u8865\u80BE\u58EE\u9633\u3001\u6E29\u901A\u8840\u8109\u3001\u9547\u9759\u5B89\u795E\u3001\u6563\u7ED3\u6D88\u80BF\u3001\u8212\u7B4B\u6D3B\u7EDC\u3001\u6B62\u54B3\u5E73\u5598\u7B49\u836F\u7528\u529F\u80FD\uFF0C\u4E3B\u6CBB\u80BE\u865A\u3001\u9633\u75FF\u3001\u9057\u5C3F\u3001\u5987\u5973\u5BAB\u51B7\u4E0D\u80B2\u3001\u8840\u5D29\u96BE\u4EA7\u3001\u8DCC\u6253\u635F\u4F24\u3001\u521B\u4F24\u51FA\u8840\u3001\u795E\u7ECF\u8870\u5F31\u3001\u54EE\u5598\u4EE5\u53CA\u4E73\u817A\u764C\u7B49\u591A\u79CD\u75BE\u75C5\u3002\u6D77\u9A6C\u5E72\u662F\u4E00\u79CD\u7ECF\u6D4E\u4EF7\u503C\u8F83\u9AD8\u7684\u540D\u8D35\u4E2D\u836F\uFF0C\u5177\u6709\u5F3A\u8EAB\u5065\u4F53\u3001\u8865\u80BE\u58EE\u9633\u3001\u8212\u7B4B\u6D3B\u7EDC\u3001\u6D88\u708E\u6B62\u75DB\u3001\u9547\u9759\u5B89\u795E\u3001\u6B62\u54B3\u5E73\u5598\u7B49\u529F\u80FD\uFF0C\u7279\u522B\u662F\u5BF9\u4E8E\u6CBB\u7597\u795E\u7ECF\u7CFB\u7EDF\u7684\u75BE\u75C5\u66F4\u4E3A\u6709\u6548\u3002
+ \u3000\u3000\u836F\u7406\u4F5C\u7528\uFF1A \u3000\u30001.\u6027\u6FC0\u7D20\u6837\u4F5C\u7528\u3002
+ \u3000\u30002.\u5BF9\u514D\u75AB\u7CFB\u7EDF\u6709\u4E00\u5B9A\u7684\u5F71\u54CD\u3002
+ \u3000\u30003.\u6297\u80BF\u7624\u4F5C\u7528\u3002 \u3000\u3000\u4F7F\u7528\u6CE8\u610F\uFF1A
+ \u3000\u30001.\u5B55\u5987\u53CA\u9634\u865A\u706B\u65FA\u3001\u6709\u5916\u611F\u8005\u5747\u5E94\u7981\u670D\u3002
+ \u3000\u30002.\u300A\u5E7F\u897F\u836F\u7528\u52A8\u7269\u300B:\u201C\u9634\u865A\u5185\u70ED\u548C\u5916\u611F\u80C3\u5F31\u7684\u4EBA\u5FCC\u7528\u3002\u201D
+ \u3000\u3000\u836F\u7528\u7528\u6CD5 \u3000\u3000\u5185\u670D:\u714E\u6C64\uFF0C3~9\u514B;\u7814\u672B\uFF0C1.5~3\u514B\u3002
+ \u3000\u3000\u5916\u7528:\u9002\u91CF\uFF0C\u7814\u672B\u63BA\u6577\u3002 \u3000\u3000\u836F\u81B3\u504F\u65B9
+ \u3000\u3000\u4E00\u3001\u9F99\u9A6C\u7AE5\u5B50\u9E21 \u3000\u3000\u539F\u6599:\u6D77\u9A6C10\u514B\uFF0C\u867E\u4EC115\u514B\uFF0C\u7AE5\u5B50\u9E211\u53EA(750\u514B\u5DE6\u53F3)\u3002
+ \u3000\u3000\u505A\u6CD5: \u3000\u30001.\u5C06\u6D77\u9A6C\u5E72\u5728\u6E29\u6C34\u4E2D\u6D78\u6CE110\u5206\u949F\u3002
+ \u3000\u30002.\u9E21\u6E05\u6D17\u5E72\u51C0\uFF0C\u53BB\u9664\u5C41\u80A1\u3001\u7FC5\u8180\u548C\u5934\uFF0C\u7136\u540E\u6572\u65AD\u817F\u9AA8\uFF0C\u4ECE\u80CC\u90E8\u5256\u5F00\uFF0C\u5728\u80CC\u810A\u9AA8\u4E0A\u65A9\u51E0\u5200\uFF0C\u8BA9\u9E21\u7684\u8EAB\u4F53\u5E73\u4F0F\u4E0B\u6765\u3002\u63A5\u7740\u628A\u9E21\u653E\u5230\u6EDA\u5F00\u7684\u6C34\u91CC\u70EB3\u5206\u949F\uFF0C\u4EE5\u53BB\u9664\u8840\u6C34\u3002
+ \u3000\u30003.\u628A\u9E21\u51B2\u6D17\u5E72\u51C0\uFF0C\u653E\u5165\u94DD\u9505\u3002\u9E21\u7684\u56DB\u5468\u653E\u4E0A\u6D78\u6CE1\u8FC7\u7684\u6D77\u9A6C\uFF0C\u4E2D\u95F4\u653E\u867E\u4EC1\uFF0C\u518D\u653E1\u6574\u6839\u7684\u8471\u548C\u4E9B\u8BB8\u59DC\u7247\uFF0C\u52A015\u514B\u9EC4\u9152\u3001\u5C11\u8BB8\u76D0\u3001\u5473\u7CBE\uFF0C\u5151\u5165500\u514B\u9C9C\u6C64\uFF0C\u7136\u540E\u76D6\u4E0A\u9505\u76D6\uFF0C\u84B82\u4E2A\u5C0F\u65F6\uFF0C\u5373\u53EF\u98DF\u7528\u3002
+ \u3000\u30004.\u4E0A\u684C\u524D\uFF0C\u628A\u8471\u548C\u59DC\u7247\u62FF\u6389\u3002
+ \u3000\u3000\u529F\u6548: \u3000\u3000\u58EE\u9633\u3001\u76CA\u6C14\u3001\u8865\u7CBE\uFF0C\u589E\u5F3A\u7CBE\u529B\uFF0C\u5BF9\u9633\u75FF\u65E9\u6CC4\u3001\u5C0F\u4FBF\u6B21\u6570\u592A\u591A\u3001\u5D29\u6F0F\u5E26\u4E0B\u7B49\u6709\u76F8\u5F53\u597D\u7684\u7597\u6548\u3002
+ \u3000\u3000\u4E8C\u3001\u6D77\u9F99\u9E21 \u3000\u3000[\u539F\u6599]\u6D77\u9A6C\u5E7210\u514B\uFF0C\u6D77\u9F9910\u514B\uFF0C\u675C\u4EF210\u514B\uFF0C\u8089\u4ECE\u84C920\u514B\uFF0C\u4ED4\u516C\u9E211\u53EA\uFF0C\u847120\u514B\uFF0C\u59DC15\u514B\uFF0C\u7ECD\u915220\u514B\uFF0C\u76D010\u514B\u3002
+ \u3000\u3000[\u5236\u6CD5]\u5C06\u4ED4\u516C\u9E21\u6D17\u51C0\uFF0C\u5207\u6210\u957F\u65B9\u5F62\u5927\u5757\uFF0C\u653E\u5165\u9505\u5185\u3002\u5C06\u6D77\u9A6C\u3001\u6D77\u9F99\u6D17\u51C0\u653E\u5728\u7096\u9505\u5185\u52A0\u5165\u675C\u4EF2\u3001\u8089\u827E\u84C9\u3001\u7ECD\u9152\u3001\u8471\u3001\u59DC\u3001\u76D0\uFF0C\u52A0\u6C34300\u6BEB\u5347\uFF0C\u7528\u6B66\u706B\u716E\u6CB8\uFF0C\u6587\u706B\u716E\u70961\u5C0F\u65F6\u5373\u6210\u3002\u6BCF\u65E51\u6B21\uFF0C\u4F50\u9910\u98DF\u7528\u3002\u6B64\u65B9\u53EF\u6E29\u4E2D\u58EE\u9633\uFF0C\u76CA\u6C14\u8865\u7CBE\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/海马干.asset.meta b/WuHu_touming/Assets/Conf/menuitem/动物/海马干.asset.meta
new file mode 100644
index 0000000..691bc80
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/海马干.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4e9f2f2cd0dc605489869facb61222c2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/石决明.asset b/WuHu_touming/Assets/Conf/menuitem/动物/石决明.asset
new file mode 100644
index 0000000..88b0455
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/石决明.asset
@@ -0,0 +1,53 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u77F3\u51B3\u660E"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 9d2365e1af308024eb340d8ef4d53cb8, type: 3}
+ - {fileID: 21300000, guid: 039eae8b4910fa54ca2bef2e58fa7f21, type: 3}
+ go: {fileID: 5118448571870103032, guid: fe58e0715c32dee4092cdaf5c83ecf69, type: 3}
+ name_CN: "\u77F3\u51B3\u660E"
+ name_LT: Haliotidis Concha
+ synopsis: "\u3000\u3000\u813E\u80C3\u865A\u5BD2\u8005\u614E\u670D\uFF0C\u6D88\u5316\u4E0D\u826F\u3001\u80C3\u9178\u7F3A\u4E4F\u8005\u7981\u670D\u3002
+ \u3000\u3000\u77F3\u51B3\u660E\u662F\u5E73\u809D\u606F\u98CE\u836F\uFF0C\u4E3A\u9C8D\u79D1\u52A8\u7269\u6742\u8272\u9C8D\u3001\u76B1\u7EB9\u76D8\u9C8D\u3001\u7F8A\u9C8D\u3001\u6FB3\u6D32\u9C8D\u3001\u8033\u9C8D\u6216\u767D\u9C8D\u7684\u8D1D\u58F3\u3002\u4EE5\u4E2A\u5927\u3001\u58F3\u539A\u3001\u5916\u8868\u6D01\u51C0\u3001\u5185\u8868\u9762\u6709\u5F69\u8272\u5149\u6CFD\u8005\u4E3A\u4F73\u3002
+ \u3000\u3000\u4E3B\u4EA7\u5730\uFF1A \u3000\u3000\u77F3\u51B3\u660E\u4E3B\u4EA7\u4E8E\u6211\u56FD\u5E7F\u4E1C\u3001\u5E7F\u897F\u3001\u798F\u5EFA\u3001\u53F0\u6E7E\u3001\u5C71\u4E1C\u3001\u8FBD\u5B81\u7B49\u6CBF\u6D77\u5730\u533A\u3002\u56FD\u5916\u5370\u5EA6\u5C3C\u897F\u4E9A\u3001\u975E\u6D32\u3001\u6FB3\u5927\u5229\u4E9A\u3001\u65E5\u672C\u3001\u671D\u9C9C\u5747\u4EA7\u3002
+ \u3000\u3000 \u3000\u3000\u5165\u836F\u90E8\u4F4D: \u3000\u3000\u672C\u54C1\u4E3A\u9C8D\u79D1\u52A8\u7269\u6742\u8272\u9C8DHaliotisdiversicolorReeve\u3001\u76B1\u7EB9\u76D8\u9C8DHaliotisdiscushannailno\u3001\u7F8A\u9C8DHaliotisovinaGmelin\u3001\u6FB3\u6D32\u9C8DHaliotisruber(Leach)\u3001\u8033\u9C8DHaliotisasininaLinnaeus\u6216\u767D\u9C8DHaliotislaevigata(Donovan)\u7684\u8D1D\u58F3\u3002\u590F\u3001\u79CB\u4E8C\u5B63\u6355\u635E\uFF0C\u53BB\u8089\uFF0C\u6D17\u51C0\uFF0C\u5E72\u71E5\u3002\u7ECF\u4E0D\u540C\u70AE\u5236\u65B9\u6CD5\uFF0C\u53EF\u751F\u4EA7\u77F3\u51B3\u660E\u3001\u7145\u77F3\u51B3\u660E\u7B49\u4E2D\u836F\u996E\u7247\u3002
+ \u3000\u3000 \u3000\u3000\u77F3\u51B3\u660E\u5165\u836F\u90E8\u4F4D\u6027\u72B6:
+ \u3000\u30001.\u6742\u8272\u9C8D\u5448\u957F\u5375\u5706\u5F62\uFF0C\u5185\u9762\u89C2\u7565\u5448\u8033\u5F62\uFF0C\u957F7~9cm\uFF0C\u5BBD5~6cm\uFF0C\u9AD8\u7EA62cm\u3002\u8868\u9762\u6697\u7EA2\u8272\uFF0C\u6709\u591A\u6570\u4E0D\u89C4\u5219\u7684\u87BA\u808B\u548C\u7EC6\u5BC6\u751F\u957F\u7EBF\uFF0C\u87BA\u65CB\u90E8\u5C0F\uFF0C\u4F53\u87BA\u90E8\u5927\uFF0C\u4ECE\u87BA\u65CB\u90E8\u9876\u5904\u5F00\u59CB\u5411\u53F3\u6392\u5217\u670920\u4F59\u4E2A\u75A3\u72B6\u7A81\u8D77\uFF0C\u672B\u7AEF6~9\u4E2A\u5F00\u5B54\uFF0C\u5B54\u53E3\u4E0E\u58F3\u9762\u5E73\u3002\u5185\u9762\u5149\u6ED1\uFF0C\u5177\u73CD\u73E0\u6837\u5F69\u8272\u5149\u6CFD\u3002\u58F3\u8F83\u539A\uFF0C\u8D28\u575A\u786C\uFF0C\u4E0D\u6613\u7834\u788E\u3002\u6C14\u5FAE\uFF0C\u5473\u5FAE\u54B8\u3002
+ \u3000\u30002.\u76B1\u7EB9\u76D8\u9C8D\u5448\u957F\u692D\u5706\u5F62\uFF0C\u957F8~12cm\uFF0C\u5BBD6~8cm\uFF0C\u9AD82~3cm\u3002\u8868\u9762\u7070\u68D5\u8272\uFF0C\u6709\u591A\u6570\u7C97\u7CD9\u800C\u4E0D\u89C4\u5219\u7684\u76B1\u7EB9\uFF0C\u751F\u957F\u7EBF\u660E\u663E\uFF0C\u5E38\u6709\u82D4\u85D3\u7C7B\u6216\u77F3\u7070\u866B\u7B49\u9644\u7740\u7269\uFF0C\u672B\u7AEF4~5\u4E2A\u5F00\u5B54\uFF0C\u5B54\u53E3\u7A81\u51FA\u58F3\u9762\uFF0C\u58F3\u8F83\u8584\u3002
+ \u3000\u30003.\u7F8A\u9C8D\u8FD1\u5706\u5F62\uFF0C\u957F4~8cm\uFF0C\u5BBD2.5~6cm\uFF0C\u9AD80.8~2cm\u3002\u58F3\u9876\u4F4D\u4E8E\u8FD1\u4E2D\u90E8\u800C\u9AD8\u4E8E\u58F3\u9762\uFF0C\u87BA\u65CB\u90E8\u4E0E\u4F53\u87BA\u90E8\u5404\u53601/2\uFF0C\u4ECE\u87BA\u65CB\u90E8\u8FB9\u7F18\u67092\u884C\u6574\u9F50\u7684\u7A81\u8D77\uFF0C\u5C24\u4EE5\u4E0A\u90E8\u8F83\u4E3A\u660E\u663E\uFF0C\u672B\u7AEF4~5\u4E2A\u5F00\u5B54\uFF0C\u5448\u7BA1\u72B6\u3002
+ \u3000\u30004.\u6FB3\u6D32\u9C8D\u5448\u6241\u5E73\u5375\u5706\u5F62\uFF0C\u957F13~17cm\uFF0C\u5BBD11~14cm\uFF0C\u9AD83.5~6cm\u3002\u8868\u9762\u7816\u7EA2\u8272\uFF0C\u87BA\u65CB\u90E8\u7EA6\u4E3A\u58F3\u9762\u76841/2\uFF0C\u87BA\u808B\u548C\u751F\u957F\u7EBF\u5448\u6CE2\u72B6\u9686\u8D77\uFF0C\u75A3\u72B6\u7A81\u8D7730\u4F59\u4E2A\uFF0C\u672B\u7AEF7~9\u4E2A\u5F00\u5B54\uFF0C\u5B54\u53E3\u7A81\u51FA\u58F3\u9762\u3002
+ \u3000\u30005.\u8033\u9C8D\u72ED\u957F\uFF0C\u7565\u626D\u66F2\uFF0C\u5448\u8033\u72B6\uFF0C\u957F5~8cm\uFF0C\u5BBD2.5~3.5cm\uFF0C\u9AD8\u7EA61cm\u3002\u8868\u9762\u5149\u6ED1\uFF0C\u5177\u7FE0\u7EFF\u8272\u3001\u7D2B\u8272\u53CA\u8910\u8272\u7B49\u591A\u79CD\u989C\u8272\u5F62\u6210\u7684\u6591\u7EB9\uFF0C\u87BA\u65CB\u90E8\u5C0F\uFF0C\u4F53\u87BA\u90E8\u5927\uFF0C\u672A\u7AEF5~7\u4E2A\u5F00\u5B54\uFF0C\u5B54\u53E3\u4E0E\u58F3\u5E73\uFF0C\u591A\u4E3A\u692D\u5706\u5F62\uFF0C\u58F3\u8584\uFF0C\u8D28\u8F83\u8106\u3002
+ \u3000\u30006.\u767D\u9C8D\u5448\u5375\u5706\u5F62\uFF0C\u957F11~14cm\uFF0C\u5BBD8.5~11cm\uFF0C\u9AD83~6.5cm\u3002\u8868\u9762\u7816\u7EA2\u8272\uFF0C\u5149\u6ED1\uFF0C\u58F3\u9876\u9AD8\u4E8E\u58F3\u9762\uFF0C\u751F\u957F\u7EBF\u9887\u4E3A\u660E\u663E\uFF0C\u87BA\u65CB\u90E8\u7EA6\u4E3A\u58F3\u9762\u76841/3\uFF0C\u75A3\u72B6\u7A81\u8D7730\u4F59\u4E2A\uFF0C\u672B\u7AEF9\u4E2A\u5F00\u5B54\uFF0C\u5B54\u53E3\u4E0E\u58F3\u5E73\u3002
+ \u3000\u3000\u4F5C\u7528\u529F\u6548\uFF1A \u3000\u3000 \u3000\u3000\u77F3\u51B3\u660E\u7684\u4E3B\u8981\u529F\u6548\u4E3A\u5E73\u809D\u6F5C\u9633\uFF0C\u6E05\u809D\u660E\u76EE\u3002
+ \u3000\u3000\u529F\u6548\u4F5C\u7528\uFF1A \u3000\u3000 \u3000\u3000\u2022\u77F3\u51B3\u660E\u7528\u4E8E\u5934\u75DB\u7729\u6655\uFF0C\u76EE\u8D64\u7FF3\u969C\uFF0C\u89C6\u7269\u660F\u82B1\uFF0C\u9752\u76F2\u96C0\u76EE\u3002
+ \u3000\u30001..\u751F\u77F3\u51B3\u660E\uFF0C\u5E73\u809D\u6F5C\u9633\uFF0C\u6E05\u70ED\u660E\u76EE\u529F\u529B\u5F3A\uFF0C\u5584\u6CBB\u809D\u706B\u4E0A\u708E\u6240\u81F4\u76EE\u8D64\u80BF\u75DB\uFF0C\u5934\u6655\u76EE\u7729;
+ \u3000\u30002.\u7145\u77F3\u51B3\u660E\uFF0C\u51CF\u5BD2\u51C9\u4E4B\u6027\uFF0C\u52A0\u5F3A\u6536\u6DA9\u4E4B\u529F\uFF0C\u591A\u80FD\u5E73\u809D\u655B\u809D\uFF0C\u7528\u4E8E\u9AA8\u84B8\u52B3\u70ED\uFF0C\u9752\u76F2\u5185\u969C\uFF0C\u5916\u4F24\u51FA\u8840;
+ \u3000\u30003.\u76D0\u77F3\u51B3\u660E\uFF0C\u589E\u54B8\u5BD2\u6ECB\u9634\u4E4B\u529B\uFF0C\u957F\u4E8E\u8865\u809D\u76CA\u80BE\uFF0C\u6ECB\u9634\u6E05\u70ED\u3002
+ \u3000\u3000 \u3000\u3000\u2022\u5934\u6655\u76EE\u7729 \u3000\u30001.\u672C\u54C1\u54B8\u5BD2\u6E05\u70ED\uFF0C\u8D28\u91CD\u6F5C\u9633\uFF0C\u4E13\u5165\u809D\u7ECF\uFF0C\u6545\u6709\u9547\u6F5C\u809D\u9633\u3001\u6E05\u5229\u5934\u76EE\u3001\u6B62\u7729\u6655\u4E4B\u6548\uFF0C\u4E3A\u51C9\u809D\u3001\u9547\u809D\u4E4B\u8981\u836F\u3002
+ \u3000\u30002.\u672C\u54C1\u53C8\u517C\u6709\u6ECB\u517B\u809D\u9634\u4E4B\u529F\uFF0C\u6545\u5BF9\u809D\u80BE\u9634\u865A\uFF0C\u9634\u4E0D\u655B\u9633\uFF0C\u4EE5\u81F4\u809D\u9633\u4EA2\u75DB\uFF0C\u5934\u75DB\u3001\u7729\u6655\u4E4B\u75C7\u5C24\u4E3A\u9002\u5B9C\u3002
+ \u3000\u3000 \u3000\u3000\u2022\u60CA\u98CE\u62BD\u6410 \u3000\u30001.\u77F3\u51B3\u660E\u54B8\u5BD2\u5165\u809D\u7ECF\uFF0C\u65E2\u53EF\u6E05\u809D\uFF0C\u8865\u809D;\u53C8\u80FD\u9547\u809D\uFF0C\u5E73\u809D\uFF0C\u6545\u5BF9\u809D\u9634\u4E0D\u8DB3\uFF0C\u865A\u9633\u4E0A\u8D8A\u6216\u809D\u9633\u72EC\u4EA2\u6240\u81F4\u7684\u60CA\u98CE\u62BD\u6410\uFF0C\u6BCF\u591A\u6709\u6548\uFF0C\u91CF\u5927\u66F4\u663E\u8457\u3002
+ \u3000\u3000\u2022\u76EE\u8D64\u3001\u7FF3\u969C\u3001\u89C6\u7269\u660F\u82B1
+ \u3000\u30001.\u672C\u54C1\u4E3A\u6E05\u809D\u660E\u76EE\u8981\u836F\uFF0C\u6545\u7528\u4E8E\u76EE\u8D64\u80BF\u75DB\uFF0C\u7FF3\u819C\u906E\u775B\uFF0C\u89C6\u7269\u660F\u7CCA\u7B49\u75C7\uFF0C\u5C24\u4E3A\u76F8\u5B9C\u3002
+ \u3000\u3000\u2022\u9752\u76F2\u96C0\u76EE \u3000\u30001.\u77F3\u51B3\u660E\u517C\u5177\u6ECB\u9634\u517B\u809D\u9634\u4E4B\u6548\uFF0C\u53C8\u7528\u6CBB\u809D\u9634\u8840\u4E0D\u8DB3\uFF0C\u76EE\u5931\u6240\u517B\u4E4B\u96C0\u76EE\u591C\u76F2\u7B49\u75C7\u3002
+ \u3000\u3000\u89E3\u91CA: \u3000\u3000\u9752\u76F2:\u662F\u6307\u773C\u5916\u89C2\u6B63\u5E38\uFF0C\u552F\u89C6\u529B\u9010\u6E10\u4E0B\u964D\uFF0C\u6216\u89C6\u91CE\u7F29\u5C0F\uFF0C\u751A\u81F3\u5931\u660E\u7684\u5185\u969C\u75BE\u75C5\u3002
+ \u3000\u3000\u4E2D\u836F\u4F7F\u7528\u9700\u8981\u8FA8\u8BC1\u8BBA\u6CBB\u3001\u8FDB\u884C\u4E34\u5E8A\u4E2A\u4F53\u5316\u6CBB\u7597\u3002\u56E0\u6B64\uFF0C\u7528\u836F\u524D\u8BF7\u54A8\u8BE2\u4E13\u4E1A\u533B\u751F\uFF0C\u5728\u533B\u751F\u6307\u5BFC\u4E0B\u89C4\u8303\u7528\u836F\u3002
+ \u3000\u3000\u4F7F\u7528\u65B9\u6CD5: \u3000\u3000\u77F3\u51B3\u660E\u4E00\u822C\u4F7F\u7528\u77F3\u51B3\u660E\u996E\u7247\uFF0C\u53EF\u5185\u670D\uFF0C\u4E5F\u53EF\u5916\u7528\u3002\u5177\u4F53\u7528\u836F\u8BF7\u9075\u533B\u5631\u3002
+ \u3000\u3000\u914D\u4F0D\u7981\u5FCC: \u3000\u3000 \u3000\u30001.\u77F3\u51B3\u660E\u53CD\u4E91\u6BCD\uFF0C\u754F\u65CB\u8986\u82B1\uFF0C\u6C38\u4E0D\u5F97\u4E0E\u5C71\u6843\u540C\u98DF\u3002
+ \u3000\u30002.\u4E2D\u836F\u8054\u5408\u4F7F\u7528\u53CA\u4E2D\u897F\u836F\u8054\u5408\u4F7F\u7528\uFF0C\u9700\u8981\u8FA8\u8BC1\u8BBA\u6CBB\u3001\u4E34\u5E8A\u4E2A\u4F53\u5316\u6CBB\u7597\u3002
+ \u3000\u30003.\u5982\u679C\u60A8\u6B63\u5728\u4F7F\u7528\u5176\u4ED6\u836F\u7269\uFF0C\u7528\u836F\u524D\u8BF7\u54A8\u8BE2\u533B\u751F\uFF0C\u5E76\u5C06\u60A8\u6240\u6709\u5DF2\u786E\u8BCA\u7684\u75BE\u75C5\u53CA\u6B63\u5728\u63A5\u53D7\u7684\u6CBB\u7597\u65B9\u6848\u544A\u77E5\u533B\u751F\u3002
+ \u3000\u3000\u7528\u836F\u987B\u77E5: \u3000\u3000 \u3000\u3000\u77F3\u51B3\u660E\u54B8\u5BD2\u6613\u4F24\u813E\u80C3\uFF0C\u6545\u813E\u80C3\u865A\u5BD2\u3001\u98DF\u5C11\u4FBF\u6E8F\u8005\u614E\u670D\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/石决明.asset.meta b/WuHu_touming/Assets/Conf/menuitem/动物/石决明.asset.meta
new file mode 100644
index 0000000..8419bd4
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/石决明.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1e9be5074efe4d94c925dc5f72db6580
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/羚羊角.asset b/WuHu_touming/Assets/Conf/menuitem/动物/羚羊角.asset
new file mode 100644
index 0000000..4cced8b
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/羚羊角.asset
@@ -0,0 +1,36 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u7F9A\u7F8A\u89D2"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: c68dd3d403216814698ce4ed51fe1c97, type: 3}
+ - {fileID: 21300000, guid: 585ff128ca904bc43ab3476efbf2c1a7, type: 3}
+ go: {fileID: 7393176500251957794, guid: 3bed1013db8d6af4ebbb91a662413351, type: 3}
+ name_CN: "\u7F9A\u7F8A\u89D2"
+ name_LT: Saiga tatarica Linnaeus
+ synopsis: "\u3000\u3000\u7F9A\u7F8A\u89D2\uFF0C\u4E2D\u836F\u540D\u3002\u672C\u54C1\u4E3A\u96C4\u6027\u725B\u79D1\u52A8\u7269\u8D5B\u52A0\u7F9A\u7F8ASaigatataricaLinnaeus\u7684\u89D2\u3002\u8D5B\u52A0\u7F9A\u7F8A\u88AB\u5217\u5165\u300A\u4E16\u754C\u81EA\u7136\u4FDD\u62A4\u8054\u76DF\u300B\uFF08IUCN\uFF092012\u5E74\u6FD2\u5371\u7269\u79CD\u7EA2\u8272\u540D\u5F55ver3.1\u2014\u2014\u6781\u5371\uFF08CR\uFF09\uFF0C\u4E25\u7981\u72E9\u730E\u3002\u5206\u5E03\u4E8E\u65B0\u7586\u897F\u5317\u90E8\u7684\u8FB9\u5883\u5730\u533A\u3002\u5177\u6709\u5E73\u809D\u606F\u98CE\uFF0C\u6E05\u809D\u660E\u76EE\uFF0C\u6563\u8840\u89E3\u6BD2\u4E4B\u529F\u6548\u3002\u5E38\u7528\u4E8E\u809D\u98CE\u5185\u52A8\uFF0C\u60CA\u75EB\u62BD\u6410\uFF0C\u598A\u5A20\u5B50\u75EB\uFF0C\u9AD8\u70ED\u75C9\u53A5\uFF0C\u766B\u75EB\u53D1\u72C2\uFF0C\u5934\u75DB\u7729\u6655\uFF0C\u76EE\u8D64\u7FF3\u969C\uFF0C\u6E29\u6BD2\u53D1\u6591\uFF0C\u75C8\u80BF\u75AE\u6BD2\u3002
+ \u3000\u3000\u6027\u5473:
+ \u3000\u3000\u5473\u54B8\uFF0C\u6027\u5BD2\u3002
+ \u3000\u3000\u5F52\u7ECF:
+ \u3000\u3000\u5F52\u809D\u3001\u5FC3\u7ECF\u3002
+ \u3000\u3000\u529F\u6548: \u3000\u3000\u5E73\u809D\u606F\u98CE\uFF0C\u6E05\u809D\u660E\u76EE\uFF0C\u6563\u8840\u89E3\u6BD2\u3002
+ \u3000\u3000\u4E3B\u6CBB: \u3000\u3000\u7528\u4E8E\u809D\u98CE\u5185\u52A8\uFF0C\u60CA\u75EB\u62BD\u6410\uFF0C\u598A\u5A20\u5B50\u75EB\uFF0C\u9AD8\u70ED\u75C9\u53A5\uFF0C\u766B\u75EB\u53D1\u72C2\uFF0C\u5934\u75DB\u7729\u6655\uFF0C\u76EE\u8D64\u7FF3\u969C\uFF0C\u6E29\u6BD2\u53D1\u6591\uFF0C\u75C8\u80BF\u75AE\u6BD2\u3002
+ \u3000\u3000\u76F8\u5173\u914D\u4F0D: \u3000\u30001\u3001\u6CBB\u809D\u4E2D\u98CE\uFF0C\u7B4B\u8109\u62D8\u6025\uFF0C\u820C\u5F3A\u8BED\u6DA9\uFF1A\u7F9A\u7F8A\u89D2\u5C51\u4E00\u4E24\uFF0C\u72EC\u6D3B\u4E00\u4E24\uFF0C\u9644\u5B50\u4E00\u4E24\uFF08\u70AE\u88C2\u53BB\u76AE\u3001\u8110\uFF09\u3002\u4E0A\u4E3A\u672B\u3002\u6BCF\u670D\u4E09\u94B1\u3002\u6C34\u4E00\u4E2D\u76CF\uFF0C\u5165\u751F\u59DC\u534A\u5206\uFF0C\u540C\u714E\u81F3\u516D\u5206\uFF0C\u53BB\u6ED3\uFF0C\u5165\u7AF9\u6CA5\u4E00\u5408\uFF0C\u66F4\u714E\u4E00\u4E8C\u6CB8\u3002\u6E29\u670D\u3002(\u300A\u592A\u5E73\u5723\u60E0\u65B9\u300B)
+ \u3000\u30002\u3001\u6CBB\u4F24\u5BD2\u65F6\u6C14\uFF0C\u5BD2\u70ED\u4F0F\u70ED\uFF0C\u6C57\u3001\u5410\u3001\u4E0B\u540E\u4F59\u70ED\u4E0D\u9000\uFF0C\u6216\u5FC3\u60CA\u72C2\u52A8\uFF0C\u70E6\u4E71\u4E0D\u5B81\uFF0C\u6216\u8C35\u8BED\u65E0\u4F26\uFF0C\u4EBA\u60C5\u98A0\u5012\uFF0C\u8109\u4ECD\u6570\u6025\uFF0C\u8FC1\u5EF6\u4E0D\u6108\uFF1A\u7F9A\u7F8A\u89D2\u78E8\u6C41\u534A\u76CF\uFF0C\u4EE5\u7518\u8349\u3001\u706F\u82AF\u5404\u4E00\u94B1\uFF0C\u714E\u6C64\u548C\u670D\u3002\uFF08\u300A\u65B9\u8109\u6B63\u5B97\u300B\uFF09
+ \u3000\u3000\u7528\u6CD5\u7528\u91CF: \u3000\u30001\uFF5E3g\uFF0C\u5B9C\u53E6\u714E2\u5C0F\u65F6\u4EE5\u4E0A\uFF1B\u78E8\u6C41\u6216\u7814\u7C89\u670D\uFF0C\u6BCF\u6B21O.3\uFF5EO.6g\u3002
+ \u3000\u3000\u7981\u5FCC:
+ \u3000\u3000\u813E\u865A\u6162\u60CA\u60A3\u8005\u7981\u670D\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/羚羊角.asset.meta b/WuHu_touming/Assets/Conf/menuitem/动物/羚羊角.asset.meta
new file mode 100644
index 0000000..b146221
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/羚羊角.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 39bc6e8c02bbdc74a9335092be33b88d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/蜈蚣.asset b/WuHu_touming/Assets/Conf/menuitem/动物/蜈蚣.asset
new file mode 100644
index 0000000..7e1ed0d
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/蜈蚣.asset
@@ -0,0 +1,29 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u8708\u86A3"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 2d7901bedf336a54a83614fdc3172ec2, type: 3}
+ - {fileID: 21300000, guid: 593a2dfc435152e4087f4885d9268baa, type: 3}
+ go: {fileID: 4830233448714348105, guid: 31df6f8924831e244a39faf004e6925f, type: 3}
+ name_CN: "\u8708\u86A3"
+ name_LT: Scolopendra subspinipes
+ synopsis: "\u3000\u3000\u8708\u86A3\u4E3A\u9646\u751F\u8282\u80A2\u52A8\u7269\uFF0C\u8EAB\u4F53\u7531\u8BB8\u591A\u4F53\u8282\u7EC4\u6210\uFF0C\u6BCF\u4E00\u8282\u4E0A\u5747\u957F\u6709\u6B65\u8DB3\uFF0C\u6545\u4E3A\u591A\u8DB3\u751F\u7269\u3002\u8708\u86A3\u53C8\u540D\u53EB\u5929\u9F99\u3001\u767E\u811A\u866B\u3001\u5C11\u68D8\u8708\u86A3\u3001\u5434\u516C\u3001\u874D\u86C6\u7B49\uFF0C\u662F\u4E00\u79CD\u6709\u6BD2\u817A\u7684\u3001\u63A0\u98DF\u6027\u7684\u9646\u751F\u8282\u80A2\u52A8\u7269\u3002\u5E38\u89C1\u7684\u8708\u86A3\u6709\u7EA2\u5934\u3001\u9752\u5934\u3001\u9ED1\u5934\u4E09\u79CD\u3002\u7EA2\u5934\u7684\u80CC\u90E8\u5448\u7EA2\u9ED1\u8272\uFF0C\u8179\u90E8\u73B0\u6DE1\u7EA2\u8272\uFF0C\u8DB3\u4E3A\u6DE1\u6A58\u7EA2\u8272\u6216\u9EC4\u8272\u3002\u9752\u5934\u7684\u80CC\u90E8\u548C\u8DB3\u90E8\u5448\u84DD\u8272\uFF0C\u8179\u90E8\u6DE1\u84DD\u8272\uFF0C\u4F53\u578B\u5C0F\uFF0C\u957F\u5EA6\u7EA6\u4E3A\u7EA2\u5934\u8708\u86A3\u7684\u4E8C\u5206\u4E4B\u4E00\u3002
+ \u3000\u3000\u9ED1\u5934\u8708\u86A3\u80CC\u90E8\u548C\u8DB3\u90E8\u5448\u9ED1\u8272\uFF0C\u8179\u6DE1\u9EC4\u8272\uFF0C\u4F53\u578B\u66F4\u5C0F\u3002\u4E0A\u8FF0\u4E09\u79CD\u4EE5\u7EA2\u5934\u8708\u86A3\u6700\u4F73\uFF0C\u4F53\u578B\u5927\uFF0C\u4EA7\u91CF\u9AD8\uFF0C\u6027\u60C5\u6E29\u987A\uFF0C\u9002\u5E94\u6027\u5F3A\uFF0C\u751F\u957F\u5FEB\u3002\u4E00\u822C\u5728\u519C\u6751\u8F83\u4E3A\u591A\u89C1\uFF0C\u5E38\u4F4D\u4E8E\u6F6E\u6E7F\u7684\u5899\u89D2\u3001\u7816\u5757\u4E0B\u3001\u70C2\u6811\u53F6\u4E0B\u3001\u7834\u65E7\u6F6E\u6E7F\u7684\u623F\u5C4B\u4E2D\u7B49\uFF0C\u5728\u590F\u5929\u8F83\u4E3A\u5E38\u89C1\u3002\u8708\u86A3\u662F\u8089\u98DF\u6027\u52A8\u7269\uFF0C\u98DF\u8C31\u8303\u56F4\u6BD4\u8F83\u5E7F\u6CDB\uFF0C\u5C24\u5176\u559C\u6B22\u6355\u98DF\u5404\u79CD\u6606\u866B\u3002\u8708\u86A3\u6709\u6BD2\u817A\u5206\u6CCC\u6BD2\u6DB2\uFF0C\u672C\u8EAB\u53EF\u5165\u836F\u7528\u3002\u9002\u5B9C\u4EBA\u5DE5\u9972\u517B\u3002\u300A\u672C\u8349\u7EB2\u76EE\u300B\u66F0\uFF1A\u201C\u8708\u86A3\uFF0C\u897F\u5357\u5904\u5904\u6709\u4E4B\uFF0C\u6625\u51FA\u51AC\u86F0\uFF0C\u8282\u8282\u6709\u8DB3\uFF0C\u53CC\u987B\u5C90\u5C3E\u3002\u201D\u901A\u5E38\u8EAB\u4F53\u5F88\u957F\uFF0C\u5E76\u4E14\u6709\u8BB8\u591A\u5BF9\u6B65\u8DB3\u3002\u300A\u672C\u8349\u884D\u4E49\u300B\u79F0\uFF1A\u201C\u8708\u86A3\u80CC\u5149\u9ED1\u7EFF\u8272\uFF0C\u8DB3\u8D64\uFF0C\u8179\u4E0B\u9EC4\u3002\u201D\u8708\u86A3\u4E0E\u86C7\u3001\u874E\u3001\u58C1\u864E\u3001\u87FE\u870D\u5E76\u79F0\u201C\u4E94\u6BD2\u201D\u3002
+ \u3000\u3000\u4F53\u578B\u7279\u5F81: \u3000\u3000\u8708\u86A3\u7684\u811A\u5448\u94A9\u72B6\uFF0C\u9510\u5229\uFF0C\u94A9\u7AEF\u6709\u6BD2\u817A\u53E3\uFF0C\u4E00\u822C\u79F0\u4E3A\u816D\u7259\u3001\u7259\u722A\u6216\u6BD2\u80A2\u7B49\uFF0C\u80FD\u6392\u51FA\u6BD2\u6C41\u3002\u88AB\u8708\u86A3\u54AC\u4F24\u540E\uFF0C\u5176\u6BD2\u817A\u5206\u6CCC\u51FA\u5927\u91CF\u6BD2\u6DB2\uFF0C\u987A\u816D\u7259\u7684\u6BD2\u817A\u53E3\u6CE8\u5165\u88AB\u54AC\u8005\u76AE\u4E0B\u800C\u81F4\u4E2D\u6BD2\uFF0C\u6BD2\u7D20\u4E0D\u5F3A\uFF0C\u88AB\u8707\u540E\u4F1A\u9020\u6210\u75BC\u75DB\u4F46\u4E0D\u4F1A\u81F4\u547D\u3002
+ \u3000\u3000\u836F\u7528\u8708\u86A3\u662F\u5927\u578B\u5507\u8DB3\u7C7B\u591A\u8DB3\u52A8\u7269\uFF0C\u53EA\u670921\u5BF9\u6B65\u8DB3\u548C1\u5BF9\u989A\u8DB3\uFF1B\u201C\u94B1\u4E32\u5B50\u201D\u662F\u8708\u86A3\u8FD1\u4EB2\uFF0C\u5B66\u540D\u86B0\u8712\uFF0C\u53EA\u670915\u5BF9\u6B65\u8DB3\u548C1\u5BF9\u989A\u8DB3\uFF1B\u201C\u77F3\u8708\u86A3\u201D\u4E5F\u53EA\u670915\u5BF9\u6B65\u8DB3\u3002
+ \u3000\u3000\u6BD2\u7D20\u6210\u5206: \u3000\u3000\u542B\u4E24\u79CD\u7C7B\u4F3C\u8702\u6BD2\u7684\u6709\u6BD2\u6210\u5206\uFF0C\u5373\u7EC4\u80FA\uFF08Histamine\uFF09\u6837\u7269\u8D28\u53CA\u6EB6\u8840\u6027\u86CB\u767D\u8D28\uFF1B\u5C1A\u542B\u8102\u80AA\u6CB9\u3001\u80C6\u56FA\u9187\uFF08Cholesterol\uFF09\u3001\u8681\u9178\uFF08Formicacid\uFF09\u7B49\uFF0E\u4EA6\u66FE\u5206\u79BB\u51FA\u03B4-\u7F9F\u57FA\u8D56\u6C28\u9178\uFF08\u03B4-Hydroxylysine\uFF09\uFF1B\u6C28\u57FA\u9178\u6709\u7EC4\u6C28\u9178\u3001\u7CBE\u6C28\u9178\u3001\u9E1F\u6C28\u9178\u3001\u8D56\u6C28\u9178\u3001\u7518\u6C28\u9178\u3001\u4E19\u6C28\u9178\u3001\u7F2C\u6C28\u9178\u3001\u4EAE\u6C28\u9178\u3001\u82EF\u4E19\u6C28\u9178\u3001\u4E1D\u6C28\u9178\u3001\u725B\u78FA\u9178\uFF08Taurine\uFF09\u3001\u8C37\u6C28\u9178\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/蜈蚣.asset.meta b/WuHu_touming/Assets/Conf/menuitem/动物/蜈蚣.asset.meta
new file mode 100644
index 0000000..353634d
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/蜈蚣.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 379f8df6292680f4a985d93f33f6078e
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/蝎子.asset b/WuHu_touming/Assets/Conf/menuitem/动物/蝎子.asset
new file mode 100644
index 0000000..5ce633c
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/蝎子.asset
@@ -0,0 +1,31 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u874E\u5B50"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: e030bb36699b3214c84839a4231566a1, type: 3}
+ - {fileID: 21300000, guid: cbb3f5ff0081814478309315bf5316c6, type: 3}
+ go: {fileID: 7025116202620301968, guid: ae406be525ad45847a076d5130f64a6e, type: 3}
+ name_CN: "\u874E\u5B50"
+ name_LT: Scorpio
+ synopsis: "\u3000\u3000\u874E\u5B50\u662F\u52A8\u7269\u754C\u8282\u80A2\u52A8\u7269\u95E8\u86DB\u5F62\u7EB2\u874E\u76EE\u79CD\u7C7B\u7684\u7EDF\u79F0\uFF0C\u8718\u86DB\u4EA6\u540C\u5C5E\u86DB\u5F62\u7EB2\u3002\u5B83\u4EEC\u5178\u578B\u7684\u7279\u5F81\u5305\u62EC\u7626\u957F\u7684\u8EAB\u4F53\u3001\u87AF\u3001\u5F2F\u66F2\u5206\u6BB5\u4E14\u5E26\u6709\u6BD2\u523A\u7684\u5C3E\u5DF4\uFF08\u540E\u8179\u90E8\uFF09\u3002\u9646\u5730\u4E0A\u6700\u65E9\u7684\u874E\u5B50\u7EA6\u51FA\u73B0\u4E8E\u56DB\u4EBF\u4E09\u5343\u4E07\u5E74\u524D\u7684\u5E0C\u7559\u5229\u4E9A\u7EAA(\u5FD7\u7559\u7EAA)\u3002\u4EFB\u4F55\u874E\u5B50\u90FD\u6709\u6BD2\uFF0C\u6BD2\u6027\u5927\u5C0F\u4E0D\u540C\uFF0C\u62E5\u6709\u8F83\u5C0F\u87AF\u7684\u5C0F\u578B\u874E\u5B50\u6BD4\u6709\u5927\u87AF\u7684\u5927\u578B\u874E\u5B50\u6BD2\u6027\u66F4\u5F3A\u3002\u6BD2\u6027\u6700\u5C0F\u7684\u874E\u5B50\u662F\u516B\u91CD\u874E\uFF08\u6FB3\u94FE\u5C3E\u874E\uFF0CLiochelesaustralasiae\uFF09\u3002
+ \u3000\u3000\u874E\u5B50\u7F8E\u79F0\u5C71\u867E\u3001\u94B3\u874E\uFF0C\u636E\u300A\u672C\u8349\u7EB2\u76EE\u300B\u8BE6\u7EC6\u8BB0\u8F7D\u5168\u874E\u5177\u6709\"\u606F\u98CE\u9547\u75C9\uFF0C\u653B\u6BD2\u6563\u7ED3\uFF0C\u901A\u7EDC\u6B62\u75DB\"\u4E4B\u529F\u6548\u3002\u5BF9\u53E3\u773C\u6B6A\u659C\u3001\u98CE\u6E7F\u3001\u80A9\u5468\u708E\u7B49\u75C5\u75C7\u5177\u6709\u663E\u8457\u7597\u6548\uFF0C\u5E76\u6709\u9632\u764C\u3001\u6297\u764C\u4E4B\u529F\u6548\u3002
+ \u5206\u5E03\u8303\u56F4: \u3000\u3000\u874E\u5B50\u591A\u751F\u6D3B\u4E8E\u7247\u72B6\u5CA9\u6742\u4EE5\u6CE5\u571F\u7684\u5C71\u5761\u3001\u4E0D\u5E72\u4E0D\u6E7F\u3001\u690D\u88AB\u7A00\u758F\uFF0C\u6709\u4E9B\u8349\u548C\u704C\u6728\u7684\u5730\u65B9\uFF0C\u8FD8\u6709\u4E9B\u751F\u6D3B\u5728\u70ED\u5E26\u96E8\u6797\u4E0E\u6C99\u6F20\u3002\u5728\u6811\u6728\u6210\u6797\u3001\u6742\u8349\u4E1B\u751F\u3001\u8FC7\u4E8E\u6F6E\u6E7F\u3001\u65E0\u77F3\u571F\u5C71\u6216\u65E0\u571F\u77F3\u5C71\u3001\u4EE5\u53CA\u8682\u8681\u591A\u7684\u5730\u65B9\uFF0C\u874E\u5C11\u6216\u65E0\u3002\u5B83\u4EEC\u5C45\u4F4F\u5728\u5929\u7136\u7684\u7F1D\u9699\u6216\u6D1E\u7A74\u5185\uFF0C\u4F46\u4E5F\u80FD\u7528\u524D3\u5BF9\u6B65\u8DB3\u548C\u5C3E\u5DF4\u6316\u6D1E\u3002\u4E1C\u4E9A\u94B3\u874E\u4E00\u822C\u572811\u6708\u4E0A\u65EC\u5165\u86F0\uFF0C\u7FCC\u5E744\u6708\u4E2D\u4E0B\u65EC\u51FA\u86F0\u3002\u5168\u5E74\u6D3B\u52A8\u671F6\u4E2A\u591A\u6708\u3002\u663C\u4F0F\u591C\u51FA\uFF0C\u591A\u5728\u65E5\u843D\u540E\u81F3\u534A\u591C\u95F4\u51FA\u6765\u6D3B\u52A8\uFF0C\u4F46\u5FC5\u987B\u662F\u6E29\u6696\u65E0\u98CE\u3001\u5730\u9762\u5E72\u71E5\u7684\u591C\u665A\u3002\u572835\u2103\u4EE5\u5185\u6709\u660E\u663E\u7684\u8D8B\u6E29\u6027\uFF0C\u572810\u2103\u4EE5\u4E0B\u8FDB\u5165\u51AC\u7720\u3002\u89C6\u89C9\u8FDF\u949D\u3002\u884C\u8D70\u65F6\uFF0C\u5C3E\u5E73\u5C55\uFF0C\u4EC5\u5C3E\u8282\u5411\u4E0A\u5377\u8D77\u3002\u9759\u6B62\u65F6\uFF0C\u6574\u4E2A\u5C3E\u90E8\u5377\u8D77\uFF0C\u5C3E\u8282\u6298\u53E0\u4E8E\u524D\u4F53\u90E8\u7B2C5\u8282\u7684\u80CC\u9762\uFF0C\u6BD2\u9488\u524D\u7AEF\u6307\u5411\u524D\u65B9\u3002\u53D7\u60CA\u5413\u65F6\uFF0C\u5C3E\u90E8\u4F7F\u52B2\u5411\u540E\u5F39\uFF0C\u4F5C\u523A\u543B\u72B6\u3002\u6C99\u6F20\u874E\u80FD\u9002\u5E94\u6781\u5E72\u65F1\u7684\u73AF\u5883\uFF0C\u6709\u8BB8\u591A\u8425\u7A74\u5C45\u751F\u6D3B\uFF0C\u81F4\u6B7B\u6E29\u5EA6\u9AD8\u8FBE45\uFF5E47\u2103\u3002\u6C34\u5206\u81EA\u4F53\u8868\u84B8\u53D1\u91CF\u8F83\u4F4E\uFF0C\u572825\u2103\u65F6\uFF0C\u6BCF\u5C0F\u65F6\u4EC5\u635F\u59310.01%\u7684\u6C34\u3002\u6709\u7684\u874E\u4E0D\u65F6\u4ECE\u5730\u9762\u4E0A\u62AC\u8D77\u8EAB\u4F53\uFF0C\u4F7F\u4F53\u4E0B\u7A7A\u6C14\u6D41\u52A8\uFF0C\u907F\u514D\u4F53\u6E29\u8FC7\u5206\u5347\u9AD8\u548C\u5E72\u71E5\u3002
+ \u3000\u3000\u76EE\u524D\uFF0C\u5DF2\u77E5\u874E\u5B50\u79CD\u7C7B\u67096\u79D1\uFF0C70\u5C5E\uFF0C1700\u4F59\u79CD\uFF0C\u4E16\u754C\u5404\u5730\u5747\u6709\u5206\u5E03\u3002\u5982\u57C3\u53CA\u7684\u4E94\u6761\u7EB9\u874E\u3001\u7F8E\u56FD\u5357\u90E8\u7684\u5361\u7F57\u83B1\u5C3C\u874E\u3001\u6B27\u6D32\u7684\u610F\u5927\u5229\u874E\u3001\u58A8\u897F\u54E5\u874E\u53CA\u82CF\u592B\u65AF\u874E\u53CA\u4E2D\u56FD\u7684\u4E1C\u4E9A\u94B3\u874E\uFF0C\u5747\u5C5E\u4E16\u754C\u8457\u540D\u7684\u874E\u5B50\u54C1\u79CD\u3002\u6211\u56FD\u7EA6\u670915\u4F59\u79CD\uFF0C\u4E3B\u8981\u4E3A\u4E1C\u4E9A\u94B3\u874E\u3002\u5C5E\u4E8E\u94B3\u874E\u79D1\uFF0C\u6B63\u94B3\u874E\u5C5E\u3002\u4E1C\u4E9A\u94B3\u874E\u53C8\u540D\u8FDC\u4E1C\u874E\uFF0C\u56E0\u5176\u540E\u8179\u90E8\u8282\u4E0A\u7684\u7EB5\u6C9F\u5F62\u72B6\u548C\u95EE\u8346\u76F8\u4F3C\uFF0C\u6545\u53C8\u6709\u95EE\u8346\u874E\u4E4B\u79F0\u3002
+ \u3000\u3000\u836F\u7528\u4EF7\u503C: \u3000\u3000\u874E\u5B50\u7684\u836F\u7528\u4EF7\u503C\uFF1A\u300A\u5F00\u5B9D\u672C\u8349\u300B\u4E2D\u66F0\uFF1A\u201C\u5473\u7518\u3001\u8F9B\u3002\u6027\u5E73\uFF0C\u6709\u6BD2\u3002\u4E3B\u6CBB\u8BF8\u98CE\u75B9\u53CA\u4E2D\u98CE\u3001\u534A\u8EAB\u4E0D\u9042\u3001\u53E3\u773C\u6B6A\u659C\u3001\u8BED\u6DA9\u3001\u624B\u8DB3\u62BD\u6410\u3002\u201D\u5168\u874E\u4E3A\u6CBB\u98CE\u8981\u836F\uFF0C\u5177\u6709\u9A71\u98CE\uFF0C\u9547\u60CA\u53CA\u653B\u6BD2\u4E4B\u529F\u80FD\uFF0C\u874E\u5B50\u7684\u836F\u7528\u4EF7\u503C\u4E3B\u8981\u5728\u5B83\u7684\u836F\u7406\u6BD2\u7D20\u6210\u5206\u3002\u73B0\u5168\u874E\u5165\u836F\u7684\u4E2D\u897F\u836F\u7EA6150\u4F59\u79CD\u3002\u874E\u6BD2\u4EE5\u6CBB\u75DB\u75C7\u800C\u8457\u79F0\uFF0C\u5E7F\u6CDB\u4F7F\u7528\u4E8E\u5FC3\u8111\u8840\u7BA1\u75BE\u75C5\u3002\u56FD\u5916\u4E00\u4E9B\u533B\u836F\u673A\u6784\u5DF2\u5C06\u5176\u836F\u6548\u5217\u5165\u653B\u514B\u764C\u75C7\u7684\u8BFE\u9898\u7814\u7A76\u3002
+ \u3000\u3000\u5168\u874E\u7684\u836F\u7528\u4EF7\u503C\u5F88\u9AD8\uFF0C\u7528\u5168\u874E\u914D\u6210\u7684\u4E2D\u836F\u5904\u65B9\u591A\u8FBE100\u591A\u79CD\u3002\u5168\u874E\u662F\u4EBA\u53C2\u518D\u9020\u4E38\u3001\u5927\u6D3B\u7EDC\u4E39\u3001\u4E03\u73CD\u4E39\u3001\u4FDD\u5B89\u4E07\u7075\u4E39\u3001\u7275\u6B63\u6563\u7B4930\u591A\u79CD\u4E2D\u6210\u836F\u7684\u91CD\u8981\u539F\u6599\uFF0C\u662F\u6211\u56FD\u4E2D\u533B\u4E34\u5E8A\u5E38\u7528\u7684\u52A8\u7269\u836F\u6750\u3002\u7279\u522B\u662F\u8FD1\u51E0\u5E74\uFF0C\u5168\u874E\u5728\u6CBB\u7597\u7591\u96BE\u75C5\u75C7\u4E0A\u53D1\u73B0\u6709\u663E\u8457\u7684\u7597\u6548\uFF0C\u5982\u5168\u874E\u53EF\u6CBB\u7597\u8109\u7BA1\u708E\u3001\u8840\u6813\u95ED\u585E\uFF0C\u874E\u6BD2\u53EF\u6CBB\u7597\u5FC3\u8840\u7BA1\u75C5\u3001\u5404\u79CD\u80BF\u7624\u3001\u4E09\u53C9\u795E\u7ECF\u75DB\u7B49\u3002\u8FD9\u4E9B\u5E94\u7528\u4F7F\u874E\u5B50\u7684\u9700\u6C42\u91CF\u6025\u5267\u589E\u52A0\u3002\u9664\u836F\u7528\u5916\uFF0C\u5168\u874E\u8FD8\u53EF\u4EE5\u5236\u6210\u6ECB\u8865\u98DF\u54C1\u3002\u968F\u7740\u793E\u4F1A\u7269\u8D28\u6587\u660E\u7684\u8FDB\u6B65\uFF0C\u874E\u5B50\u4F5C\u4E3A\u6CBB\u7597\u3001\u4FDD\u5065\u4F73\u54C1\uFF0C\u500D\u53D7\u4EBA\u4EEC\u5173\u6CE8\u3002\u874E\u5B50\u9152\u3001\u874E\u5B50\u7F50\u5934\u3001\u901F\u51BB\u5168\u874E\u3001\u874E\u7C89\u4FDD\u5065\u54C1\u76F8\u7EE7\u95EE\u4E16\uFF0C\u201C\u6CB9\u70B8\u5168\u874E\u201D\u51FA\u73B0\u5728\u8BB8\u591A\u5BB4\u5E2D\u4E0A\u3002\u6B64\u5916\uFF0C\u968F\u533B\u5B66\u7684\u53D1\u5C55\uFF0C\u874E\u6BD2\u7684\u4F5C\u7528\u88AB\u5E7F\u6CDB\u8BA4\u8BC6\uFF0C\u874E\u6BD2\u6BD4\u9EC4\u91D1\u8FD8\u8D35\uFF0C\u6BCF\u5343\u514B\u7EA615\u4E07\u5143\u30021\u4E07\u53EA\u6210\u874E\u6BCF\u5E74\u53EF\u63D0\u6BD2480\u514B\uFF0C\u56E0\u6B64\uFF0C\u874E\u6BD2\u7684\u836F\u7528\u4EF7\u503C\u8FDC\u8FDC\u9AD8\u4E8E\u874E\u5B50\u672C\u8EAB\u3002\u591A\u5E74\u6765\uFF0C\u874E\u5B50\u5E02\u573A\u4F9B\u7ED9\u591A\u4F9D\u8D56\u91CE\u751F\u6355\u6349\uFF0C\u4F46\u968F\u7740\u5316\u80A5\u3001\u519C\u836F\u7684\u5927\u91CF\u4F7F\u7528\uFF0C\u91CE\u751F\u874E\u5B50\u751F\u6001\u73AF\u5883\u53D7\u5230\u7834\u574F\uFF0C\u81EA\u7136\u79CD\u7FA4\u6570\u91CF\u6025\u5267\u51CF\u5C11\uFF0C\u5E02\u573A\u4F9B\u4E0D\u5E94\u6C42\u3002\u5168\u56FD\u4EA7\u91CF\u4EC5\u80FD\u6EE1\u8DB3\u9700\u8981\u768430%\u5DE6\u53F3\uFF0C\u5E02\u573A\u4EF7\u683C\u7A33\u4E2D\u6709\u5347\u3002
+ \u3000\u3000\u5C3E\u523A\uFF08sting\uFF09\u662F\u4E3B\u8981\u836F\u7528\u90E8\u4F4D\uFF0C\u4EA6\u540D\u6BD2\u523A\u3001\u6BD2\u9488\u3001\u87AB\u523A\uFF0C\u4F4D\u4E8E\u8EAB\u8EAF\u7684\u6700\u672B\u4E00\u8282\u3002\u5B83\u662F\u7531\u4E00\u4E2A\u7403\u5F62\u7684\u5E95\u53CA\u4E00\u4E2A\u5C16\u800C\u5F2F\u66F2\u7684\u94A9\u523A\u6240\u7EC4\u6210\uFF0C\u4ECE\u94A9\u523A\u5C16\u7AEF\u7684\u9488\u773C\u72B6\u5F00\u53E3\u5C04\u51FA\u6BD2\u6DB2\u3002\u874E\u6BD2\u6DB2\u662F\u7531\u4E00\u5BF9\u5375\u5706\u5F62\u3001\u4F4D\u4E8E\u7403\u5F62\u5E95\u90E8\u7684\u6BD2\u817A\u6240\u4EA7\u751F\uFF0C\u6BD2\u817A\u7684\u7EC6\u7BA1\u4E0E\u94A9\u9488\u5C16\u7AEF\u7684\u4E24\u4E2A\u9488\u773C\u72B6\u5F00\u53E3\uFF08\u6BD2\u817A\u5B54\uFF09\u76F8\u8FDE\u3002\u6BCF\u4E00\u4E2A\u817A\u4F53\u5916\u9762\u5305\u6709\u4E00\u8584\u5C42\u5E73\u6ED1\u808C\u7EA4\u7EF4\uFF0C\u501F\u52A9\u808C\u8089\u5F3A\u70C8\u7684\u6536\u7F29\uFF0C\u7531\u6BD2\u817A\u5C04\u51FA\u6BD2\u6DB2\uFF0C\u7528\u4EE5\u81EA\u536B\u548C\u6740\u6B7B\u6355\u83B7\u7269\u3002\u300A\u672C\u8349\u884D\u4E49\u300B\u4E2D\u8BF4\uFF1A\u201C\u874E\uFF0C\u5927\u4EBA\u5C0F\u513F\u901A\u7528\uFF0C\u6CBB\u5C0F\u513F\u60CA\u98CE\u4E0D\u53EF\u9619\u4E5F\u3002\u201D\u6709\u7528\u5168\u8005\uFF0C\u6709\u53EA\u7528\u68A2\u8005\uFF0C\u68A2\u529B\u5C24\u529F\uFF0C\u6240\u8C13\u201C\u68A2\u529B\u5C24\u529F\u201D\uFF0C\u6307\u874E\u6BD2\u4E4B\u6548\u3002\u5C3E\u523A\u53EA\u80FD\u4E0A\u4E0B\u5782\u76F4\u6D3B\u52A8\uFF0C\u4E0D\u80FD\u5DE6\u53F3\u6446\u52A8\uFF0C\u638C\u63E1\u6B64\u70B9\uFF0C\u53EF\u4EE5\u7528\u5927\u62C7\u6307\u548C\u98DF\u6307\u6B63\u9762\u634F\u4F4F\u5C3E\u523A\uFF0C\u800C\u4E0D\u81F4\u88AB\u8707\u4F24\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/蝎子.asset.meta b/WuHu_touming/Assets/Conf/menuitem/动物/蝎子.asset.meta
new file mode 100644
index 0000000..caf6f75
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/蝎子.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f1b74cdf95413b84c850180ccdf1aa50
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/鹿角.asset b/WuHu_touming/Assets/Conf/menuitem/动物/鹿角.asset
new file mode 100644
index 0000000..5893e45
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/鹿角.asset
@@ -0,0 +1,40 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u9E7F\u89D2"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 088dafacfab0a3743b3bf78802079a14, type: 3}
+ - {fileID: 21300000, guid: b6be643c5934e994ea875764022aa34b, type: 3}
+ go: {fileID: 5583438999056991920, guid: 4c7dc298b139a874aa3f16b2e69bd83c, type: 3}
+ name_CN: "\u9E7F\u89D2"
+ name_LT: CervusmaoneilliLydekker
+ synopsis: "\u3000\u3000\u9E7F\u89D2\uFF0C\u4E2D\u836F\u540D\u3002\u4E3A\u9E7F\u79D1\u52A8\u7269\u9A6C\u9E7FCervuselaphusLinnaeus\u6216\u6885\u82B1\u9E7FCervusnipponTemminck\u5DF2\u9AA8\u5316\u7684\u89D2\u6216\u952F\u8338\u540E\u7FCC\u5E74\u6625\u5B63\u8131\u843D\u7684\u89D2\u57FA\uFF0C\u5206\u522B\u4E60\u79F0\u201C\u9A6C\u9E7F\u89D2\u201D\u3001\u201C\u6885\u82B1\u9E7F\u89D2\u201D\u3001\u201C\u9E7F\u89D2\u8131\u76D8\u201D\u3002\u5206\u5E03\u4E8E\u65B0\u7586\u3001\u9752\u6D77\u3001\u4E1C\u5317\u4E09\u7701\u7B49\u5730\u3002\u5177\u6709\u6E29\u80BE\u9633\uFF0C\u5F3A\u7B4B\u9AA8\uFF0C\u884C\u8840\u6D88\u80BF\u4E4B\u529F\u6548\u3002\u5E38\u7528\u4E8E\u80BE\u9633\u4E0D\u8DB3\uFF0C\u9633\u75FF\u9057\u7CBE\uFF0C\u8170\u810A\u51B7\u75DB\uFF0C\u9634\u75BD\u75AE\u75A1\uFF0C\u4E73\u75C8\u521D\u8D77\uFF0C\u7600\u8840\u80BF\u75DB\u7B49\u75C5\u75C7\u7684\u6CBB\u7597\u3002
+ \u3000\u3000\u6027\u5473:
+ \u3000\u3000\u5473\u54B8\uFF0C\u6027\u6E29\u3002
+ \u3000\u3000\u5F52\u7ECF:
+ \u3000\u3000\u5F52\u80BE\u3001\u809D\u7ECF\u3002
+ \u3000\u3000\u529F\u6548: \u3000\u3000\u6E29\u80BE\u9633\uFF0C\u5F3A\u7B4B\u9AA8\uFF0C\u884C\u8840\u6D88\u80BF\u3002
+ \u3000\u3000\u4E3B\u6CBB: \u3000\u3000\u7528\u4E8E\u80BE\u9633\u4E0D\u8DB3\uFF0C\u9633\u75FF\u9057\u7CBE\uFF0C\u8170\u810A\u51B7\u75DB\uFF0C\u9634\u75BD\u75AE\u75A1\uFF0C\u4E73\u75C8\u521D\u8D77\uFF0C\u7600\u8840\u80BF\u75DB\u3002
+ \u3000\u3000\u76F8\u5173\u914D\u4F0D\uFF1B \u3000\u3000\u6CBB\u80BE\u865A\u4F24\u51B7\uFF0C\u51B7\u6C14\u5165\u80BE\uFF0C\u8170\u75DB\u5982\u63A3\uFF1A\u9E7F\u89D2\u5C5130g\uFF08\u9165\u7099\uFF09\uFF0C\u9644\u5B5060g\uFF08\u70AE\uFF09\uFF0C\u6842\u5FC31g\u3002\u4E3A\u672B\uFF0C\u9152\u7CCA\u4E3A\u4E38\uFF0C\u68A7\u5B50\u5927\u3002\u76D0\u3001\u9152\u4E0B\u4E09\u4E94\u5341\u4E38\uFF0C\u7A7A\u5FC3\u670D\u3002(\u300A\u4E09\u56E0\u65B9\u300B\u9E7F\u89D2\u4E38)
+ \u3000\u3000\u7981\u5FCC\uFF1A \u3000\u3000\u9634\u865A\u706B\u65FA\u8005\u7981\u670D\u3002\u65E0\u7600\u8840\u505C\u7559\u8005\u4E0D\u5F97\u670D\uFF0C\u9633\u76DB\u9634\u865A\u8005\u5FCC\u4E4B\uFF0C\u80C3\u706B\u9F7F\u75DB\u8005\u4E0D\u5B9C\u670D\u3002
+ \u3000\u3000\u9274\u522B\uFF1A
+ \u3000\u3000\u2022\u836F\u6750\u6027\u72B6 \u3000\u30001\u3001\u9A6C\u9E7F\u89D2\uFF1A\u5448\u5206\u679D\u72B6\uFF0C\u901A\u5E38\u5206\u62104\uFF5E6\u679D\uFF0C\u5168\u957F50\uFF5E120cm\u3002\u4E3B\u679D\u5F2F\u66F2\uFF0C\u76F4\u5F843\uFF5E6cm\u3002\u57FA\u90E8\u76D8\u72B6\uFF0C\u4E0A\u5177\u4E0D\u89C4\u5219\u7624\u72B6\u7A81\u8D77\uFF0C\u4E60\u79F0\u201C\u73CD\u73E0\u76D8\u201D\uFF0C\u5468\u8FB9\u5E38\u6709\u7A00\u758F\u7EC6\u5C0F\u7684\u5B54\u6D1E\u3002\u4FA7\u679D\u591A\u5411\u4E00\u9762\u4F38\u5C55\uFF0C\u7B2C\u4E00\u679D\u4E0E\u73CD\u73E0\u76D8\u76F8\u8DDD\u8F83\u8FD1\uFF0C\u4E0E\u4E3B\u5E72\u51E0\u6210\u76F4\u89D2\u6216\u949D\u89D2\u4F38\u51FA\uFF0C\u7B2C\u4E8C\u679D\u9760\u8FD1\u7B2C\u4E00\u679D\u4F38\u51FA\uFF0C\u4E60\u79F0\u201C\u5750\u5730\u5206\u679D\u201D\uFF1B\u7B2C\u4E8C\u679D\u4E0E\u7B2C\u4E09\u679D\u76F8\u8DDD\u8F83\u8FDC\u3002\u8868\u9762\u7070\u8910\u8272\u6216\u7070\u9EC4\u8272\uFF0C\u6709\u5149\u6CFD\uFF0C\u89D2\u5C16\u5E73\u6ED1\uFF0C\u4E2D\u3001\u4E0B\u90E8\u5E38\u5177\u75A3\u72B6\u7A81\u8D77\uFF0C\u4E60\u79F0\u201C\u9AA8\u9489\u201D\uFF0C\u5E76\u5177\u957F\u77ED\u4E0D\u7B49\u7684\u65AD\u7EED\u7EB5\u68F1\uFF0C\u4E60\u79F0\u201C\u82E6\u74DC\u68F1\u201D\u3002\u8D28\u575A\u786C\uFF0C\u65AD\u9762\u5916\u5708\u9AA8\u8D28\uFF0C\u7070\u767D\u8272\u6216\u5FAE\u5E26\u6DE1\u8910\u8272\uFF0C\u4E2D\u90E8\u591A\u5448\u7070\u8910\u8272\u6216\u9752\u7070\u8272\uFF0C\u5177\u8702\u7A9D\u72B6\u5B54\u3002\u6C14\u5FAE\uFF0C\u5473\u5FAE\u54B8\u3002
+ \u3000\u30002\u3001\u6885\u82B1\u9E7F\u89D2\uFF1A\u901A\u5E38\u5206\u62103\uFF5E4\u679D\uFF0C\u5168\u957F30\uFF5E60cm\uFF0C\u76F4\u5F842.5\uFF5E5cm\u3002\u4FA7\u679D\u591A\u5411\u4E24\u65C1\u4F38\u5C55\uFF0C\u7B2C\u4E00\u679D\u4E0E\u73CD\u73E0\u76D8\u76F8\u8DDD\u8F83\u8FD1\uFF0C\u7B2C\u4E8C\u679D\u4E0E\u7B2C\u4E00\u679D\u76F8\u8DDD\u8F83\u8FDC\uFF0C\u4E3B\u679D\u672B\u7AEF\u5206\u6210\u4E24\u5C0F\u679D\u3002\u8868\u9762\u9EC4\u68D5\u8272\u6216\u7070\u68D5\u8272\uFF0C\u679D\u7AEF\u7070\u767D\u8272\u3002\u679D\u7AEF\u4EE5\u4E0B\u5177\u660E\u663E\u9AA8\u9489\uFF0C\u7EB5\u5411\u6392\u6210\u201C\u82E6\u74DC\u68F1\u201D\uFF0C\u9876\u90E8\u7070\u767D\u8272\u6216\u7070\u9EC4\u8272\uFF0C\u6709\u5149\u6CFD\u3002
+ \u3000\u30003\u3001\u9E7F\u89D2\u8131\u76D8\uFF1A\u5448\u76D4\u72B6\u6216\u6241\u76D4\u72B6\uFF0C\u76F4\u5F843\uFF5E6cm(\u73CD\u73E0\u76D8\u76F4\u5F844.5\uFF5E6.5cm)\uFF0C\u9AD81.5\uFF5E4cm\u3002\u8868\u9762\u7070\u8910\u8272\u6216\u7070\u9EC4\u8272\uFF0C\u6709\u5149\u6CFD\u3002\u5E95\u9762\u5E73\uFF0C\u8702\u7A9D\u72B6\uFF0C\u591A\u5448\u9EC4\u767D\u8272\u6216\u9EC4\u68D5\u8272\u3002\u73CD\u73E0\u76D8\u5468\u8FB9\u5E38\u6709\u7A00\u758F\u7EC6\u5C0F\u7684\u5B54\u6D1E\u3002\u4E0A\u9762\u7565\u5E73\u6216\u5448\u4E0D\u89C4\u5219\u7684\u534A\u7403\u5F62\u3002\u8D28\u575A\u786C\uFF0C\u65AD\u9762\u5916\u5708\u9AA8\u8D28\uFF0C\u7070\u767D\u8272\u6216\u7C7B\u767D\u8272\u3002
+ \u3000\u3000\u2022\u996E\u7247\u6027\u72B6 \u3000\u3000\u4E3A\u5377\u66F2\u72B6\u6216\u5E73\u5766\u8584\u7247\uFF0C\u8868\u9762\u68D5\u9EC4\u8272\u6216\u7070\u8910\u8272\uFF0C\u4E2D\u90E8\u6709\u7EC6\u8702\u7A9D\u72B6\u5C0F\u5B54\uFF0C\u5468\u8FB9\u767D\u8272\u6216\u7070\u767D\u8272\uFF0C\u8D28\u7EC6\u5BC6\uFF0C\u67D4\u97E7\uFF0C\u6C14\u5FAE\u8165\uFF0C\u5473\u5FAE\u54B8\u3002\u9E7F\u89D2\u7C89\u5448\u7C89\u672B\u72B6\uFF0C\u6D45\u9EC4\u8272\u6216\u68D5\u9EC4\u8272\u3002\u6C14\u5FAE\u8165\uFF0C\u5473\u5FAE\u54B8\u3002
+ \u3000\u3000\u7528\u6CD5\u7528\u91CF\uFF1A
+ \u3000\u30006\uFF5E15g\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/动物/鹿角.asset.meta b/WuHu_touming/Assets/Conf/menuitem/动物/鹿角.asset.meta
new file mode 100644
index 0000000..a67ca9e
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/动物/鹿角.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 43d8906e434d8d540878ffe142a9fcb1
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物.meta b/WuHu_touming/Assets/Conf/menuitem/植物.meta
new file mode 100644
index 0000000..8fbdf8f
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d6bbcd185f6d7b84794866b4de9fb423
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/何首乌.asset b/WuHu_touming/Assets/Conf/menuitem/植物/何首乌.asset
new file mode 100644
index 0000000..9fe2ffe
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/何首乌.asset
@@ -0,0 +1,42 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u4F55\u9996\u4E4C"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 4ae5b53a9594fc04fbc6882a05a39b91, type: 3}
+ - {fileID: 21300000, guid: b7086e5cfdacb894aadeda17b9b24b2b, type: 3}
+ go: {fileID: 262846938944379407, guid: a25ce34001e2b5b469bdd9e7b7db7592, type: 3}
+ name_CN: "\u4F55\u9996\u4E4C"
+ name_LT: Fallopia multiflora (Thunb.) Harald.
+ synopsis: "\u3000\u3000\u4F55\u9996\u4E4C\uFF08\u5B66\u540D\uFF1AFallopiamultiflora(Thunb.)Harald.\uFF09\uFF0C\u53C8\u540D\u591A\u82B1\u84FC\u3001\u7D2B\u4E4C\u85E4\u3001\u591C\u4EA4\u85E4\u7B49\u3002\u662F\u84FC\u79D1\u84FC\u65CF\u4F55\u9996\u4E4C\u5C5E\u591A\u5E74\u751F\u7F20\u7ED5\u85E4\u672C\u690D\u7269\uFF0C\u5757\u6839\u80A5\u539A\uFF0C\u957F\u692D\u5706\u5F62\uFF0C\u9ED1\u8910\u8272\u3002\u751F\u5C71\u8C37\u704C\u4E1B\u3001\u5C71\u5761\u6797\u4E0B\u3001\u6C9F\u8FB9\u77F3\u9699\u3002\u4EA7\u9655\u897F\u5357\u90E8\u3001\u7518\u8083\u5357\u90E8\u3001\u534E\u4E1C\u3001\u534E\u4E2D\u3001\u534E\u5357\u3001\u56DB\u5DDD\u3001\u4E91\u5357\u53CA\u8D35\u5DDE\u3002\u5176\u5757\u6839\u5165\u836F\uFF0C\u53EF\u5B89\u795E\u3001\u517B\u8840\u3001\u6D3B\u7EDC\uFF0C\u89E3\u6BD2\uFF08\u622A\u759F\uFF09\u3001\u6D88\u75C8\uFF1B\u5236\u9996\u4E4C\u53EF\u8865\u76CA\u7CBE\u8840\u3001\u4E4C\u987B\u53D1\u3001\u5F3A\u7B4B\u9AA8\u3001\u8865\u809D\u80BE\uFF0C\u662F\u5E38\u89C1\u8D35\u7EC6\u4E2D\u836F\u6750\u3002
+ \u3000\u3000\u5F62\u6001\u7279\u5F81\uFF1A \u3000\u3000\u2022\u4F55\u9996\u4E4C\u4E3A\u591A\u5E74\u751F\u690D\u7269\u3002\u5757\u6839\u80A5\u539A\uFF0C\u957F\u692D\u5706\u5F62\uFF0C\u9ED1\u8910\u8272\u3002\u830E\u7F20\u7ED5\uFF0C\u957F2-4\u7C73\uFF0C\u591A\u5206\u679D\uFF0C\u5177\u7EB5\u68F1\uFF0C\u65E0\u6BDB\uFF0C\u5FAE\u7C97\u7CD9\uFF0C\u4E0B\u90E8\u6728\u8D28\u5316\u3002
+ \u3000\u3000\u53F6\uFF1A\u5375\u5F62\u6216\u957F\u5375\u5F62\uFF0C\u957F3-7\u5398\u7C73\uFF0C\u5BBD2-5\u5398\u7C73\uFF0C\u9876\u7AEF\u6E10\u5C16\uFF0C\u57FA\u90E8\u5FC3\u5F62\u6216\u8FD1\u5FC3\u5F62\uFF0C\u4E24\u9762\u7C97\u7CD9\uFF0C\u8FB9\u7F18\u5168\u7F18\uFF1B\u53F6\u67C4\u957F1.5-3\u5398\u7C73\uFF1B\u6258\u53F6\u9798\u819C\u8D28\uFF0C\u504F\u659C\uFF0C\u65E0\u6BDB\uFF0C\u957F3-5\u6BEB\u7C73\u3002
+ \u3000\u3000\u82B1\uFF1A\u82B1\u5E8F\u5706\u9525\u72B6\uFF0C\u9876\u751F\u6216\u814B\u751F\uFF0C\u957F10-20\u5398\u7C73\uFF0C\u5206\u679D\u5F00\u5C55\uFF0C\u5177\u7EC6\u7EB5\u68F1\uFF0C\u6CBF\u68F1\u5BC6\u88AB\u5C0F\u7A81\u8D77\uFF1B\u82DE\u7247\u4E09\u89D2\u72B6\u5375\u5F62\uFF0C\u5177\u5C0F\u7A81\u8D77\uFF0C\u9876\u7AEF\u5C16\uFF0C\u6BCF\u82DE\u5185\u51772-4\u82B1\uFF1B\u82B1\u6897\u7EC6\u5F31\uFF0C\u957F2-3\u6BEB\u7C73\uFF0C\u4E0B\u90E8\u5177\u5173\u8282\uFF0C\u679C\u65F6\u5EF6\u957F\uFF1B\u82B1\u88AB5\uFF0C\u6DF1\u88C2\uFF0C\u767D\u8272\u6216\u6DE1\u7EFF\u8272\uFF0C\u82B1\u88AB\u7247\u692D\u5706\u5F62\uFF0C\u5927\u5C0F\u4E0D\u76F8\u7B49\uFF0C\u5916\u97623\u7247\u8F83\u5927\u80CC\u90E8\u5177\u7FC5\uFF0C\u679C\u65F6\u589E\u5927\uFF0C\u82B1\u88AB\u679C\u65F6\u5916\u5F62\u8FD1\u5706\u5F62\uFF0C\u76F4\u5F846-7\u6BEB\u7C73\uFF1B\u96C4\u854A8\uFF0C\u82B1\u4E1D\u4E0B\u90E8\u8F83\u5BBD\uFF1B\u82B1\u67F13\uFF0C\u6781\u77ED\uFF0C\u67F1\u5934\u5934\u72B6\u3002
+ \u3000\u3000\u679C\uFF1A\u7626\u679C\u5375\u5F62\uFF0C\u51773\u68F1\uFF0C\u957F2.5-3\u6BEB\u7C73\uFF0C\u9ED1\u8910\u8272\uFF0C\u6709\u5149\u6CFD\uFF0C\u5305\u4E8E\u5BBF\u5B58\u82B1\u88AB\u5185\u3002\u82B1\u671F8-9\u6708\uFF0C\u679C\u671F9-10\u6708\u3002
+ \u3000\u3000\u751F\u957F\u73AF\u5883\uFF1A \u3000\u3000\u751F\u5C71\u8C37\u704C\u4E1B\u3001\u5C71\u5761\u6797\u4E0B\u3001\u6C9F\u8FB9\u77F3\u9699\uFF0C\u6D77\u62D4200-3000\u7C73\u3002
+ \u3000\u3000\u5206\u5E03\u8303\u56F4\uFF1A \u3000\u3000\u4EA7\u9655\u897F\u5357\u90E8\u3001\u7518\u8083\u5357\u90E8\u3001\u534E\u4E1C\u3001\u534E\u4E2D\u3001\u534E\u5357\u3001\u56DB\u5DDD\u3001\u4E91\u5357\u53CA\u8D35\u5DDE\u3002\u65E5\u672C\u4E5F\u6709\u5206\u5E03\u3002
+ \u3000\u3000\u9274\u522B\u65B9\u6CD5\uFF1A
+ \u3000\u3000\u2022\u6027\u72B6\u9274\u522B \u3000\u30001.\u5757\u6839\u7EBA\u9524\u5F62\u6216\u56E2\u5757\u72B6\uFF0C\u4E00\u822C\u7565\u5F2F\u66F2\u3002\u957F5-15cm\uFF0C\u76F4\u5F844-10cm\u3002\u8868\u9762\u7EA2\u68D5\u8272\u6216\u7EA2\u8910\u8272\uFF0C\u51F9\u51F8\u4E0D\u5E73\uFF0C\u6709\u4E0D\u89C4\u5219\u7684\u7EB5\u6C9F\u548C\u81F4\u5BC6\u76B1\u7EB9\uFF0C\u5E76\u6709\u6A2A\u957F\u76AE\u5B54\u53CA\u7EC6\u6839\u75D5\u3002
+ \u3000\u30002.\u8D28\u575A\u786C\uFF0C\u4E0D\u6613\u6298\u65AD\u3002\u5207\u65AD\u9762\u6DE1\u9EC4\u68D5\u8272\u6216\u6DE1\u7EA2\u68D5\u8272\uFF0C\u7C89\u6027\uFF0C\u76AE\u90E8\u6709\u7C7B\u5706\u5F62\u7684\u5F02\u578B\u7EF4\u7BA1\u675F\u4F5C\u73AF\u72B6\u6392\u5217\uFF0C\u5F62\u6210\u4E91\u9526\u82B1\u7EB9\uFF0C\u4E2D\u592E\u6728\u90E8\u8F83\u5927\uFF0C\u6709\u7684\u5448\u6728\u5FC3\u3002\u6C14\u5FAE\uFF0C\u5473\u5FAE\u82E6\u800C\u7518\u6DA9\u3002\u4EE5\u4F53\u91CD\u3001\u8D28\u575A\u5B9E\u3001\u7C89\u6027\u8DB3\u8005\u4E3A\u4F73\u3002
+ \u3000\u3000\u2022\u663E\u5FAE\u9274\u522B \u3000\u3000\u5757\u6839\u6A2A\u5207\u9762\uFF1A\u6728\u6813\u5C42\u4E3A\u6570\u5217\u7EC6\u80DE\uFF0C\u5145\u6EE1\u7EA2\u68D5\u8272\u7269\u8D28\uFF0C\u76AE\u5B54\u53EF\u5BDF\u89C1\u3002\u97E7\u76AE\u90E8\u8F83\u5BBD\uFF0C\u6563\u6709\u5F02\u578B\u7EF4\u7BA1\u675F\u5373\u590D\u5408\u7EF4\u7BA1\u675F\uFF0C\u53E6\u4E00\u79CD\u4E3A\u5355\u4E2A\u7684\u7EF4\u7BA1\u675F\uFF0C\u5747\u4E3A\u5916\u97E7\u578B\u3002\u5F62\u6210\u5C42\u5448\u73AF\u72B6\uFF0C\u6728\u8D28\u90E8\u5BFC\u7BA1\u8F83\u5C11\uFF0C\u5468\u56F4\u6709\u7BA1\u80DE\u53CA\u5C11\u6570\u6728\u7EA4\u7EF4\u3002\u5757\u6839\u7684\u4E2D\u5FC3\u4E3A\u521D\u751F\u6728\u8D28\u90E8\u3002\u8584\u58C1\u7EC6\u80DE\u542B\u6709\u6DC0\u7C89\u7C92\u53CA\u8349\u9178\u9499\u7C07\u6676\u3002
+ \u3000\u3000\u2022\u7C89\u672B\u7279\u5F81
+ \u3000\u3000\u68D5\u8272\u3002 \u3000\u3000\u2460\u6DC0\u7C89\u7C92\u4F17\u591A\uFF0C\u5355\u7C92\u5448\u7C7B\u7403\u5F62\u3001\u76D4\u5E3D\u5F62\u6216\u4E09\u89D2\u72B6\u9525\u5F62\uFF0C\u76F4\u5F844-50\u03BCm\uFF0C\u8110\u70B9\u5448\u4EBA\u5B57\u72B6\u3001\u661F\u72B6\u3001\u5F27\u7EBF\u72B6\u6216\u70B9\u72B6\uFF0C\u5C42\u7EB9\u4E0D\u660E\u663E\u3002\u590D\u7C92\u76F4\u5F846-51\u03BCm\uFF0C\u75312-9\u5206\u7C92\u7EC4\u6210\u3002
+ \u3000\u3000\u2461\u8349\u9178\u9499\u7C07\u6676\u8F83\u591A\uFF0C\u76F4\u5F84\u7EA680\u03BCm\uFF0C\u5076\u89C1\u7C07\u6676\u4E0E\u8F83\u5927\u7684\u7C7B\u65B9\u5F62\u7ED3\u6676\u5408\u751F\u3002
+ \u3000\u3000\u2462\u5177\u7F18\u7EB9\u5B54\u5BFC\u7BA1\u76F4\u5F8417-178\u03BCm\uFF1B\u53E6\u6709\u7EC6\u5C0F\u7684\u7F51\u7EB9\u5BFC\u7BA1\u3002
+ \u3000\u3000\u2022\u7406\u5316\u9274\u522B \u3000\u30001\u3001\u53D6\u672C\u54C1\u7C89\u672B\u7EA60.1g\uFF0C\u52A0\u6C22\u6C27\u5316\u94A0\u6EB6\u6DB2\uFF081-10\uFF0910ml\uFF0C\u716E\u6CB83min\uFF0C\u51B7\u540E\u6EE4\u8FC7\u3002\u53D6\u6EE4\u6DB2\uFF0C\u52A0\u76D0\u9178\u4F7F\u6210\u9178\u6027\uFF0C\u518D\u52A0\u7B49\u91CF\u4E59\u919A\uFF0C\u632F\u6447\uFF0C\u919A\u5C42\u5E94\u663E\u9EC4\u8272\u3002\u5206\u53D6\u919A\u5C424ml\uFF0C\u52A0\u6C28\u8BD5\u6DB22ml\uFF0C\u632F\u6447\uFF0C\u6C28\u6DB2\u5C42\u663E\u7EA2\u8272\u3002\uFF08\u68C0\u67E5\u84BD\u918C\u5316\u5408\u7269\uFF09
+ \u3000\u30002\u3001\u53D6\u672C\u54C1\u7C89\u672B\u7EA60.2g\uFF0C\u52A0\u4E59\u91875ml\uFF0C\u7F6E\u6C34\u6D74\u4E2D\u716E\u6CB83min\uFF0C\u4E0D\u65AD\u632F\u6447\uFF0C\u8D81\u70ED\u8FC7\u6EE4\uFF0C\u653E\u51B7\u3002\u53D6\u6EE4\u6DB22\u6EF4\uFF0C\u7F6E\u84B8\u53D1\u76BF\u4E2D\u84B8\u5E72\uFF0C\u8D81\u70ED\u52A0\u4E09\u6C2F\u5316\u9511\u7684\u6C2F\u4EFF\u9971\u548C\u6DB21\u6EF4\uFF0C\u5373\u663E\u7D2B\u7EA2\u8272\u3002\uFF08\u68C0\u67E5\u753E\u9187\u7C7B\uFF09
+ \u3000\u30003\u3001\u8584\u5C42\u8272\u8C31\uFF1A\u53D6\u751F\u4F55\u9996\u4E4C\u7C89\u672B5g\uFF0840\u76EE\uFF09\uFF0C\u752895%\u4E59\u9187\u56DE\u6D41\u63D0\u53D6\uFF0C\u56DE\u6536\u4E59\u9187\uFF0C\u5236\u62101.5\uFF1A1\u7684\u6D78\u818F\u4F9B\u70B9\u6837\u7528\u3002\u53E6\u4EE5\u5927\u9EC4\u7D20\u3001\u5927\u9EC4\u7D20\u7532\u919A\u4E3A\u5BF9\u7167\u54C1\u3002\u5206\u522B\u70B9\u5728\u7845\u80F6G-CMC\uFF08\u7845\u80F6G300\u76EE\u4EE5\u4E0A\uFF09\u677F\u4E0A\uFF0C\u4EE5\u6C2F\u4EFF-\u7532\u9187\uFF0880\uFF1A20\uFF09\u5C55\u5F00\uFF0C\u5C55\u8DDD10cm\u3002\u53D6\u51FA\u667E\u5E72\uFF0C\u5728\u53EF\u89C1\u5149\u4E0B\uFF0C\u4F9B\u8BD5\u54C1\u8272\u8C31\u4E2D\uFF0C\u5728\u4E0E\u5BF9\u7167\u54C1\u8272\u8C31\u76F8\u5E94\u7684\u4F4D\u7F6E\u4E0A\uFF0C\u663E\u76F8\u540C\u7684\u8272\u6591\uFF1B\u4E8E\u7D2B\u5916\u5149\u4E0B\u663E\u76F8\u540C\u7684\u8367\u5149\u6591\u70B9\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/何首乌.asset.meta b/WuHu_touming/Assets/Conf/menuitem/植物/何首乌.asset.meta
new file mode 100644
index 0000000..af7d96f
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/何首乌.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 49d7b0531e590a24f9c4bc3a829f7a97
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/党参.asset b/WuHu_touming/Assets/Conf/menuitem/植物/党参.asset
new file mode 100644
index 0000000..c0cde76
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/党参.asset
@@ -0,0 +1,45 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u515A\u53C2"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: ecd3c5db53e2cfd4d82560073a85c328, type: 3}
+ - {fileID: 21300000, guid: cadd4788f1944c147a8138345cc8ed75, type: 3}
+ go: {fileID: 3078438384716149877, guid: 3876b2fbc672ee54ab8ab626134c46ce, type: 3}
+ name_CN: "\u515A\u53C2"
+ name_LT: Codonopsis pilosula (Franch.) Nannf.
+ synopsis: "\u3000\u3000\u515A\u53C2\uFF08\u5B66\u540D\uFF1BCodonopsispilosula(Franch.)Nannf.\uFF09\u6854\u6897\u79D1\u515A\u53C2\u5C5E\uFF0C\u591A\u5E74\u751F\u8349\u672C\u690D\u7269\uFF0C\u6709\u4E73\u6C41\u3002\u830E\u57FA\u5177\u591A\u6570\u7624\u72B6\u830E\u75D5\uFF0C\u6839\u5E38\u80A5\u5927\u5448\u7EBA\u9524\u72B6\u6216\u7EBA\u9524\u72B6\u5706\u67F1\u5F62\uFF0C\u830E\u7F20\u7ED5\uFF0C\u4E0D\u80B2\u6216\u5148\u7AEF\u7740\u82B1\uFF0C\u9EC4\u7EFF\u8272\u6216\u9EC4\u767D\u8272\uFF0C\u53F6\u5728\u4E3B\u830E\u53CA\u4FA7\u679D\u4E0A\u7684\u4E92\u751F\uFF0C\u53F6\u67C4\u6709\u758F\u77ED\u523A\u6BDB\uFF0C\u53F6\u7247\u5375\u5F62\u6216\u72ED\u5375\u5F62\uFF0C\u8FB9\u7F18\u5177\u6CE2\u72B6\u949D\u952F\u9F7F\uFF0C\u4E0A\u9762\u7EFF\u8272\uFF0C\u4E0B\u9762\u7070\u7EFF\u8272\uFF0C\u82B1\u5355\u751F\u4E8E\u679D\u7AEF\uFF0C\u4E0E\u53F6\u67C4\u4E92\u751F\u6216\u8FD1\u4E8E\u5BF9\u751F\uFF0C\u82B1\u51A0\u4E0A\u4F4D\uFF0C\u9614\u949F\u72B6\uFF0C\u88C2\u7247\u6B63\u4E09\u89D2\u5F62\uFF0C\u82B1\u836F\u957F\u5F62\uFF0C\u79CD\u5B50\u591A\u6570\uFF0C\u5375\u5F62\uFF0C7-10\u6708\u5F00\u82B1\u7ED3\u679C\u3002
+ \u3000\u3000\u4EA7\u5730\u4E2D\u56FD\u5317\u65B9\u6D77\u62D41560-3100\u7C73\u7684\u5C71\u5730\u6797\u8FB9\u53CA\u704C\u4E1B\u4E2D\u3002\u515A\u53C2\u4E3A\u4E2D\u56FD\u5E38\u7528\u7684\u4F20\u7EDF\u8865\u76CA\u836F\uFF0C\u53E4\u4EE3\u4EE5\u5C71\u897F\u4E0A\u515A\u5730\u533A\u51FA\u4EA7\u7684\u515A\u53C2\u4E3A\u4E0A\u54C1\uFF0C\u5177\u6709\u8865\u4E2D\u76CA\u6C14\uFF0C\u5065\u813E\u76CA\u80BA\u4E4B\u529F\u6548\u3002\u515A\u53C2\u6709\u589E\u5F3A\u514D\u75AB\u529B\u3001\u6269\u5F20\u8840\u7BA1\u3001\u964D\u538B\u3001\u6539\u5584\u5FAE\u5FAA\u73AF\u3001\u589E\u5F3A\u9020\u8840\u529F\u80FD\u7B49\u4F5C\u7528\u3002\u6B64\u5916\u5BF9\u5316\u7597\u653E\u7597\u5F15\u8D77\u7684\u767D\u7EC6\u80DE\u4E0B\u964D\u6709\u63D0\u5347\u4F5C\u7528\u3002
+ \u3000\u3000\u4E3B\u4EA7\u5730\uFF1A \u3000\u3000\u515A\u53C2\u3001\u7D20\u82B1\u515A\u53C2\u4E3B\u4EA7\u4E8E\u7518\u8083\u3001\u56DB\u5DDD;\u5DDD\u515A\u53C2\u540E\u8005\u4E3B\u4EA7\u4E8E\u56DB\u5DDD\u3001\u6E56\u5317\u3001\u9655\u897F\u3002
+ \u3000\u3000\u5165\u836F\u90E8\u4F4D\u515A\u53C2\u7684\u5165\u836F\u90E8\u4F4D:
+ \u3000\u3000\u6854\u6897\u79D1\u690D\u7269\u515A\u53C2Codonopsispilosula(Franch.)Nannf.\u3001\u7D20\u82B1\u515A\u53C2CodonopsispilosulaNannf.var.modesta(Nannf.)L.T.Shen\u6216\u5DDD\u515A\u53C2CodonopsistangshenOliv.\u7684\u5E72\u71E5\u6839\u3002
+ \u3000\u3000\u515A\u53C2\u5165\u836F\u90E8\u4F4D\u7684\u5F62\u72B6\u7279\u70B9:
+ \u3000\u30001.\u515A\u53C2\u5448\u957F\u5706\u67F1\u5F62\uFF0C\u7A0D\u5F2F\u66F2\uFF0C\u957F10~35cm\uFF0C\u76F4\u5F840.4~2cm\u3002
+ \u3000\u30002.\u8868\u9762\u7070\u9EC4\u8272\u3001\u9EC4\u68D5\u8272\u81F3\u7070\u68D5\u8272\uFF0C\u6839\u5934\u90E8\u6709\u591A\u6570\u75A3\u72B6\u7A81\u8D77\u7684\u830E\u75D5\u53CA\u82BD\uFF0C\u6BCF\u4E2A\u830E\u75D5\u7684\u9876\u7AEF\u5448\u51F9\u4E0B\u7684\u5706\u70B9\u72B6;\u6839\u5934\u4E0B\u6709\u81F4\u5BC6\u7684\u73AF\u72B6\u6A2A\u7EB9\uFF0C\u5411\u4E0B\u6E10\u7A00\u758F\uFF0C\u6709\u7684\u8FBE\u5168\u957F\u7684\u4E00\u534A\uFF0C\u683D\u57F9\u54C1\u73AF\u72B6\u6A2A\u7EB9\u5C11\u6216\u65E0;\u5168\u4F53\u6709\u7EB5\u76B1\u7EB9\u548C\u6563\u5728\u7684\u6A2A\u957F\u76AE\u5B54\u6837\u7A81\u8D77\uFF0C\u652F\u6839\u65AD\u843D\u5904\u5E38\u6709\u9ED1\u8910\u8272\u80F6\u72B6\u7269\u3002
+ \u3000\u30003.\u8D28\u7A0D\u67D4\u8F6F\u6216\u7A0D\u786C\u800C\u7565\u5E26\u97E7\u6027\uFF0C\u65AD\u9762\u7A0D\u5E73\u5766\uFF0C\u6709\u88C2\u9699\u6216\u653E\u5C04\u72B6\u7EB9\u7406\uFF0C\u76AE\u90E8\u6DE1\u68D5\u9EC4\u8272\u81F3\u9EC4\u68D5\u8272\uFF0C\u6728\u90E8\u6DE1\u9EC4\u8272\u81F3\u9EC4\u8272\u3002\u6709\u7279\u6B8A\u9999\u6C14\uFF0C\u5473\u5FAE\u751C\u3002
+ \u3000\u30004.\u7D20\u82B1\u515A\u53C2\uFF08(\u897F\u515A\u53C2\uFF09\u957F10~35cm\uFF0C\u76F4\u5F840.5~2.5cm\u3002\u8868\u9762\u9EC4\u767D\u8272\u81F3\u7070\u9EC4\u8272\uFF0C\u6839\u5934\u4E0B\u81F4\u5BC6\u7684\u73AF\u72B6\u6A2A\u7EB9\u5E38\u8FBE\u5168\u957F\u7684\u4E00\u534A\u4EE5\u4E0A\u3002\u65AD\u9762\u88C2\u9699\u8F83\u591A\uFF0C\u76AE\u90E8\u7070\u767D\u8272\u81F3\u6DE1\u68D5\u8272\u3002\u5DDD\u515A\u53C2\u957F10~45cm\uFF0C\u76F4\u5F840.5~2cm\u3002\u8868\u9762\u7070\u9EC4\u8272\u81F3\u9EC4\u68D5\u8272\uFF0C\u6709\u660E\u663E\u4E0D\u89C4\u5219\u7684\u7EB5\u6C9F\u3002\u8D28\u8F83\u8F6F\u800C\u7ED3\u5B9E\uFF0C\u65AD\u9762\u88C2\u9699\u8F83\u5C11\uFF0C\u76AE\u90E8\u9EC4\u767D\u8272\u3002
+ \u3000\u3000\u4F5C\u7528\u529F\u6548\uFF1A \u3000\u3000\u515A\u53C2\u5177\u6709\u5065\u813E\u76CA\u80BA\uFF0C\u517B\u8840\u751F\u6D25\u7684\u529F\u80FD\u3002
+ \u3000\u3000\u73B0\u4EE3\u7814\u7A76\uFF1A \u3000\u3000\u672C\u54C1\u6709\u589E\u5F3A\u673A\u4F53\u9002\u5E94\u80FD\u529B\u3001\u589E\u5F3A\u514D\u75AB\u529F\u80FD\u3001\u5EF6\u7F13\u8870\u8001\u3001\u6297\u6E83\u75A1\u3001\u9547\u9759\u3001\u9547\u75DB\u3001\u4FC3\u8FDB\u7761\u7720\u3001\u6539\u5584\u5B66\u4E60\u8BB0\u5FC6\u529F\u80FD\u3001\u5347\u9AD8\u7EA2\u7EC6\u80DE\u548C\u8840\u7EA2\u86CB\u767D\u3001\u6297\u83CC\u3001\u6297\u708E\u3001\u8F85\u52A9\u6297\u80BF\u7624\u7B49\u591A\u79CD\u836F\u7406\u4F5C\u7528\u3002
+ \u3000\u3000\u4F7F\u7528\u65B9\u6CD5\uFF1A \u3000\u3000\u515A\u53C2\u5177\u6709\u5065\u813E\u76CA\u80BA\uFF0C\u517B\u8840\u751F\u6D25\u7684\u529F\u80FD\u3002\u591A\u714E\u6C41\u670D\u7528\uFF0C\u4E5F\u53EF\u716E\u6C34\u3001\u716E\u7CA5\u6216\u7172\u6C64\u7528\u3002\u4F46\u65E0\u8BBA\u91C7\u7528\u54EA\u79CD\u65B9\u5F0F\uFF0C\u90FD\u9700\u8981\u6309\u7167\u533B\u751F\u7684\u5631\u5490\u670D\u7528\u3002
+ \u3000\u3000\u5177\u4F53\u7528\u6CD5\uFF1A \u3000\u30001.\u515A\u53C2\u714E\u6C41\u5185\u670D\u65F6\uFF0C\u5E38\u7528\u91CF\u4E3A9~30g.
+ \u3000\u30002.\u751F\u6D25\u3001\u517B\u8840\u5B9C\u751F\u7528;\u8865\u813E\u76CA\u80BA\u5B9C\u7099\u7528\u3002\u4E0D\u540C\u70AE\u5236\u65B9\u5F0F\u4F5C\u7528\u529F\u6548\u4E0D\u540C\uFF0C\u4F46\u7528\u836F\u65B9\u6CD5\u4E00\u81F4\uFF0C\u5177\u4F53\u7528\u836F\u8BF7\u9075\u533B\u5631\u3002
+ \u3000\u30003.\u515A\u53C2\u4E00\u822C\u591A\u5165\u6C64\u5242\uFF0C\u714E\u6C41\u670D\u7528\uFF0C\u4E5F\u53EF\u4EE5\u5236\u6210\u6563\u5242\u6216\u4E38\u5242\u670D\u7528\u3002\u4F46\u4E2D\u836F\u6750\u7684\u4F7F\u7528\u987B\u8FA8\u8BC1\u8BBA\u6CBB\uFF0C\u5E94\u5728\u4E13\u4E1A\u4E2D\u533B\u6307\u5BFC\u4E0B\u4F7F\u7528\uFF0C\u4E0D\u53EF\u81EA\u884C\u968F\u610F\u4F7F\u7528\uFF0C\u66F4\u4E0D\u53EF\u968F\u610F\u542C\u4FE1\u4E2D\u836F\u504F\u65B9\u548C\u5E7F\u544A\u5BA3\u4F20\u3002\u6B64\u5916\uFF0C\u515A\u53C2\u4E5F\u53EF\u7528\u4E8E\u65E5\u5E38\u4FDD\u5065\uFF0C\u5E38\u7528\u98DF\u7528\u65B9\u6CD5\u5982\u4E0B:
+ \u3000\u3000\u2460\u716E\u7CA5\uFF08\u53C2\u82D3\u7CA5)\u2236\u515A\u53C2\u3001\u832F\u82D3\u3001\u751F\u59DC\u540410g\uFF0C\u7CB3\u7C73100g\u3002\u5148\u5C06\u4E09\u5473\u836F\u714E\u6C34\u53D6\u6C41\uFF0C\u540E\u4E0B\u7C73\u716E\u6210\u7CA5\uFF0C\u53EF\u52A0\u76D0\u8C03\u5473\u98DF\u3002\u515A\u53C2\u3001\u832F\u82D3\u8865\u813E\u76CA\u80C3\uFF0C\u751F\u59DC\u6E29\u4E2D\u5065\u80C3\u3001\u6B62\u5455\uFF0C\u7CB3\u7C73\u76CA\u813E\u517B\u80C3\u3002\u7528\u4E8E\u813E\u80C3\u865A\u5F31\uFF0C\u5C11\u98DF\u6B32\u5455\uFF0C\u6D88\u7626\u4E4F\u529B\u7B49\u75C7\u3002
+ \u3000\u3000\u2461\u7172\u6C64(\u515A\u53C2\u5929\u51AC\u7096\u841D\u535C)\uFE30\u51C6\u5907\u515A\u53C2\u3001\u5929\u51AC\u540420g\uFF0C\u767D\u841D\u535C500g
+ (\u5207\u5757)\u3002\u5C06\u515A\u53C2\u3001\u5929\u51AC\u548C\u767D\u841D\u535C\u653E\u5165\u7802\u9505\uFF0C\u52A0\u5165\u9002\u91CF\u6E05\u6C34\uFF0C\u5927\u706B\u716E\u6CB8\u8F6C\u5C0F\u706B\u709630\u5206\u949F\u5373\u6210\u3002\u6BCF\u65E5\u4E00\u6B21\uFF0C\u6BCF\u6B21\u5403\u841D\u535C150g\u3002\u5177\u6709\u6ECB\u80BE\u517B\u80BA\u3001\u6B62\u54B3\u5598\u7684\u529F\u6548\u3002
+ \u3000\u3000\u2462\u6CE1\u9152:\u515A\u53C2\u6CE1\u9152\u5177\u6709\u5065\u813E\u76CA\u6C14\u7684\u529F\u6548\u3002\u53E6\u5916\u4E5F\u53EF\u642D\u914D\u5176\u4ED6\u4E2D\u836F\u6CE1\u9152\u3002
+ \u3000\u3000\u6CE8\u610F:\u5B9E\u70ED\u8BC1\u4E0D\u5B9C\u670D\u7528\u515A\u53C2\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/党参.asset.meta b/WuHu_touming/Assets/Conf/menuitem/植物/党参.asset.meta
new file mode 100644
index 0000000..901e28c
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/党参.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5d09745084c99c146a7e9a4b8685119f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/山楂.asset b/WuHu_touming/Assets/Conf/menuitem/植物/山楂.asset
new file mode 100644
index 0000000..f029616
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/山楂.asset
@@ -0,0 +1,44 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u5C71\u6942"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 18bef76afa5d0fc47bc5652c87754530, type: 3}
+ - {fileID: 21300000, guid: 49652cc9cb14bea4fbc76501f1a73007, type: 3}
+ go: {fileID: 7452445550772420904, guid: 0d10dd0e3eb205341a8eace793e0046e, type: 3}
+ name_CN: "\u5C71\u6942"
+ name_LT: Crataegus pinnatifida
+ synopsis: "\u3000\u3000\u5C71\u6942\uFF08Crataegus pinnatifida Bge.\uFF09\uFF0C\u8537\u8587\u79D1\u5C71\u6942\u5C5E\uFF0C\u5C71\u6942\u7684\u6297\u8870\u8001\u4F5C\u7528\u4F4D\u5C45\u7FA4\u679C\u4E4B\u9996\u3002\u843D\u53F6\u4E54\u6728\uFF0C\u9AD8\u53EF\u8FBE6\u7C73\u3002
+ \u3000\u3000\u5728\u5C71\u4E1C\u3001\u9655\u897F\u3001\u5C71\u897F\u3001\u6CB3\u5357\u3001\u6C5F\u82CF\u3001\u6D59\u6C5F\u3001\u8FBD\u5B81\u3001\u5409\u6797\u3001\u9ED1\u9F99\u6C5F\u3001\u5185\u8499\u53E4\u3001\u6CB3\u5317\u7B49\u5730\u5747\u6709\u5206\u5E03\u3002
+ \u3000\u3000\u6838\u8D28\u786C\uFF0C\u679C\u8089\u8584\uFF0C\u5473\u5FAE\u9178\u6DA9\u3002\u679C\u53EF\u751F\u5403\u6216\u4F5C\u679C\u812F\u679C\u7CD5\uFF0C\u5E72\u5236\u540E\u53EF\u5165\u836F\uFF0C\u662F\u4E2D\u56FD\u7279\u6709\u7684\u836F\u679C\u517C\u7528\u6811\u79CD\uFF0C\u5177\u6709\u964D\u8840\u8102\u3001\u8840\u538B\u3001\u5F3A\u5FC3\u3001\u6297\u5FC3\u5F8B\u4E0D\u9F50\u7B49\u4F5C\u7528\uFF0C\u540C\u65F6\u4E5F\u662F\u5065\u813E\u5F00\u80C3\u3001\u6D88\u98DF\u5316\u6EDE\u3001\u6D3B\u8840\u5316\u75F0\u7684\u826F\u836F\uFF0C\u5BF9\u80F8\u8188\u813E\u6EE1\u3001\u759D\u6C14\u3001\u8840\u6DE4\u3001\u95ED\u7ECF\u7B49\u75C7\u6709\u5F88\u597D\u7684\u7597\u6548\u3002\u5C71\u6942\u5185\u7684\u9EC4\u916E\u7C7B\u5316\u5408\u7269\u7261\u8346\u7D20\uFF0C\u662F\u4E00\u79CD\u6297\u764C\u4F5C\u7528\u8F83\u5F3A\u7684\u836F\u7269\uFF0C\u5176\u63D0\u53D6\u7269\u5BF9\u6291\u5236\u4F53\u5185\u764C\u7EC6\u80DE\u751F\u957F\u3001\u589E\u6B96\u548C\u6D78\u6DA6\u8F6C\u79FB\u5747\u6709\u4E00\u5B9A\u7684\u4F5C\u7528\u3002
+ \u3000\u3000 \u3000\u3000\u5F62\u6001\u7279\u5F81\uFF1A
+ \u3000\u3000\u2022\u690D\u682A \u3000\u3000\u843D\u53F6\u4E54\u6728\uFF0C\u6811\u76AE\u7C97\u7CD9\uFF0C\u6697\u7070\u8272\u6216\u7070\u8910\u8272\uFF1B\u523A\u957F\u7EA61-2\u5398\u7C73\uFF0C\u6709\u65F6\u65E0\u523A\uFF1B\u5C0F\u679D\u5706\u67F1\u5F62\uFF0C\u5F53\u5E74\u751F\u679D\u7D2B\u8910\u8272\uFF0C\u65E0\u6BDB\u6216\u8FD1\u4E8E\u65E0\u6BDB\uFF0C\u758F\u751F\u76AE\u5B54\uFF0C\u8001\u679D\u7070\u8910\u8272\uFF1B\u51AC\u82BD\u4E09\u89D2\u5375\u5F62\uFF0C\u5148\u7AEF\u5706\u949D\uFF0C\u65E0\u6BDB\uFF0C\u7D2B\u8272\u3002
+ \u3000\u3000\u2022\u53F6 \u3000\u3000\u53F6\u7247\u5BBD\u5375\u5F62\u6216\u4E09\u89D2\u72B6\u5375\u5F62\uFF0C\u7A00\u83F1\u72B6\u5375\u5F62\uFF0C\u957F5-10\u5398\u7C73\uFF0C\u5BBD4-7.5\u5398\u7C73\uFF0C\u5148\u7AEF\u77ED\u6E10\u5C16\uFF0C\u57FA\u90E8\u622A\u5F62\u81F3\u5BBD\u6954\u5F62\uFF0C\u901A\u5E38\u4E24\u4FA7\u5404\u67093-5\u7FBD\u72B6\u6DF1\u88C2\u7247\uFF0C\u88C2\u7247\u5375\u72B6\u62AB\u9488\u5F62\u6216\u5E26\u5F62\uFF0C\u5148\u7AEF\u77ED\u6E10\u5C16\uFF0C\u8FB9\u7F18\u6709\u5C16\u9510\u7A00\u758F\u4E0D\u89C4\u5219\u91CD\u952F\u9F7F\uFF0C\u4E0A\u9762\u6697\u7EFF\u8272\u6709\u5149\u6CFD\uFF0C\u4E0B\u9762\u6CBF\u53F6\u8109\u6709\u758F\u751F\u77ED\u67D4\u6BDB\u6216\u5728\u8109\u814B\u6709\u9AEF\u6BDB\uFF0C\u4FA7\u81096-10\u5BF9\uFF0C\u6709\u7684\u8FBE\u5230\u88C2\u7247\u5148\u7AEF\uFF0C\u6709\u7684\u8FBE\u5230\u88C2\u7247\u5206\u88C2\u5904\uFF1B\u53F6\u67C4\u957F2-6\u5398\u7C73\uFF0C\u65E0\u6BDB\uFF1B\u6258\u53F6\u8349\u8D28\uFF0C\u9570\u5F62\uFF0C\u8FB9\u7F18\u6709\u952F\u9F7F\u3002
+ \u3000\u3000\u2022\u82B1 \u3000\u3000\u4F1E\u623F\u82B1\u5E8F\u5177\u591A\u82B1\uFF0C\u76F4\u5F844-6\u5398\u7C73\uFF0C\u603B\u82B1\u6897\u548C\u82B1\u6897\u5747\u88AB\u67D4\u6BDB\uFF0C\u82B1\u540E\u8131\u843D\uFF0C\u51CF\u5C11\uFF0C\u82B1\u6897\u957F4-7\u6BEB\u7C73\uFF1B\u82DE\u7247\u819C\u8D28\uFF0C\u7EBF\u72B6\u62AB\u9488\u5F62\uFF0C\u957F\u7EA66-8\u6BEB\u7C73\uFF0C\u5148\u7AEF\u6E10\u5C16\uFF0C\u8FB9\u7F18\u5177\u817A\u9F7F\uFF0C\u65E9\u843D\uFF1B\u82B1\u76F4\u5F84\u7EA61.5\u5398\u7C73\uFF1B\u843C\u7B52\u949F\u72B6\uFF0C\u957F4-5\u6BEB\u7C73\uFF0C\u5916\u9762\u5BC6\u88AB\u7070\u767D\u8272\u67D4\u6BDB\uFF1B\u843C\u7247\u4E09\u89D2\u5375\u5F62\u81F3\u62AB\u9488\u5F62\uFF0C\u5148\u7AEF\u6E10\u5C16\uFF0C\u5168\u7F18\uFF0C\u7EA6\u4E0E\u843C\u7B52\u7B49\u957F\uFF0C\u5185\u5916\u4E24\u9762\u5747\u65E0\u6BDB\uFF0C\u6216\u5728\u5185\u9762\u9876\u7AEF\u6709\u9AEF\u6BDB\uFF1B\u82B1\u74E3\u5012\u5375\u5F62\u6216\u8FD1\u5706\u5F62\uFF0C\u957F7-8\u6BEB\u7C73\uFF0C\u5BBD5-6\u6BEB\u7C73\uFF0C\u767D\u8272\uFF1B\u96C4\u854A20\uFF0C\u77ED\u4E8E\u82B1\u74E3\uFF0C\u82B1\u836F\u7C89\u7EA2\u8272\uFF1B\u82B1\u67F13-5\uFF0C\u57FA\u90E8\u88AB\u67D4\u6BDB\uFF0C\u67F1\u5934\u5934\u72B6\u3002
+ \u3000\u3000\u2022\u679C \u3000\u3000\u679C\u5B9E\u8FD1\u7403\u5F62\u6216\u68A8\u5F62\uFF0C\u76F4\u5F841-1.5\u5398\u7C73\uFF0C\u6DF1\u7EA2\u8272\uFF0C\u6709\u6D45\u8272\u6591\u70B9\uFF1B\u5C0F\u68383-5\uFF0C\u5916\u9762\u7A0D\u5177\u7A1C\uFF0C\u5185\u9762\u4E24\u4FA7\u5E73\u6ED1\uFF1B\u843C\u7247\u8131\u843D\u5F88\u8FDF\uFF0C\u5148\u7AEF\u7559\u4E00\u5706\u5F62\u6DF1\u6D3C\u3002\u82B1\u671F5-6\u6708\uFF0C\u679C\u671F9-10\u6708\u3002
+ \u3000\u3000\u529F\u6548\u4E0E\u4F5C\u7528\uFF1A
+ \u3000\u3000\u2022\u52A9\u6D88\u5316 \u3000\u3000\u5C71\u6942\u542B\u591A\u79CD\u6709\u673A\u9178\u3002\u53E3\u670D\u540E\u589E\u5F3A\u80C3\u6DB2\u9178\u5EA6\uFF0C\u63D0\u9AD8\u80C3\u86CB\u767D\u9176\u6D3B\u6027\uFF0C\u4FC3\u8FDB\u86CB\u767D\u8D28\u7684\u6D88\u5316\uFF1B\u5C71\u6942\u5473\u9178\uFF0C\u523A\u6FC0\u80C3\u9ECF\u819C\u4FC3\u8FDB\u80C3\u6DB2\u5206\u6CCC\uFF1B\u5C71\u6942\u4E2D\u542B\u8102\u80AA\u9176\uFF0C\u80FD\u4FC3\u8FDB\u8102\u80AA\u7684\u6D88\u5316\uFF1B\u5C71\u6942\u542B\u6709\u7EF4\u751F\u7D20C\u7B49\u6210\u5206\uFF0C\u53E3\u670D\u53EF\u589E\u8FDB\u98DF\u6B32\uFF1B\u5C71\u6942\u5BF9\u80C3\u80A0\u8FD0\u52A8\u529F\u80FD\u5177\u6709\u8C03\u8282\u4F5C\u7528\uFF0C\u5BF9\u75C9\u631B\u72B6\u6001\u7684\u80C3\u80A0\u5E73\u6ED1\u808C\u6709\u6291\u5236\u4F5C\u7528\uFF0C\u5BF9\u677E\u5F1B\u72B6\u6001\u7684\u5E73\u6ED1\u808C\u6709\u5174\u594B\u4F5C\u7528\u3002
+ \u3000\u3000\u2022\u964D\u8840\u8102\u3001\u6297\u52A8\u8109\u7CA5\u6837\u786C\u5316
+ \u3000\u3000\u5C71\u6942\u9EC4\u916E\u53EF\u663E\u8457\u964D\u4F4E\u5B9E\u9A8C\u6027\u9AD8\u8840\u8102\u52A8\u7269\u7684\u8840\u6E05\u603B\u80C6\u56FA\u9187\uFF08TC\uFF09\u3001\u4F4E\u5BC6\u5EA6\u8102\u86CB\u767D\u80C6\u56FA\u9187\uFF08LDL-C\uFF09\u548C\u8F7D\u8102\u86CB\u767DB\uFF08ApoB\uFF09\u7684\u6D53\u5EA6\uFF0C\u663E\u8457\u5347\u9AD8\u9AD8\u5BC6\u5EA6\u8102\u86CB\u767D\u4E00\u80C6\u56FA\u9187\uFF08HDL-C\uFF09\u548C\u8F7D\u8102\u86CB\u767DA\uFF0C\uFF08ApoA\uFF09\u6D53\u5EA6\uFF0C\u4F46\u5BF9\u7518\u6CB9\u4E09\u916F\uFF08TG\uFF09\u5F71\u54CD\u4E0D\u5927\u3002\u5C71\u6942\u964D\u8840\u8102\u4F5C\u7528\u662F\u901A\u8FC7\u6291\u5236\u809D\u810F\u80C6\u56FA\u9187\u7684\u5408\u6210\uFF0C\u4FC3\u8FDB\u809D\u810F\u5BF9\u8840\u6D46\u80C6\u56FA\u9187\u7684\u6444\u4EBA\u800C\u53D1\u6325\u964D\u8840\u8102\u4F5C\u7528\u3002\u5C71\u6942\u9EC4\u916E\u8FD8\u53EF\u964D\u4F4E\u52A8\u8109\u7CA5\u6837\u786C\u5316\uFF08AS\uFF09\u53D1\u751F\u7684\u5371\u9669\u6027\uFF0C\u8D77\u5230\u9884\u9632AS\u53D1\u751F\u53D1\u5C55\u7684\u4F5C\u7528\u3002
+ \u3000\u3000\u2022\u5BF9\u5FC3\u8840\u7BA1\u7CFB\u7EDF\u7684\u4F5C\u7528 \u3000\u30001.\u6297\u5FC3\u808C\u7F3A\u8840\uFF0C\u5C71\u6942\u5BF9\u6025\u6027\u5B9E\u9A8C\u6027\u5FC3\u808C\u7F3A\u8840\u5177\u6709\u4FDD\u62A4\u4F5C\u7528\u3002\u5C71\u6942\u9EC4\u916E\u3001\u6C34\u89E3\u4EA7\u7269\u589E\u52A0\u7F3A\u8840\u5FC3\u808C\u8425\u517B\u6027\u8840\u6D41\u91CF\uFF0C\u5176\u4E2D\u4EE5\u5C71\u6942\u6C34\u89E3\u4EA7\u7269\u4F5C\u7528\u6700\u5F3A\u3002\u5C71\u6942\u5728\u589E\u52A0\u51A0\u72B6\u52A8\u8109\u8840\u6D41\u91CF\u7684\u540C\u65F6\uFF0C\u8FD8\u80FD\u964D\u4F4E\u5FC3\u808C\u8017\u6C27\u91CF\uFF0C\u63D0\u9AD8\u6C27\u5229\u7528\u7387\u3002\u5C71\u6942\u9EC4\u916E\u5177\u6709\u6539\u5584\u52A8\u7269\u7684\u7F3A\u8840\u5FC3\u7535\u56FE\u4F5C\u7528\u3002\u5C71\u6942\u9EC4\u916E\u80FD\u7F29\u5C0F\u5154\u5B9E\u9A8C\u6027\u5FC3\u808C\u6897\u6B7B\u8303\u56F4\u3002
+ \u3000\u30002.\u5F3A\u5FC3\uFF0C\u5C71\u6942\u5177\u6709\u589E\u5F3A\u5FC3\u808C\u6536\u7F29\u529B\u3001\u589E\u52A0\u5FC3\u6392\u8840\u91CF\u7684\u4F5C\u7528\u3002\u5C71\u6942\u63D0\u53D6\u7269\u5BF9\u5728\u4F53\u3001\u79BB\u4F53\u87FE\u870D\u5FC3\u810F\u80FD\u589E\u5F3A\u5FC3\u808C\u6536\u7F29\u529B\uFF0C\u4F5C\u7528\u7EF4\u6301\u65F6\u95F4\u957F\u3002\u660E\u786E\u7684\u6709\u6548\u6210\u5206\u4E3A3\u2019\uFF0C4\u2019\uFF0C5\uFF0C7\u2014\u56DB\u7F9F\u57FA\u9EC4\u916E\u20147\u2014\u8461\u8404\u7CD6\u82F7\u548C\u82A6\u4E01\u3002
+ \u3000\u30003.\u964D\u538B\uFF0C\u5C71\u6942\u9EC4\u916E\u3001\u4E09\u841C\u9178\u9759\u8109\u3001\u8179\u8154\u53CA\u5341\u4E8C\u6307\u80A0\u7ED9\u836F\uFF0C\u5747\u663E\u793A\u6709\u4E00\u5B9A\u7684\u964D\u538B\u4F5C\u7528\uFF0C\u5176\u4F5C\u7528\u673A\u5236\u4E3B\u8981\u4E0E\u6269\u5F20\u5916\u5468\u8840\u7BA1\u4F5C\u7528\u6709\u5173\u3002
+ \u3000\u30004.\u6297\u6C27\u5316\uFF0C\u5C71\u6942\u53CA\u5C71\u6942\u9EC4\u916E\u5177\u6297\u6C27\u5316\u4F5C\u7528\uFF0C\u80FD\u663E\u8457\u964D\u4F4E\u8840\u6E05\u548C\u809D\u810F\u4E2D\u4E19\u4E8C\u919B\uFF08MDA\uFF09\u542B\u91CF\uFF0C\u589E\u5F3A\u7EA2\u7EC6\u80DE\u548C\u809D\u810F\u8D85\u6C27\u5316\u7269\u6B67\u5316\u9176\uFF08SOD\uFF09\u7684\u6D3B\u6027\uFF0C\u540C\u65F6\u589E\u5F3A\u8840\u6D46\u8C37\u80F1\u7518\u80BD\u8FC7\u6C27\u5316\u7269\u9176\uFF08GSH\u2014Px\uFF09\u6D3B\u6027\u3002
+ \u3000\u3000\u2022\u6291\u83CC \u3000\u3000\u5C71\u6942\u5BF9\u5FD7\u8D3A\u83CC\u5C5E\u3001\u53D8\u5F62\u6746\u83CC\u3001\u5927\u80A0\u57C3\u5E0C\u83CC\u3001\u91D1\u9EC4\u8272\u8461\u8404\u7403\u83CC\u7B49\u6709\u8F83\u5F3A\u7684\u6291\u83CC\u4F5C\u7528\u3002
+ \u3000\u3000\u3010\u5176\u4ED6\u836F\u7406\u4F5C\u7528\u3011\u5C71\u6942\u5BF9\u975E\u7279\u5F02\u6027\u548C\u7279\u5F02\u6027\u514D\u75AB\u529F\u80FD\u5747\u6709\u4FC3\u8FDB\u4F5C\u7528\u3002\u5C71\u6942\u53EF\u663E\u8457\u589E\u52A0\u5C0F\u9F20\u80F8\u817A\u53CA\u813E\u810F\u91CD\u91CF\u3001\u8840\u6E05\u6EB6\u83CC\u9176\u542B\u91CF\uFF0C\u63D0\u9AD8\u8840\u6E05\u8840\u51DD\u6297\u4F53\u6EF4\u5EA6\u3001T\u6DCB\u5DF4\u7EC6\u80DE\u8F6C\u5316\u7387\u53CA\u5916\u5468\u8840T\u6DCB\u5DF4\u7EC6\u80DE\u767E\u5206\u7387\u3002\u5C71\u6942\u5BF9\u5C0F\u9F20\u7EA2\u7EC6\u80DE\u514D\u75AB\u9ECF\u9644\u529F\u80FD\u4E5F\u6709\u4FC3\u8FDB\u4F5C\u7528\u3002
+ \u3000\u3000\u5C71\u6942\u6D88\u98DF\u5065\u80C3\u7684\u529F\u6548\u4E3B\u8981\u4E0E\u52A9\u6D88\u5316\u3001\u6291\u83CC\u7B49\u836F\u7406\u4F5C\u7528\u6709\u5173\uFF0C\u4E3A\u5176\u6CBB\u7597\u8089\u98DF\u79EF\u6EDE\u3001\u80C3\u8118\u80C0\u6EE1\u3001\u6CFB\u75E2\u8179\u75DB\u7B49\u63D0\u4F9B\u4E86\u836F\u7406\u5B66\u4F9D\u636E\uFF1B\u884C\u6C14\u6563\u7600\u7684\u529F\u6548\u4E5F\u4E3B\u8981\u4E0E\u964D\u8840\u8102\u3001\u6297\u52A8\u8109\u7CA5\u6837\u786C\u5316\u3001\u6297\u5FC3\u808C\u7F3A\u8840\u7B49\u836F\u7406\u4F5C\u7528\u6709\u5173\u3002\u5C71\u6942\u7684\u6709\u6548\u6210\u5206\u6709\u673A\u9178\u3001\u5C71\u6942\u9EC4\u916E\u662F\u5176\u53D1\u6325\u836F\u7406\u4F5C\u7528\u7684\u91CD\u8981\u7269\u8D28\u57FA\u7840\u3002
+ \u3000\u3000\u3010\u4E34\u5E8A\u5E94\u7528\u3011\u5E38\u7528\u4E8E\u6D88\u5316\u4E0D\u826F\u3001\u51A0\u5FC3\u75C5\u3001\u5FC3\u7EDE\u75DB\u3001\u9AD8\u8102\u8840\u75C7\u7B49\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/山楂.asset.meta b/WuHu_touming/Assets/Conf/menuitem/植物/山楂.asset.meta
new file mode 100644
index 0000000..a9154fe
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/山楂.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4683e36e9b427ba449a5bf9e2c62661c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/山药.asset b/WuHu_touming/Assets/Conf/menuitem/植物/山药.asset
new file mode 100644
index 0000000..9ab6caf
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/山药.asset
@@ -0,0 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u5C71\u836F"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: fba275b0925b34d46a978c2649e866bf, type: 3}
+ - {fileID: 21300000, guid: edf909e094150484ea0d94690f982ada, type: 3}
+ go: {fileID: 1003631662436051756, guid: 7e5f1a4a60079ac45a065e5aaf2a1fb1, type: 3}
+ name_CN: "\u5C71\u836F"
+ name_LT: Dioscorea opposita
+ synopsis: "\u3000\u3000\u5C71\u836F\uFF0C\u4E2D\u836F\u6750\u540D\u3002\u672C\u54C1\u4E3A\u85AF\u84E3\u79D1\u690D\u7269\u85AF\u84E3\u7684\u5E72\u71E5\u6839\u830E\u300211\uFF5E12\u6708\u91C7\u6316\uFF0C\u5207\u53BB\u6839\u5934\uFF0C\u6D17\u51C0\u6CE5\u571F\uFF0C\u7528\u7AF9\u5200\u522E\u53BB\u5916\u76AE\uFF0C\u6652\u5E72\u6216\u70D8\u5E72\uFF0C\u5373\u4E3A\u6BDB\u5C71\u836F\u3002\u9009\u62E9\u7C97\u5927\u7684\u6BDB\u5C71\u836F\uFF0C\u7528\u6E05\u6C34\u6D78\u5300\uFF0C\u518D\u52A0\u5FAE\u70ED\uFF0C\u5E76\u7528\u68C9\u88AB\u76D6\u597D\uFF0C\u4FDD\u6301\u6E7F\u6DA6\u95F7\u900F\uFF0C\u7136\u540E\u653E\u5728\u6728\u677F\u4E0A\u6413\u63C9\u6210\u5706\u67F1\u72B6\uFF0C\u5C06\u4E24\u5934\u5207\u9F50\uFF0C\u6652\u5E72\u6253\u5149\uFF0C\u5373\u4E3A\u5149\u5C71\u836F\u3002\u529F\u80FD\u4E3B\u6CBB\u4E3A\uFF1A\u5065\u813E\uFF0C\u8865\u80BA\uFF0C\u56FA\u80BE\uFF0C\u76CA\u7CBE\u3002\u6CBB\u813E\u865A\u6CC4\u6CFB\uFF0C\u4E45\u75E2\uFF0C\u865A\u52B3\u54B3\u55FD\uFF0C\u6D88\u6E34\uFF0C\u9057\u7CBE\u3001\u5E26\u4E0B\uFF0C\u5C0F\u4FBF\u9891\u6570\u3002\u8865\u813E\u517B\u80C3\uFF0C\u751F\u6D25\u76CA\u80BA\uFF0C\u8865\u80BE\u6DA9\u7CBE\u3002\u7528\u4E8E\u813E\u865A\u98DF\u5C11\u3001\u4E45\u6CFB\u4E0D\u6B62\u3001\u80BA\u865A\u5598\u54B3\u3001\u80BE\u865A\u9057\u7CBE\u3001\u5E26\u4E0B\u3001\u5C3F\u9891\u3001\u865A\u70ED\u6D88\u6E34\u3002\u9EB8\u7092\u5C71\u836F\u8865\u813E\u5065\u80C3\u3002\u7528\u4E8E\u813E\u865A\u98DF\u5C11\uFF0C\u6CC4\u6CFB\u4FBF\u6E8F\uFF0C\u767D\u5E26\u8FC7\u591A\u3002\u2460\u300A\u672C\u7ECF\u300B\uFF1A\u4E3B\u4F24\u4E2D\uFF0C\u8865\u865A\uFF0C\u9664\u5BD2\u70ED\u90AA\u6C14\uFF0C\u8865\u4E2D\u76CA\u6C14\u529B\uFF0C\u957F\u808C\u8089\uFF0C\u4E45\u670D\u8033\u76EE\u806A\u660E\u3002\u2461\u300A\u522B\u5F55\u300B\uFF1A\u4E3B\u5934\u9762\u6E38\u98CE\uFF0C\u98CE\u5934\uFF08\u4E00\u4F5C\u2019\u5934\u98CE\u2019\uFF09\u773C\u7729\uFF0C\u4E0B\u6C14\uFF0C\u6B62\u8170\u75DB\uFF0C\u6CBB\u865A\u52B3\u7FB8\u7626\uFF0C\u5145\u4E94\u810F\uFF0C\u9664\u70E6\u70ED\uFF0C\u5F3A\u94A5\u3002\u2462\u300A\u836F\u6027\u8BBA\u300B\uFF1A\u8865\u4E94\u52B3\u4E03\u4F24\uFF0C\u53BB\u51B7\u98CE\uFF0C\u6B62\u8170\u75DB\uFF0C\u9547\u5FC3\u795E\uFF0C\u8865\u5FC3\u6C14\u4E0D\u8DB3\uFF0C\u60A3\u4EBA\u4F53\u865A\u7FB8\uFF0C\u52A0\u800C\u7528\u4E4B\u3002\u2463\u300A\u98DF\u7597\u672C\u8349\u300B\uFF1A\u6CBB\u5934\u75BC\uFF0C\u52A9\u9634\u529B\u3002\u2464\u300A\u65E5\u534E\u5B50\u672C\u8349\u300B\uFF1A\u52A9\u4E94\u810F\uFF0C\u5F3A\u7B4B\u9AA8\uFF0C\u957F\u5FD7\u5B89\u795E\uFF0C\u4E3B\u6CC4\u7CBE\u5065\u5FD8\u3002\u2465\u6731\u9707\u4EA8\uFF1A\u751F\u6363\u8D34\u80BF\u786C\u6BD2\uFF0C\u80FD\u6D88\u6563\u3002\u2466\u300A\u4F24\u5BD2\u8574\u8981\u300B\uFF1A\u8865\u4E0D\u8DB3\uFF0C\u6E05\u865A\u70ED\u3002\u2467\u300A\u7EB2\u76EE\u300B\uFF1A\u76CA\u80BE\u6C14\uFF0C\u5065\u813E\u80C3\uFF0C\u6B62\u6CC4\u75E2\uFF0C\u5316\u75F0\u6D8E\uFF0C\u6DA6\u76AE\u6BDB\u3002
+ \u3000\u3000\u591A\u5E74\u751F\u7F20\u7ED5\u8349\u672C\u3002\u5757\u830E\u8089\u8D38\u80A5\u539A\uFF0C\u7565\u5448\u5706\u67F1\u5F62\uFF0C\u5782\u76F4\u751F\u957F\uFF0C\u957F\u53EF\u8FBE1\u7C73\uFF0C\u76F4\u5F842\uFF5E7\u5398\u7C73\uFF0C\u5916\u76AE\u7070\u8910\u8272\uFF0C\u751F\u6709\u987B\u6839\u3002\u830E\u7EC6\u957F\uFF0C\u8513\u6027\uFF0C\u901A\u5E38\u5E26\u7D2B\u8272\uFF0C\u6709\u68F1\uFF0C\u5149\u6ED1\u65E0\u6BDB\u3002\u53F6\u5BF9\u751F\u62163\u53F6\u8F6E\u751F\uFF0C\u53F6\u814B\u95F4\u5E38\u751F\u73E0\u82BD\uFF08\u540D\u96F6\u4F59\u5B50\uFF09\uFF1B\u53F6\u7247\u5F62\u72B6\u591A\u53D8\u5316\uFF0C\u4E09\u89D2\u72B6\u5375\u5F62\u81F3\u4E09\u89D2\u72B6\u5E7F\u5375\u5F62\uFF0C\u957F3.5\uFF5E7\u5398\u7C73\uFF0C\u5BBD2\uFF5E4.5\u5398\u7C73\uFF0C\u901A\u5E38\u8033\u72B63\u88C2\uFF0C\u4E2D\u592E\u88C2\u7247\u5148\u7AEF\u6E10\u5C16\uFF0C\u4E24\u4FA7\u88C2\u7247\u5448\u5706\u8033\u72B6\uFF0C\u57FA\u90E8\u621F\u72B6\u5FC3\u5F62\uFF0C\u4E24\u9762\u5747\u5149\u6ED1\u65E0\u6BDB\uFF1B\u53F6\u81097\uFF5E9\u6761\u57FA\u51FA\uFF1B\u53F6\u67C4\u7EC6\u957F\uFF0C\u957F1.5\uFF5E3.5\u5398\u7C73\u3002\u82B1\u5355\u6027\uFF0C\u96CC\u96C4\u5F02\u682A\uFF1B\u82B1\u6781\u5C0F\uFF0C\u9EC4\u7EFF\u8272\uFF0C\u6210\u7A57\u72B6\u82B1\u5E8F\uFF1B\u96C4\u82B1\u5E8F\u76F4\u7ACB\uFF0C2\u81F3\u6570\u4E2A\u805A\u751F\u4E8E\u53F6\u814B\uFF0C\u82B1\u8F74\u591A\u6570\u6210\u66F2\u6298\u72B6\uFF1B\u82B1\u5C0F\uFF0C\u8FD1\u4E8E\u65E0\u67C4\uFF0C\u82DE\u7247\u4E09\u89D2\u72B6\u5375\u5F62\uFF1B\u82B1\u88AB6\uFF0C\u692D\u5706\u5F62\uFF0C\u5148\u7AEF\u949D\uFF1B\u96C4\u854A6\uFF0C\u82B1\u4E1D\u5F88\u77ED\uFF1B\u96CC\u82B1\u5E8F\u4E0B\u5782\uFF0C\u6BCF\u82B1\u7684\u57FA\u90E8\u5404\u67092\u679A\u5927\u5C0F\u4E0D\u7B49\u7684\u82DE\u7247\uFF0C\u82DE\u7247\u5E7F\u5375\u5F62\uFF0C\u5148\u7AEF\u957F\u6E10\u5C16\uFF1B\u82B1\u88AB6\uFF1B\u5B50\u623F\u4E0B\u4F4D\uFF0C\u957F\u692D\u5706\u5F62\uFF0C3\u5BA4\uFF0C\u67F1\u59343\u88C2\u3002\u84B4\u679C\u67093\u7FC5\uFF0C\u679C\u7FC5\u957F\u51E0\u7B49\u4E8E\u5BBD\u3002\u79CD\u5B50\u6241\u5375\u5706\u5F62\uFF0C\u6709\u9614\u7FC5\u3002\u82B1\u671F7\uFF5E8\u6708\u3002\u679C\u671F9\uFF5E10\u6708\u3002\u672C\u690D\u7269\u7684\u85E4\uFF08\u5C71\u836F\u85E4\uFF09\u3001\u53F6\u814B\u95F4\u7684\u73E0\u82BD\uFF08\u96F6\u4F59\u5B50\uFF09\u4EA6\u4F9B\u836F\u7528\uFF0C\u5404\u8BE6\u4E13\u6761\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/山药.asset.meta b/WuHu_touming/Assets/Conf/menuitem/植物/山药.asset.meta
new file mode 100644
index 0000000..62f1595
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/山药.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 964e2ba56ddc80b40ab1033e14fdb30e
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/灵芝.asset b/WuHu_touming/Assets/Conf/menuitem/植物/灵芝.asset
new file mode 100644
index 0000000..e1ef364
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/灵芝.asset
@@ -0,0 +1,40 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u7075\u829D"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 300ccdb5b3f76e24b80ffe612780792d, type: 3}
+ - {fileID: 21300000, guid: 37bfcf0f6b1628140a04f1ef035fa084, type: 3}
+ go: {fileID: 213564338468375096, guid: 3722cf2d455ce2d438935a133ba4cc4d, type: 3}
+ name_CN: "\u7075\u829D"
+ name_LT: Ganoderma lucidum (Curtis) P. Karst.
+ synopsis: "\u3000\u3000\u7075\u829D\uFF08\u5B66\u540D\uFF1AGanodermalucidum(Curtis)P.Karst.\uFF09\u662F\u7075\u829D\u79D1\u3001\u7075\u829D\u5C5E\u771F\u83CC\u3002\u7075\u829D\u5B50\u5B9E\u4F53\u5927\u591A\u4E3A\u4E00\u5E74\u751F\uFF0C\u5C11\u6570\u4E3A\u591A\u5E74\u751F\uFF0C\u6709\u67C4\uFF0C\u5C0F\u67C4\u4FA7\u751F\u3002\u83CC\u76D6\u6728\u8D28\uFF0C\u6728\u6813\u8D28\uFF0C\u6247\u5F62\uFF0C\u5177\u6C9F\u7EB9\uFF0C\u80BE\u5F62\u3001\u534A\u5706\u5F62\u6216\u8FD1\u5706\u5F62\uFF0C\u8868\u9762\u8910\u9EC4\u8272\u6216\u7EA2\u8910\u8272\uFF0C\u8840\u7EA2\u81F3\u6817\u8272\uFF0C\u6709\u65F6\u8FB9\u7F18\u9010\u6E10\u53D8\u6210\u6DE1\u9EC4\u8910\u8272\u81F3\u9EC4\u767D\u8272\uFF0C\u5177\u4F3C\u6F06\u6837\u5149\u6CFD\uFF0C\u76D6\u8868\u6709\u540C\u5FC3\u73AF\u6C9F\uFF0C\u8FB9\u7F18\u9510\u6216\u7A0D\u949D\uFF0C\u5F80\u5F80\u5185\u5377\u3002\u83CC\u8089\u767D\u8272\u81F3\u6DE1\u8910\u8272\uFF0C\u63A5\u8FD1\u83CC\u7BA1\u5904\u5E38\u6210\u6DE1\u8910\u8272\uFF0C\u83CC\u7BA1\u5C0F\uFF0C\u7BA1\u5B54\u9762\u6DE1\u767D\u8272\uFF0C\u767D\u8089\u6842\u8272\uFF0C\u6DE1\u8910\u8272\u81F3\u6DE1\u9EC4\u8910\u8272\uFF0C\u7BA1\u53E3\u8FD1\u5706\u5F62\uFF0C\u83CC\u67C4\u4FA7\u751F\u3001\u504F\u751F\u6216\u4E2D\u751F\uFF0C\u8FD1\u5706\u67F1\u5F62\uFF0C\u6709\u8F83\u5F3A\u7684\u6F06\u6837\u5149\u6CFD\u3002\u62C5\u5B62\u5B50\u5375\u5F62\u6216\u9876\u7AEF\u5E73\u622A\uFF0C\u53CC\u5C42\u58C1\uFF0C\u5916\u58C1\u900F\u660E\u3001\u5E73\u6ED1\uFF0C\u5185\u58C1\u8910\u8272\u6216\u6DE1\u8910\u8272\uFF0C\u5177\u5C0F\u523A\uFF0C\u4E2D\u592E\u5177\u4E00\u6CB9\u6EF4\u3002
+ \u3000\u3000\u7075\u829D\u5728\u4E16\u754C\u5404\u5927\u6D32\u5747\u6709\u5206\u5E03\uFF0C\u5176\u4E2D\u7EDD\u5927\u90E8\u5206\u751F\u957F\u5728\u70ED\u5E26\u3001\u4E9A\u70ED\u5E26\u548C\u6E29\u5E26\u5730\u533A\u3002\u4E2D\u56FD\u662F\u7075\u829D\u771F\u83CC\u8D44\u6E90\u5206\u5E03\u5E7F\u6CDB\u7684\u5730\u65B9\uFF0C\u5176\u4E3B\u8981\u5206\u5E03\u4E8E\u5317\u4EAC\u3001\u6CB3\u5317\u3001\u5C71\u4E1C\u3001\u6C5F\u82CF\u3001\u6D59\u6C5F\u3001\u798F\u5EFA\u3001\u6C5F\u897F\u3001\u6E56\u5317\u3001\u6E56\u5357\u3001\u5E7F\u897F\u3001\u5E7F\u4E1C\u3001\u6CB3\u5357\u3001\u4E91\u5357\u3001\u56DB\u5DDD\u3001\u8D35\u5DDE\u3001\u6D77\u5357\u3001\u53F0\u6E7E\u3001\u9655\u897F\u3001\u5C71\u897F\u3001\u5B89\u5FBD\u3001\u7518\u8083\u3001\u897F\u85CF\u3001\u9999\u6E2F\u7B49\u5730\u3002\u751F\u4E8E\u680E\u3001\u58F3\u6597\u79D1\u7B49\u591A\u79CD\u9614\u53F6\u6811\u548C\u677E\u68F5\u677E\u5C5E\u7B49\u6728\u6869\u65C1\u6216\u6839\u9645\u5730\u4E0A\uFF0C\u4EA6\u957F\u5728\u94C1\u6749\u7B49\u9488\u53F6\u6811\u4E0A\u3002\u7075\u829D\u5C5E\u771F\u83CC\u5927\u591A\u751F\u957F\u5728\u6709\u6563\u5C04\u9633\u5149\u3001\u6811\u6728\u8F83\u7A00\u758F\u7684\u5730\u65B9\u6216\u8005\u7A7A\u65F7\u5730\u5E26\u3002
+ \u3000\u3000\u7075\u829D\u662F\u4E2D\u56FD\u4F20\u7EDF\u7684\u6276\u6B63\u56FA\u672C\u3001\u6ECB\u8865\u5F3A\u58EE\u7684\u540D\u8D35\u836F\u6750\u3002
+ \u3000\u3000\u7075\u829D\u5165\u836F\u90E8\u4F4D\u7684\u6027\u72B6\u7279\u70B9:
+ \u3000\u30001.\u8D64\u829D\u5916\u5F62\u5448\u4F1E\u72B6\uFF0C\u83CC\u76D6\u80BE\u5F62\u3001\u534A\u5706\u5F62\u6216\u8FD1\u5706\u5F62\uFF0C\u76F4\u5F8410~18cm\uFF0C\u539A1~2cm\u3002
+ \u3000\u30002.\u76AE\u58F3\u575A\u786C\uFF0C\u9EC4\u8910\u8272\u81F3\u7EA2\u8910\u8272\uFF0C\u6709\u5149\u6CFD\uFF0C\u5177\u73AF\u72B6\u68F1\u7EB9\u548C\u8F90\u5C04\u72B6\u76B1\u7EB9\uFF0C\u8FB9\u7F18\u8584\u800C\u5E73\u622A\uFF0C\u5E38\u7A0D\u5185\u5377\u3002\u83CC\u8089\u767D\u8272\u81F3\u6DE1\u68D5\u8272\u3002\u83CC\u67C4\u5706\u67F1\u5F62\uFF0C\u4FA7\u751F\uFF0C\u5C11\u504F\u751F\uFF0C\u957F7~15cm\uFF0C\u76F4\u5F841~3.5cm\uFF0C\u7EA2\u8910\u8272\u81F3\u7D2B\u8910\u8272\uFF0C\u5149\u4EAE\u3002\u5B62\u5B50\u7EC6\u5C0F\uFF0C\u9EC4\u8910\u8272\u3002\u6C14\u5FAE\u9999\uFF0C\u5473\u82E6\u6DA9\u3002
+ \u3000\u3000\u529F\u6548\u4F5C\u7528\uFF1A \u3000\u3000\u7075\u829D\u7528\u4E8E\u5FC3\u795E\u4E0D\u5B81\uFF0C\u5931\u7720\u5FC3\u60B8\uFF0C\u80BA\u865A\u54B3\u5598\uFF0C\u865A\u52B3\u77ED\u6C14\uFF0C\u4E0D\u601D\u996E\u98DF\u3002
+ \u3000\u3000\u2022\u5FC3\u795E\u4E0D\u5B81\uFF0C\u5931\u7720\u5FC3\u60B8 \u3000\u3000\u672C\u54C1\u5473\u7518\u6027\u5E73\uFF0C\u5165\u5FC3\u7ECF\uFF0C\u80FD\u8865\u5FC3\u8840\u3001\u76CA\u5FC3\u6C14\u3001\u5B89\u5FC3\u795E\uFF0C\u5B9C\u4E8E\u6C14\u8840\u4E0D\u8DB3\u3001\u5FC3\u795E\u5931\u517B\u4E4B\u5FC3\u795E\u4E0D\u5B81\uFF0C\u5931\u7720\uFF0C\u60CA\u60B8\uFF0C\u591A\u68A6\uFF0C\u5065\u5FD8\uFF0C\u4F53\u5026\u795E\u75B2\uFF0C\u98DF\u5C11\u8005\uFF0C\u53EF\u5355\u7528\uFF0C\u6216\u4E0E\u5F53\u5F52\u3001\u767D\u828D\u3001\u9178\u67A3\u4EC1\u7B49\u836F\u540C\u7528\u3002
+ \u3000\u3000\u2022\u80BA\u865A\u54B3\u5598 \u3000\u3000\u672C\u54C1\u5473\u7518\uFF0C\u5165\u80BA\u7ECF\uFF0C\u80FD\u8865\u76CA\u80BA\u80BE\u4E4B\u6C14\uFF0C\u6B62\u54B3\u5E73\u5598\uFF0C\u5B9C\u4E8E\u80BA\u865A\u54B3\u5598\uFF0C\u53EF\u5355\u7528\uFF0C\u6216\u4E0E\u9EC4\u82AA\u3001\u515A\u53C2\u3001\u4E94\u5473\u5B50\u7B49\u836F\u540C\u7528\u3002
+ \u3000\u3000\u2022\u865A\u52B3\u77ED\u6C14\uFF0C\u4E0D\u601D\u996E\u98DF \u3000\u3000\u672C\u54C1\u5473\u7518\u8865\u6C14\uFF0C\u7528\u6CBB\u865A\u52B3\u77ED\u6C14\uFF0C\u4E0D\u601D\u996E\u98DF\uFF0C\u5E38\u4E0E\u4EBA\u53C2\u3001\u5C71\u8331\u8438\u3001\u5C71\u836F\u7B49\u914D\u4F0D\u3002
+ \u3000\u3000\u5177\u4F53\u7528\u6CD5\uFF1A \u3000\u30001.\u7075\u829D\u7684\u7528\u6CD5\u4EE5\u5185\u670D\u4E3A\u4E3B\uFF0C\u4E00\u822C\u714E\u670D\uFF0C\u714E\u6C41\u5E38\u7528\u91CF\u7EA6\u4E3A6~12g;\u7814\u672B\u541E\u670D\u5E38\u7528\u91CF\u7EA6\u4E3A1.5~3g\u3002
+ \u3000\u30002.\u7075\u829D\u5916\u7528\u65F6\uFF0C\u53D6\u9002\u91CF\u7075\u829D\u7814\u672B\uFF0C\u7528\u6850\u6CB9\u8C03\u6577\u60A3\u5904\uFF0C\u5BF9\u53E3\u75AE\u6709\u6CBB\u7597\u4F5C\u7528\u3002
+ \u3000\u30003.\u4E00\u822C\u591A\u5165\u6C64\u5242\uFF0C\u714E\u6C41\u670D\u7528\uFF0C\u4E5F\u53EF\u4EE5\u5236\u6210\u6563\u5242\u6216\u4E38\u5242\u670D\u7528\u3002\u4F46\u4E2D\u836F\u6750\u7684\u4F7F\u7528\u987B\u8FA8\u8BC1\u8BBA\u6CBB\uFF0C\u5E94\u5728\u4E13\u4E1A\u4E2D\u533B\u6307\u5BFC\u4E0B\u4F7F\u7528\uFF0C\u4E0D\u53EF\u81EA\u884C\u968F\u610F\u4F7F\u7528\uFF0C\u66F4\u4E0D\u53EF\u968F\u610F\u542C\u4FE1\u4E2D\u836F\u504F\u65B9\u548C\u5E7F\u544A\u5BA3\u4F20\u3002\u6B64\u5916\uFF0C\u7075\u829D\u4E5F\u53EF\u7528\u4E8E\u65E5\u5E38\u4FDD\u5065\uFF0C\u5E38\u7528\u98DF\u7528\u65B9\u6CD5\u5982\u4E0B:
+ \u3000\u3000\u2460\u716E\u6C34:\u5C06\u7075\u829D\u526A\u788E\uFF0C\u653E\u5165\u58F6\u4E2D\uFF0C\u52A0\u6C34\u714E\u716E\uFF0C\u4E00\u822C\u714E\u716E3~4\u6B21\u3002\u6709\u5229\u4E8E\u5931\u7720\u3001\u4FBF\u7CD6\u3001\u8179\u6CFB\u7B49\u75C7\u3002
+ \u3000\u3000\u2461\u6CE1\u9152:\u5C06\u7075\u829D\u526A\u788E\u653E\u5165\u767D\u9152\u74F6\u4E2D\u5BC6\u5C01\u6D78\u6CE1\uFF0C\u4E09\u5929\u540E\uFF0C\u767D\u9152\u53D8\u6210\u68D5\u7EA2\u8272\u65F6\u5373\u53EF\u559D\uFF0C\u8FD8\u53EF\u52A0\u5165\u51B0\u7CD6\u6216\u8702\u871C\u3002\u9002\u4E8E\u795E\u7ECF\u8870\u5F31\u3001\u5931\u7720\u3001\u6D88\u5316\u4E0D\u826F\u3001\u54B3\u55FD\u6C14\u5598\u3001\u8001\u5E74\u6027\u652F\u6C14\u7BA1\u708E\u7B49\u75C7\u3002
+ \u3000\u3000\u2462\u716E\u7CA5(\u7075\u829D\u94F6\u8033\u7FB9)\uFE30\u7075\u829D9\u514B\uFF0C\u94F6\u80336\u514B\uFF0C\u51B0\u7CD615\u514B\uFF0C\u7528\u5C0F\u706B\u70962~3\u5C0F\u65F6\uFF0C\u81F3\u94F6\u8033\u6210\u7A20\u6C41\uFF0C\u53D6\u51FA\u7075\u829D\u6B8B\u6E23\uFF0C\u52063\u6B21\u670D\u7528\uFF0C\u6CBB\u54B3\u55FD\uFF0C\u5FC3\u795E\u4E0D\u5B89\uFF0C\u5931\u7720\u68A6\u591A\u3001\u6014\u5FE1\u3001\u5065\u5FD8\u7B49\u75C7\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/灵芝.asset.meta b/WuHu_touming/Assets/Conf/menuitem/植物/灵芝.asset.meta
new file mode 100644
index 0000000..44ff22a
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/灵芝.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6ed7bdc9271ae604391fe987ac2dfeff
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/白芍.asset b/WuHu_touming/Assets/Conf/menuitem/植物/白芍.asset
new file mode 100644
index 0000000..1c86aa7
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/白芍.asset
@@ -0,0 +1,34 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u767D\u828D"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 9f61ae86e23dd8346b33e91b39e3647d, type: 3}
+ - {fileID: 21300000, guid: 408c8a04a7af889489c95e8ccd57aa15, type: 3}
+ go: {fileID: 5497300028950154321, guid: ab295c8978154fc4ea18678b13090688, type: 3}
+ name_CN: "\u767D\u828D"
+ name_LT: Radix Paeoniae Alba
+ synopsis: "\u3000\u3000\u767D\u828D\uFF0CCynanchumotophyllumSchneid.\u662F\u841D\u85E6\u79D1\u9E45\u7ED2\u85E4\u5C5E\u690D\u7269\uFF1B\u591A\u5E74\u751F\u8349\u8D28\u85E4\u672C\uFF1B\u6839\u5706\u67F1\u72B6,\u7070\u9ED1\u8272\u3002\u751F\u4E8E\u5C71\u5730\u758F\u6797\u6216\u5C71\u5761\u704C\u6728\u4E1B\u4E2D\uFF1B\u6D77\u62D41400-2800\u7C73\u5206\u5E03\u4E8E\u5927\u7406\u5317\u90E8\u53CA\u4E91\u5357\u5927\u90E8\u5206\u5730\u533A\uFF1B\u897F\u85CF\u3001\u56DB\u5DDD\u3001\u5E7F\u897F\u3001\u6E56\u5357\u4E5F\u6709\u3002
+ \u3000\u3000\u836F\u7528\u6839\uFF0C\u5473\u8F9B\u3001\u82E6\uFF1B\u6709\u5C0F\u6BD2\uFF1B\u5177\u6E29\u9633\u795B\u6E7F\u3001\u8865\u4F53\u865A\u3001\u5065\u813E\u80C3\u7B49\u529F\u6548\u3002\u767D\u828D\u6C11\u95F4\u7528\u4E8E\u6CBB\u7597\u98CE\u6E7F\u51B7\u75DB\u3001\u98CE\u6E7F\u5173\u8282\u708E\u3001\u8170\u808C\u52B3\u635F\u3001\u4F53\u865A\u795E\u8870\u3001\u56DB\u80A2\u62BD\u6410\u3001\u6162\u60CA\u98CE\u3001\u72AC\u54AC\u4F24\u7B49\u75C5\u75C7\u3002
+ \u3000\u3000\u5F62\u6001\u7279\u5F81\uFF1A \u591A\u5E74\u751F\u8349\u8D28\u85E4\u672C\uFF1B\u6839\u5706\u67F1\u72B6\uFF0C\u7070\u9ED1\u8272\uFF0C\u76F4\u5F84\u7EA68\u6BEB\u7C73\uFF1B\u830E\u88AB\u4E24\u5217\u6BDB\u3002\u53F6\u5BF9\u751F\uFF0C\u819C\u8D28\uFF0C\u5375\u72B6\u62AB\u9488\u5F62\uFF0C\u957F7-10\u5398\u7C73\uFF0C\u57FA\u90E8\u5BBD4-8\u5398\u7C73\uFF0C\u9876\u7AEF\u957F\u6E10\u5C16\uFF0C\u57FA\u90E8\u6DF1\u8033\u72B6\u5FC3\u5F62\uFF0C\u53F6\u8033\u5706\u5F62\uFF0C\u4E0B\u5782\uFF0C\u4E24\u9762\u5747\u88AB\u67D4\u6BDB\u3002\u4F1E\u5F62\u805A\u4F1E\u82B1\u5E8F\u814B\u751F\uFF0C\u7740\u82B120\u4F59\u6735\uFF1B\u82B1\u843C\u5916\u9762\u88AB\u5FAE\u6BDB\uFF0C\u57FA\u90E8\u5185\u9762\u6709\u817A\u4F535\u4E2A\uFF1B\u82B1\u51A0\u767D\u8272\uFF0C\u88C2\u7247\u957F\u5706\u5F62\uFF0C\u5185\u88AB\u5FAE\u6BDB\uFF1B\u526F\u82B1\u51A0\u676F\u72B6\uFF0C\u6BD4\u5408\u854A\u51A0\u7565\u957F\uFF0C\u88C2\u7247\u4E2D\u95F4\u67091\u5C0F\u9F7F\uFF0C\u6216\u6709\u8936\u76B1\u6216\u7F3A\uFF1B\u82B1\u7C89\u5757\u6BCF\u5BA41\u4E2A\uFF0C\u4E0B\u5782\uFF1B\u67F1\u5934\u9876\u7AEF\u7565\u4E3A2\u88C2\u3002\u84C7\u8456\u53CC\u751F\u6216\u4EC51\u679A\u53D1\u80B2\uFF0C\u77ED\u62AB\u9488\u5F62\uFF0C\u957F\u7EA68\u5398\u7C73\uFF0C\u76F4\u5F841\u5398\u7C73\uFF0C\u5411\u7AEF\u90E8\u6E10\u5C16\uFF0C\u57FA\u90E8\u8F83\u72ED\uFF0C\u5916\u679C\u76AE\u6709\u76F4\u6761\u7EB9\uFF1B\u79CD\u5B50\u5375\u5F62\uFF0C\u957F6\u6BEB\u7C73\uFF0C\u5BBD3\u6BEB\u7C73\uFF1B\u79CD\u6BDB\u767D\u8272\u7EE2\u8D28\uFF0C\u957F3\u5398\u7C73\u3002\u82B1\u671F6-10\u6708\uFF0C\u679C\u671F8-11\u6708\u3002
+ \u3000\u3000\u751F\u957F\u73AF\u5883\uFF1A \u3000\u3000\u751F\u957F\u4E8E\u6D77\u62D41500-2800\u7C73\u7684\u5C71\u5730\u3001\u6EAA\u8C37\u758F\u6797\u4E2D\u6216\u5C71\u5761\u8DEF\u8FB9\u3002
+ \u3000\u3000\u5206\u5E03\u8303\u56F4\uFF1A \u3000\u3000\u4EA7\u4E8E\u5B89\u5FBD\u3001\u6D59\u6C5F\u3001\u6E56\u5357\u3001\u5E7F\u897F\u3001\u8D35\u5DDE\u3001\u4E91\u5357\u3001\u56DB\u5DDD\u548C\u897F\u85CF\u7B49\u7701\u533A\u3002
+ \u3000\u3000\u4E3B\u8981\u4EF7\u503C\uFF1A \u3000\u3000\u679D\u3001\u53F6\u6709\u6BD2\u8D28\uFF0C\u5236\u6210\u7C89\u5242\u53EF\u9632\u6CBB\u519C\u4E1A\u5BB3\u866B\u3002\u6839\u6BD2\u6027\u731B\u70C8\uFF0C\u636E\u6807\u672C\u4E0A\u8BB0\u8F7D\u53EF\u4EE5\u6BD2\u6740\u864E\u53CA\u5176\u4ED6\u91CE\u517D\u3002
+ \u3000\u3000\u3010\u6027\u5473\u3011 \u7518\u3001\u8F9B\uFF0C\u6E29\u3002\u6709\u5C0F\u6BD2\u3002
+ \u3000\u3000\u3010\u529F\u80FD\u4E3B\u6CBB\u3011\u795B\u98CE\u9664\u6E7F\uFF0C\u89E3\u6BD2\u9547\u75C9\u3002\u7528\u4E8E\u98CE\u6E7F\u9AA8\u75DB\uFF0C\u98CE\u75B9\u6414\u75D2\uFF0C\u766B\u75EB\uFF0C\u72C2\u72AC\u54AC\u4F24\uFF0C\u6BD2\u86C7\u54AC\u4F24\u3002
+ \u3000\u3000\u3010\u7528\u6CD5\u7528\u91CF\u30111\uFF5E3\u94B1\uFF0C\u6C34\u714E\u6216\u5165\u4E38\u3001\u6563\u5242\u670D\u3002
+ \u3000\u3000\u529F\u6548\uFF1A \u3000\u3000\u517B\u8840\u8C03\u7ECF\u3001\u67D4\u809D\u6B62\u75DB\uFF0C\u655B\u9634\u6B62\u6C57\u3001\u5E73\u6291\u809D\u9633\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/白芍.asset.meta b/WuHu_touming/Assets/Conf/menuitem/植物/白芍.asset.meta
new file mode 100644
index 0000000..ab91fc3
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/白芍.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9c9c26a4a718253479a114b3e6846cd8
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/胡萝卜.asset b/WuHu_touming/Assets/Conf/menuitem/植物/胡萝卜.asset
new file mode 100644
index 0000000..8c11a20
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/胡萝卜.asset
@@ -0,0 +1,36 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u80E1\u841D\u535C"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 0cf7186c644236644a3dcc73edac5038, type: 3}
+ - {fileID: 21300000, guid: e6b0ca0a46753e7458af36e921b50735, type: 3}
+ go: {fileID: 1249940429122847811, guid: 0f2e3840df4a33e44a87b8d78bc3b778, type: 3}
+ name_CN: "\u80E1\u841D\u535C"
+ name_LT: Daucus carota
+ synopsis: "\u3000\u3000\u80E1\u841D\u535C\uFF08\u5B66\u540D\uFF1ADaucuscarotavar.sativaHoffm.\uFF09\u662F\u4F1E\u5F62\u79D1\u3001\u80E1\u841D\u535C\u5C5E\u91CE\u80E1\u841D\u535C\u7684\u53D8\u79CD\uFF0C\u4E00\u5E74\u751F\u6216\u4E8C\u5E74\u751F\u8349\u672C\u690D\u7269\u3002\u6839\u7C97\u58EE\uFF0C\u957F\u5706\u9525\u5F62\uFF0C\u5448\u6A59\u7EA2\u8272\u6216\u9EC4\u8272\u3002\u830E\u76F4\u7ACB\uFF0C\u9AD8\u53EF\u8FBE90\u5398\u7C73\uFF0C\u591A\u5206\u679D\u3002\u53F6\u7247\u5177\u957F\u67C4\uFF0C\u7FBD\u72B6\u590D\u53F6\uFF0C\u88C2\u7247\u7EBF\u5F62\u6216\u62AB\u9488\u5F62\uFF0C\u5148\u7AEF\u5C16\u9510\uFF1B\u53F6\u67C4\u57FA\u90E8\u6269\u5927\uFF0C\u5F62\u6210\u53F6\u9798\u3002\u590D\u4F1E\u5F62\u82B1\u5E8F\uFF1B\u82B1\u5E8F\u6897\u6709\u7CD9\u786C\u6BDB\uFF1B\u603B\u82DE\u7247\u591A\u6570\uFF0C\u5448\u53F6\u72B6\u3001\u7ED3\u679C\u671F\u5916\u7F18\u7684\u4F1E\u8F90\u5411\u5185\u5F2F\u66F2\uFF1B\u82B1\u901A\u5E38\u767D\u8272\uFF0C\u6709\u65F6\u5E26\u6DE1\u7EA2\u8272\uFF1B\u82B1\u67C4\u4E0D\u7B49\u957F\u3002\u679C\u5B9E\u5706\u9525\u5F62\uFF0C\u68F1\u4E0A\u6709\u767D\u8272\u523A\u624B\u3002\u671F4\u6708\u5F00\u82B1\u3002
+ \u3000\u3000\u539F\u4EA7\u4E9A\u6D32\u897F\u90E8\uFF0C\u963F\u5BCC\u6C57,10\u4E16\u7EAA\u65F6\u7ECF\u4F0A\u6717\u4F20\u5165\u6B27\u6D32\u5927\u9646\uFF0C15\u4E16\u7EAA\u82F1\u56FD\u5DF2\u6709\u683D\u57F9\uFF0C16\u4E16\u7EAA\u4F20\u5165\u7F8E\u56FD\u300212\u4E16\u7EAA\u7ECF\u4F0A\u6717\u4F20\u5165\u4E2D\u56FD\uFF0C\u65E5\u672C\u572816\u4E16\u7EAA\u4ECE\u4E2D\u56FD\u5F15\u5165\u3002
+ \u3000\u3000\u80E1\u841D\u535C\u7D20\u662F\u7EF4\u751F\u7D20A\u7684\u4E3B\u8981\u6765\u6E90\uFF0C\u800C\u7EF4\u751F\u7D20A\u53EF\u4EE5\u4FC3\u8FDB\u751F\u957F\uFF0C\u9632\u6B62\u7EC6\u83CC\u611F\u67D3\uFF0C\u4EE5\u53CA\u5177\u6709\u4FDD\u62A4\u8868\u76AE\u7EC4\u7EC7\uFF0C\u4FDD\u62A4\u547C\u5438\u9053\u3001\u6D88\u5316\u9053\u3001\u6CCC\u5C3F\u7CFB\u7EDF\u7B49\u4E0A\u76AE\u7EC6\u80DE\u7EC4\u7EC7\u7684\u529F\u80FD\u4E0E\u4F5C\u7528\uFF1B\u80E1\u841D\u535C\u542B\u6709\u4E00\u79CD\u6A9E\u76AE\u7D20\uFF0C\u5E38\u5403\u53EF\u589E\u52A0\u51A0\u72B6\u52A8\u8109\u8840\u6D41\u91CF\uFF0C\u4FC3\u8FDB\u80BE\u4E0A\u817A\u7D20\u5408\u6210\uFF0C\u6709\u964D\u538B\u3001\u6D88\u708E\u4E4B\u529F\u6548\u3002\u80E1\u841D\u535C\u79CD\u5B50\u542B\u6CB9\u91CF\u8FBE13%\uFF0C\u53EF\u9A71\u86D4\u866B\uFF0C\u6CBB\u957F\u4E45\u4E0D\u6108\u7684\u75E2\u75BE\u3002\u80E1\u841D\u535C\u53F6\u5B50\u53EF\u9632\u6CBB\u6C34\u75D8\u4E0E\u6025\u6027\u9EC4\u75B8\u809D\u708E\u3002\u957F\u671F\u996E\u7528\u80E1\u841D\u535C\u6C41\u53EF\u9884\u9632\u591C\u76F2\u75C7\u3001\u5E72\u773C\u75C5\uFF0C\u4F7F\u76AE\u80A4\u4E30\u6DA6\u3001\u76B1\u8936\u5C55\u5E73\u3001\u6591\u70B9\u6D88\u9664\u53CA\u5934\u53D1\u5065\u7F8E\u3002\u7279\u522B\u662F\u5BF9\u5438\u70DF\u7684\u4EBA\u6765\u8BF4\uFF0C\u6BCF\u5929\u5403\u70B9\u80E1\u841D\u535C\u66F4\u6709\u9884\u9632\u80BA\u764C\u7684\u4F5C\u7528\u3002
+ \u3000\u3000\u4EA7\u5730\u751F\u5883\uFF1A \u3000\u3000\u539F\u4EA7\u4E9A\u6D32\u897F\u90E8\uFF0C\u963F\u5BCC\u6C57,10\u4E16\u7EAA\u65F6\u7ECF\u4F0A\u6717\u4F20\u5165\u6B27\u6D32\u5927\u9646\uFF0C15\u4E16\u7EAA\u82F1\u56FD\u5DF2\u6709\u683D\u57F9\uFF0C16\u4E16\u7EAA\u4F20\u5165\u7F8E\u56FD\u300212\u4E16\u7EAA\u7ECF\u4F0A\u6717\u4F20\u5165\u4E2D\u56FD\uFF0C\u65E5\u672C\u572816\u4E16\u7EAA\u4ECE\u4E2D\u56FD\u5F15\u5165\u3002\u80E1\u841D\u535C\u9002\u5E94\u6027\u5F3A\uFF0C\u6613\u683D\u57F9\uFF0C\u79CD\u690D\u5341\u5206\u666E\u904D\u3002
+ \u3000\u3000\u751F\u957F\u4E60\u6027\uFF1A \u3000\u3000\u80E1\u841D\u535C\u7684\u79CD\u5B50\u572820-25\u2103\u6E29\u5EA6\u6761\u4EF6\u4E0B\u6613\u53D1\u82BD\uFF0C\u6240\u9700\u65F6\u95F4\u7EA6\u4E3A5\u5929\uFF1B\u830E\u53F6\u6700\u9002\u5B9C\u572823-25\u2103\u6761\u4EF6\u4E0B\u751F\u957F\uFF0C\u5E7C\u82D7\u53EF\u801027\u2103\u4EE5\u4E0A\u7684\u9AD8\u6E29\uFF1B\u76F4\u6839\u81A8\u5927\u671F\u7684\u9002\u5B9C\u6E29\u5EA6\u662F13-18\u2103\u3002\u82B1\u671F4\u6708\u3002
+ \u3000\u3000\u4E3B\u8981\u4EF7\u503C\uFF1A \u3000\u3000\u80E1\u841D\u535C\u7684\u8425\u517B\u4EF7\u503C\u5DF2\u88AB\u4EBA\u4EEC\u6240\u65E5\u76CA\u91CD\u89C6\uFF0C\u8FD9\u4E3B\u8981\u662F\u80E1\u841D\u535C\u4E2D\u7684\u80E1\u841D\u535C\u7D20\u662F\u7EF4\u751F\u7D20A\u7684\u4E3B\u8981\u6765\u6E90\uFF0C\u800C\u7EF4\u751F\u7D20A\u53EF\u4EE5\u4FC3\u8FDB\u751F\u957F\uFF0C\u9632\u6B62\u7EC6\u83CC\u611F\u67D3\uFF0C\u4EE5\u53CA\u5177\u6709\u4FDD\u62A4\u8868\u76AE\u7EC4\u7EC7\uFF0C\u4FDD\u62A4\u547C\u5438\u9053\u3001\u6D88\u5316\u9053\u3001\u6CCC\u5C3F\u7CFB\u7EDF\u7B49\u4E0A\u76AE\u7EC6\u80DE\u7EC4\u7EC7\u7684\u529F\u80FD\u4E0E\u4F5C\u7528\uFF1B\u7F3A\u4E4F\u7EF4\u751F\u7D20A\u4F1A\u53D1\u751F\u7ED3\u819C\u5E72\u71E5\u75C5\u3001\u591C\u76F2\u75C7\u3001\u767D\u5185\u969C\u7B49\uFF0C\u8FD8\u4F1A\u53D1\u751F\u808C\u8089\u3001\u5185\u810F\u5668\u5B98\u840E\u7F29\u3001\u751F\u6B96\u5668\u9000\u5316\u7B49\u75BE\u75C5\u3002\u5BF9\u4E00\u822C\u6210\u5E74\u4EBA\u6765\u8BF4\uFF0C\u6BCF\u5929\u9700\u6444\u5165\u7EF4\u751F\u7D20A\u8FBE2200\u56FD\u9645\u5355\u4F4D\uFF0C\u624D\u80FD\u7EF4\u6301\u6B63\u5E38\u7684\u751F\u547D\u6D3B\u52A8\u3002\u5B83\u6709\u9632\u764C\u7684\u4F5C\u7528\uFF0C\u5E76\u8BA4\u4E3A\u8FD9\u4E3B\u8981\u662F\u80E1\u841D\u535C\u7D20\u5728\u4EBA\u4F53\u5185\u80FD\u8F6C\u5316\u6210\u7EF4\u751F\u7D20A\u7684\u529F\u52B3\u3002
+ \u3000\u3000\u80E1\u841D\u535C\u542B\u6709\u4E00\u79CD\u6A9E\u76AE\u7D20\uFF0C\u5E38\u5403\u53EF\u589E\u52A0\u51A0\u72B6\u52A8\u8109\u8840\u6D41\u91CF\uFF0C\u4FC3\u8FDB\u80BE\u4E0A\u817A\u7D20\u5408\u6210\uFF0C\u6709\u964D\u538B\u3001\u6D88\u708E\u4E4B\u529F\u6548\u3002\u80E1\u841D\u535C\u79CD\u5B50\u542B\u6CB9\u91CF\u8FBE13%\uFF0C\u53EF\u9A71\u86D4\u866B\uFF0C\u6CBB\u957F\u4E45\u4E0D\u6108\u7684\u75E2\u75BE\u3002\u80E1\u841D\u535C\u53F6\u5B50\u53EF\u9632\u6CBB\u6C34\u75D8\u4E0E\u6025\u6027\u9EC4\u75B8\u809D\u708E\u3002\u957F\u671F\u996E\u7528\u80E1\u841D\u535C\u6C41\u53EF\u9884\u9632\u591C\u76F2\u75C7\u3001\u5E72\u773C\u75C5\uFF0C\u4F7F\u76AE\u80A4\u4E30\u6DA6\u3001\u76B1\u8936\u5C55\u5E73\u3001\u6591\u70B9\u6D88\u9664\u53CA\u5934\u53D1\u5065\u7F8E\u3002\u7279\u522B\u662F\u5BF9\u5438\u70DF\u7684\u4EBA\u6765\u8BF4\uFF0C\u6BCF\u5929\u5403\u70B9\u80E1\u841D\u66F4\u6709\u9884\u9632\u80BA\u764C\u7684\u4F5C\u7528\u3002
+ \u3000\u3000\u2022\u63D0\u9AD8\u673A\u4F53\u9632\u764C\u6297\u764C\u80FD\u529B
+ \u3000\u3000\u80E1\u841D\u535C\u4E2D\u7684\u7C7B\u80E1\u841D\u535C\u7D20\u80FD\u63D0\u9AD8\u4EBA\u4F53\u514D\u75AB\u7CFB\u7EDFB\u7EC6\u80DE\u4EA7\u751F\u6297\u4F53\uFF0C\u4ECE\u800C\u5177\u6709\u63D0\u9AD8\u4EBA\u4F53\u514D\u75AB\u529B\u7684\u529F\u6548\u3002\u7C7B\u80E1\u841D\u535C\u7D20\u8FD8\u80FD\u589E\u52A0\u81EA\u7136\u6740\u4F24\u7684\u6570\u76EE\uFF0C\u6D88\u9664\u4F53\u5185\u88AB\u611F\u67D3\u7684\u7EC6\u80DE\u548C\u764C\u7EC6\u80DE\u3002\u7ECF\u56FD\u5185\u5916\u4E13\u5BB6\u7814\u7A76\u8BC1\u5B9E\uFF0C\u80E1\u841D\u535C\u786E\u6709\u9632\u764C\u548C\u6297\u764C\u7684\u529F\u6548\uFF0C\u539F\u56E0\u662F\uFF1A\u2460\u80E1\u841D\u535C\u5BCC\u542B\u7684\u6297\u6C27\u5316\u7EF4\u751F\u7D20\uFF08\u03B2-\u80E1\u841D\u535C\u7D20\uFF0C\u7EF4\u751F\u7D20\uFF23\uFF09\u53EF\u4EE5\u8D77\u5230\u6291\u5236\u764C\u7EC6\u80DE\u589E\u957F\u7684\u4F5C\u7528\uFF0C\u964D\u4F4E\u80BF\u7624\u7684\u53D1\u751F\u7387\uFF1B\u2461\u80E1\u841D\u535C\u4E2D\u542B\u6709\u4E00\u79CD\u7CD6\u5316\u9175\u7D20\uFF0C\u80FD\u5206\u89E3\u98DF\u7269\u4E2D\u5B58\u5728\u6709\u81F4\u764C\u4F5C\u7528\u7684\u7684\u4E9A\u785D\u80FA\uFF0C\u8FD9\u6837\u5C31\u51CF\u5C11\u4E86\u5176\u5BF9\u4EBA\u4F53\u7684\u81F4\u764C\u4F5C\u7528\uFF1B\u2462\u80E1\u841D\u535C\u4E2D\u6709\u8F83\u591A\u63D0\u9AD8\u5DE8\u7EC6\u80DE\u7684\u541E\u566C\u80FD\u529B\u7684\u6728\u8D28\u7D20\uFF0C\u56E0\u6B64\u63D0\u5347\u4E86\u5DE8\u7EC6\u80DE\u541E\u566C\u764C\u7EC6\u80DE\u7684\u6D3B\u529B\u3002
+ \u3000\u3000\u2022\u63D0\u9AD8\u673A\u4F53\u62B5\u6297\u75BE\u75C5\u7684\u80FD\u529B
+ \u3000\u3000\u80E1\u841D\u535C\u4E2D\u542B\u6709\u4E30\u5BCC\u7684\u6728\u8D28\u7D20\u3001\u69F2\u76AE\u7D20\u548C\u5C71\u5948\u915A\u3001\u7425\u73C0\u9178\u94BE\u7B49\u6210\u5206\uFF0C\u80FD\u589E\u52A0\u51A0\u72B6\u52A8\u8109\u7684\u8840\u6D41\u91CF\u3001\u964D\u4F4E\u8840\u8102\u542B\u91CF\u3001\u4FC3\u8FDB\u80BE\u4E0A\u817A\u7D20\u7684\u5408\u6210\u5206\u6CCC\uFF0C\u8FDB\u800C\u5177\u6709\u964D\u538B\u3001\u5F3A\u5FC3\u4E4B\u529F\u6548\u3002\u80E1\u841D\u535C\u7EC6\u80DE\u58C1\u7684\u6210\u5206\u91CC\u542B\u6709\u6781\u5176\u4E30\u5BCC\u7684\u9499\u679C\u80F6\u9178\u8102\uFF0C\u5B83\u80FD\u52A0\u901F\u80C6\u6C41\u9178\u7684\u51DD\u56FA\uFF0C\u4FC3\u4F7F\u4EBA\u4F53\u5185\u80C6\u56FA\u9187\u5411\u80C6\u6C41\u9178\u53D1\u751F\u8F6C\u53D8\uFF0C\u4ECE\u800C\u8D77\u5230\u964D\u4F4E\u80C6\u56FA\u9187\u3001\u9884\u9632\u51A0\u5FC3\u75C5\u7684\u4F5C\u7528\u3002\u80E1\u841D\u535C\u8FD8\u5BCC\u542B\u81B3\u98DF\u7EA4\u7EF4\uFF0C\u5B83\u6709\u5229\u4E8E\u5EF6\u7F13\u80A0\u9053\u8461\u8404\u7CD6\u7684\u5438\u6536\uFF0C\u51CF\u5C11\u8840\u7CD6\u4E0A\u5347\u7684\u5E45\u5EA6\uFF0C\u56E0\u6B64\u53EF\u4EE5\u8C03\u8282\u8840\u7CD6\u6C34\u5E73\uFF0C\u51CF\u5C11\u5BF9\u80F0\u5C9B\u7D20\u7684\u9700\u6C42\u3002\u80E1\u841D\u535C\u4E2D\u7684\u679C\u80F6\u7269\u8D28\u80FD\u4E0E\u8FDB\u5165\u4F53\u5185\u7684\u6C5E\u79BB\u5B50\u7ED3\u5408\uFF0C\u4FC3\u8FDB\u4EBA\u4F53\u5185\u6C5E\u79BB\u5B50\u6392\u51FA\uFF0C\u6D88\u9664\u6216\u964D\u4F4E\u6C5E\u5BF9\u4EBA\u4F53\u7684\u6BD2\u5BB3\u4F5C\u7528\u3002
+ \u3000\u3000\u2022\u6297\u6C27\u5316\u3001\u5EF6\u7F13\u8870\u8001 \u3000\u3000\u751F\u7269\u4F53\u5185\u8102\u8D28\u8FC7\u6C27\u5316\u548C\u81EA\u7531\u57FA\u7684\u4EA7\u751F\u5BFC\u81F4\u7EC6\u80DE\u529F\u80FD\u7684\u4E0B\u964D\uFF0C\u4ECE\u800C\u5F15\u8D77\u4EBA\u4F53\u7684\u8870\u8001\u3002\u800C\u80E1\u841D\u535C\u7D20\u5206\u5B50\u7ED3\u6784\u4E2D\u542B\u6709\u591A\u4E2A\u53CC\u952E\uFF0C\u80FD\u6291\u5236\u8102\u8D28\u7684\u8FC7\u6C27\u5316\u53CD\u5E94\uFF0C\u4ECE\u800C\u51CF\u5C0F\u8FC7\u6C27\u5316\u7269\u5BF9\u514D\u75AB\u529F\u80FD\u7684\u6291\u5236\u3002\u540C\u65F6\u4F5C\u4E3A\u5355\u7EBF\u6001\u6C27\u7684\u6DEC\u706D\u5242\uFF0C\u5B83\u8FD8\u80FD\u591F\u6E05\u9664\u4F53\u5185\u591A\u4F59\u7684\u81EA\u7531\u57FA\uFF0C\u5EF6\u7F13\u8870\u8001\u3002\u6B64\u5916\uFF0C\u80E1\u841D\u535C\u5BCC\u542B\u7EF4\u751F\u7D20\uFF0C\u53EF\u523A\u6FC0\u76AE\u80A4\u7684\u65B0\u9648\u4EE3\u8C22\uFF0C\u589E\u8FDB\u8840\u6DB2\u5FAA\u73AF\uFF0C\u4ECE\u800C\u4F7F\u76AE\u80A4\u7EC6\u5AE9\u5149\u6ED1\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/胡萝卜.asset.meta b/WuHu_touming/Assets/Conf/menuitem/植物/胡萝卜.asset.meta
new file mode 100644
index 0000000..1d47ad9
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/胡萝卜.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 38fb11f2b79b3d64fb27bd5605e72f71
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/银杏叶.asset b/WuHu_touming/Assets/Conf/menuitem/植物/银杏叶.asset
new file mode 100644
index 0000000..bafe011
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/银杏叶.asset
@@ -0,0 +1,28 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u94F6\u674F\u53F6"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: a3466f990fc201f49bfe7e5995972955, type: 3}
+ - {fileID: 21300000, guid: f2acce736fd672148a54d3648fe13083, type: 3}
+ go: {fileID: 8246582574549788720, guid: 89c15a0420fcacc409351d1e5cc5dd4a, type: 3}
+ name_CN: "\u94F6\u674F\u53F6"
+ name_LT: Folium Ginkgo
+ synopsis: "\u3000\u3000\u94F6\u674F\u53F6\u4E2D\u542B\u6709\u5927\u91CF\u7684\u94F6\u674F\u9EC4\u916E\u3001\u94F6\u674F\u82E6\u5185\u8102\u7B49\u63D0\u53D6\u7269\uFF0C\u5BF9\u4EBA\u7C7B\u5065\u5EB7\u6709\u795E\u5947\u529F\u6548\u30021965\u5E74\u5FB7\u56FD\u79D1\u5B66\u5BB6W.Sehwabe\u9996\u5148\u53D1\u73B0\u94F6\u674F\u53F6\u4E2D\u542B\u6709\u964D\u4F4E\u80C6\u56FA\u9187\u7684\u6210\u4EFD\uFF0C\u63A5\u7740\u5728\u4E16\u754C\u8303\u56F4\u5185\u5F62\u6210\u94F6\u674F\u53F6\u836F\u7406\u4E0E\u5E94\u7528\u7684\u70ED\u6F6E\u3002\u516B\u5341\u5E74\u4EE3\u4EE5\u6765\uFF0C\u56FD\u5916\u5B66\u8005\u53D1\u73B0\u5176\u5728\u9632\u6CBB\u5FC3\u8840\u7BA1\u75BE\u75C5\u548C\u795E\u7ECF\u6027\u75BE\u75C5\u3001\u6297\u8870\u8001\u3001\u6297\u764C\u3001\u7F8E\u5BB9\u548C\u62A4\u80A4\u7B49\u591A\u65B9\u9762\u7684\u7597\u6548\uFF0C\u5148\u540E\u7533\u62A5\u4E86\u5927\u91CF\u7684\u4E13\u5229\uFF0C\u5E76\u5C06\u6570\u5341\u79CD\u94F6\u674F\u53F6\u5236\u5242\u6295\u653E\u5E02\u573A\uFF0C\u7F8E\u56FD\u300A\u534E\u76DB\u987F\u90AE\u62A5\u300B\uFF081998\u5E742\u670822\u65E5\uFF09\u8F7D\uFF1A\u201C\u4E2D\u56FD\u7684\u4E2D\u533B\u7528\u94F6\u674F\u53F6\u63D0\u53D6\u7269\u6CBB\u7597\u54EE\u5598\u548C\u8FC7\u654F\u53CD\u5E94\u81F3\u5C11\u67095000\u5E74\u5386\u53F2......\u201D\u94F6\u674F\u53F6\u836F\u7528\u4EF7\u503C\u7684\u53D1\u73B0\uFF0C\u4EE4\u5F53\u4ECA\u4E16\u4EBA\u77A0\u76EE\u7ED3\u820C\uFF0C\u60CA\u53F9\u4E0D\u5DF2\u3002
+ \u3000\u3000\u94F6\u674F\u53F6\uFF0C\u522B\u540D\uFF1A\u767D\u679C\u53F6\u3002\u662F\u4E00\u79CD\u5177\u6709\u5F88\u9AD8\u836F\u7528\u4EF7\u503C\u7684\u690D\u7269
+ \u3000\u3000\u6027\u72B6\uFF1A \u3000\u3000\u672C\u54C1\u591A\u76B1\u6298\uFF0C\u5B8C\u6574\u8005\u5448\u6247\u5F62\uFF0C\u957F3\uFF5E12cm\uFF0C\u5BBD5\uFF5E15cm\u3002\u9EC4\u7EFF\u8272\u6216\u6D45\u68D5\u9EC4\u8272\uFF0C\u4E0A\u7F18\u5448\u4E0D\u89C4\u5219\u7684\u6CE2\u72B6\u5F2F\u66F2\uFF0C\u6709\u7684\u4E2D\u95F4\u51F9\u5165\uFF0C\u6DF1\u8005\u53EF\u8FBE\u53F6\u957F\u76844/5\u3002\u5177\u4E8C\u53C9\u72B6\u5E73\u884C\u53F6\u8109\uFF0C\u7EC6\u800C\u5BC6\uFF0C\u5149\u6ED1\u65E0\u6BDB\uFF0C\u6613\u7EB5\u5411\u6495\u88C2\u3002\u53F6\u57FA\u6954\u5F62\u53F6\u67C4\u957F2\uFF5E8cm\u3002\u4F53\u8F7B\u3002\u6C14\u5FAE\uFF0C\u5473\u5FAE\u82E6\u3002
+ \u3000\u3000\u4F5C\u7528\uFF1A \u3000\u3000\u655B\u80BA\uFF0C\u5E73\u5598\uFF0C\u6D3B\u8840\u5316\u7600\uFF0C\u6B62\u75DB\u3002\u7528\u4E8E\u80BA\u865A\u54B3\u5598\uFF1B\u51A0\u5FC3\u75C5\uFF0C\u5FC3\u7EDE\u75DB\uFF0C\u9AD8\u8840\u8102\uFF0C\u6297\u51DD\u56FA\uFF0C\u6709\u4E00\u5B9A\u6982\u7387\u63D0\u9AD8\u8BB0\u5FC6\u529B\u3002\u94F6\u674F\u53F6\u867D\u80FD\u4FC3\u8FDB\u8840\u6DB2\u5FAA\u73AF\uFF0C\u9884\u9632\u5FC3\u8840\u7BA1\u75C5\uFF0C\u4F46\u4E0D\u80FD\u540C\u65F6\u670D\u7528\u5176\u5B83\u6CBB\u5FC3\u8840\u7BA1\u836F\u7269\uFF08\u4F8B\u5982\u963F\u53F8\u5339\u6797\uFF09\uFF0C\u94F6\u674F\u63D0\u53D6\u7269\u4E3A\u6D53\u7F29\u9897\u7C92\u72B6\uFF0C\u5177\u6709\u5F88\u5F3A\u7684\u6E05\u9664\u81EA\u7531\u57FA\u548C\u6297\u6C27\u5316\u4F5C\u7528\uFF0C\u94F6\u674F\u53F6\u4E2D\u7684\u9EC4\u916E\u7519\u3001\u6C28\u57FA\u9178\u548C\u6C28\u57FA\u9178\u5408\u6210\u80F6\u539F\u86CB\u767D\u6210\u4EFD\u5BF9\u4EBA\u4F53\u7F8E\u5BB9\uFF0C\u6291\u5236\u9ED1\u8272\u7D20\u751F\u957F\uFF0C\u4FDD\u6301\u76AE\u80A4\u5149\u6CFD\u4E0E\u5F39\u6027\u8D77\u7740\u4E0D\u5C0F\u7684\u4F5C\u7528\u3002\u6B64\u5916\uFF0C\u636E\u73B0\u4EE3\u4E34\u5E8A\u7814\u7A76\uFF0C\u5BF9\u4EE5\u9634\u6027\u75C7\u72B6\u4E3A\u4E3B\uFF08\u5982\u793E\u4F1A\u9000\u7F29\uFF0C\u61D2\u6563\uFF0C\u601D\u7EF4\u8D2B\u4E4F\uFF0C\u5446\u6EDE\u7B49\u75C7\u72B6\uFF09\u7684\u6162\u6027\u7CBE\u795E\u5206\u88C2\u75C7\u6709\u663E\u8457\u6548\u679C\uFF0C\u5BF9\u8001\u5E74\u75F4\u5446\u75C7\u4E5F\u6709\u4E00\u5B9A\u7684\u6548\u679C\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/植物/银杏叶.asset.meta b/WuHu_touming/Assets/Conf/menuitem/植物/银杏叶.asset.meta
new file mode 100644
index 0000000..67904e5
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/植物/银杏叶.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3b9c7172f1af69f4e813dd5e6af6bbb2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石.meta b/WuHu_touming/Assets/Conf/menuitem/矿石.meta
new file mode 100644
index 0000000..1aab33d
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fa19feb0e0c65d649b64fd552cab20e9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/石膏.asset b/WuHu_touming/Assets/Conf/menuitem/矿石/石膏.asset
new file mode 100644
index 0000000..7747389
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/石膏.asset
@@ -0,0 +1,42 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u77F3\u818F"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 08cd3c3f6eed9864199e1d1f06237300, type: 3}
+ - {fileID: 21300000, guid: 08cd3c3f6eed9864199e1d1f06237300, type: 3}
+ go: {fileID: 2471210436486330202, guid: 5ee3664e4eee458419489815e0f9ae4d, type: 3}
+ name_CN: "\u77F3\u818F"
+ name_LT: Gypsum Fibrosum
+ synopsis: "\u3000\u3000\u77F3\u818F\u662F\u5355\u659C\u6676\u7CFB\u77FF\u7269\uFF0C\u662F\u4E3B\u8981\u5316\u5B66\u6210\u5206\u4E3A\u786B\u9178\u9499\uFF08CaSO4\uFF09\u7684\u6C34\u5408\u7269\u3002\u77F3\u818F\u662F\u4E00\u79CD\u7528\u9014\u5E7F\u6CDB\u7684\u5DE5\u4E1A\u6750\u6599\u548C\u5EFA\u7B51\u6750\u6599\u3002\u53EF\u7528\u4E8E\u6C34\u6CE5\u7F13\u51DD\u5242\u3001\u77F3\u818F\u5EFA\u7B51\u5236\u54C1\u3001\u6A21\u578B\u5236\u4F5C\u3001\u533B\u7528\u98DF\u54C1\u6DFB\u52A0\u5242\u3001\u786B\u9178\u751F\u4EA7\u3001\u7EB8\u5F20\u586B\u6599\u3001\u6CB9\u6F06\u586B\u6599\u7B49\u3002
+ \u3000\u3000\u77F3\u818F\u53CA\u5176\u5236\u54C1\u7684\u5FAE\u5B54\u7ED3\u6784\u548C\u52A0\u70ED\u8131\u6C34\u6027\uFF0C\u4F7F\u4E4B\u5177\u4F18\u826F\u7684\u9694\u97F3\u3001\u9694\u70ED\u548C\u9632\u706B\u6027\u80FD\u3002
+ \u3000\u3000\u836F\u7406\u4F5C\u7528\uFF1A
+ \u3000\u3000\u2022\u89E3\u70ED\u4F5C\u7528 \u3000\u3000\u751F\u77F3\u818F\u5BF9\u6B63\u5E38\u4F53\u6E29\u65E0\u964D\u6E29\u4F5C\u7528,\u800C\u5BF9\u4EBA\u5DE5\u53D1\u70ED\u52A8\u7269\u5177\u6709\u4E00\u5B9A\u7684\u89E3\u70ED\u4F5C\u7528,\u5BF9\u4EBA\u5DE5\u53D1\u70ED\u5BB6\u5154\u6709\u660E\u663E\u7684\u9000\u70ED\u4F5C\u7528,\u5176\u9000\u70ED\u4F5C\u7528\u53EF\u80FD\u4E0E\u5176\u4E3B\u8981\u6210\u5206\u9499\u7684\u4F5C\u7528\u65E0\u5173\u3002\u751F\u77F3\u818F\u714E\u524215g/kg\u704C\u80C3\u5BF9\u6CE8\u5C04\u4F24\u5BD2\u4E94\u8054\u83CC\u82D7\u6240\u81F4\u7684\u53D1\u70ED\u5BB6\u5154\u65E0\u9000\u70ED\u4F5C\u7528\uFF1B\u5982\u679C\u5148\u7ED9\u5154\u704C\u80C3\u751F\u77F3\u818F\u714E\u524215g/kg,\u518D\u6CE8\u5C04\u4F24\u5BD2\u4E94\u8054\u83CC\u82D7\u5219\u4E0D\u80FD\u5F15\u8D77\u4F53\u6E29\u5927\u5E45\u5EA6\u5347\u9AD8\u3002\u77F3\u818F\u5177\u6709\u8FC5\u901F\u4F46\u7EF4\u6301\u65F6\u95F4\u8F83\u77ED\u7684\u89E3\u70ED\u4F5C\u7528,\u5BF9\u4F24\u5BD2\u83CC\u82D7\u5F15\u8D77\u7684\u53D1\u70ED\u5154,5g/kg\u751F\u77F3\u818F\u7684\u964D\u6E29\u6548\u679C\u4E0E0.2g/kg\u5B89\u66FF\u6BD4\u6797\u76F8\u4F3C,\u4EE5\u670D\u836F\u540E\u534A\u5C0F\u65F6\u4F53\u6E29\u4E0B\u964D\u4E3A\u663E\u8457,\u57281\uFF5E1.5\u5C0F\u65F6\u4F5C\u7528\u6700\u5F3A\u3002
+ \u3000\u3000\u767D\u864E\u6C64\u548C\u5355\u5473\u77F3\u818F\u714E\u5242\u5BF9\u5B9E\u9A8C\u6027\u81F4\u70ED\u5BB6\u5154\u90FD\u5177\u6709\u4E00\u5B9A\u7684\u9000\u70ED\u4F5C\u7528\uFF1B\u4E0D\u542B\u77F3\u818F\u7684\u77E5\u6BCD\u7518\u8349\u5408\u5242\u548C\u53BB\u9499\u767D\u864E\u6C64\u7B49\u5747\u672A\u89C1\u660E\u663E\u9000\u70ED\u6548\u679C,\u53EF\u4EE5\u8BA4\u4E3A\u77F3\u818F\u662F\u767D\u864E\u6C64\u9000\u70ED\u4F5C\u7528\u7684\u4E3B\u8981\u836F\u7269,\u77F3\u818F\u4F5C\u7528\u53EF\u88AB\u5904\u65B9\u4E2D\u7684\u5176\u4ED6\u836F\u7269\u6240\u52A0\u5F3A,\u4F46\u4E0D\u968F\u77F3\u818F\u7684\u7528\u91CF\u589E\u52A0\u800C\u589E\u52A0\u3002\u5BF9\u5B9E\u9A8C\u52A8\u7269\u7ED9\u836F\u524D\u540E\u8840\u9499\u6C34\u5E73\u8FDB\u884C\u6D4B\u5B9A,\u8868\u660E\u8840\u9499\u5347\u9AD8\u6C34\u5E73\u4E0E\u9000\u70ED\u4F5C\u7528\u5173\u7CFB\u5BC6\u5207\u3002\u6709\u62A5\u9053\u6307\u51FA,\u77F3\u818F\u4E0E\u77E5\u6BCD\u5408\u7528\u7684\u9000\u70ED\u6548\u679C\u8F83\u5355\u7528\u4E3A\u5F3A,\u77E5\u6BCD\u7684\u89E3\u70ED\u6210\u5206\u4E3A\u8292\u679C\u7519,\u7EAF\u786B\u9178\u9499\u65E0\u6548,\u56E0\u6B64\u63A8\u6D4B\u77F3\u818F\u7684\u89E3\u70ED\u4F5C\u7528\u4E3A\u5176\u6240\u542B\u786B\u9178\u9499\u4EE5\u5916\u6210\u5206\u6240\u81F4\u3002\u5B9E\u9A8C\u8868\u660E:\u9EBB\u674F\u77F3\u7518\u6C64\u53CA\u77F3\u818F\u518D\u7528\uFF08\u714E\u716E\u540E\u78BE\u788E\u518D\u6B21\u4F7F\u7528\uFF09\u9EBB\u674F\u77F3\u7518\u6C64\u7684\u9000\u70ED\u4F5C\u7528\u5747\u5F3A\u4E8E\u77F3\u818F\u53CA\u77F3\u818F\u518D\u7528\u6C34\u714E\u6DB2\u3002
+ \u3000\u3000\u4EA6\u6709\u62A5\u9053,\u4EE5\u751F\u77F3\u818F\u76841:1\u714E\u6DB2\u7684\u4E0A\u6E05\u6DB2\u90E8\u5206\u53CA\u4E0A\u6E05\u6DB2\u52A0\u751F\u77F3\u818F\u7C89\u7ED9\u4E88\u4F24\u5BD2\u83CC\u82D7\u5F15\u81F4\u7684\u53D1\u70ED\u5BB6\u5154,\u672A\u89C1\u660E\u663E\u9000\u70ED\u4F5C\u7528\u3002\u56FD\u5916\u6709\u7528\u5B9E\u9A8C\u6027\u53D1\u70ED\u5927\u9F20\u7684\u5B9E\u9A8C\u8BC1\u660E:\u77F3\u818F\u704C\u670D\u3001\u76AE\u4E0B\u6CE8\u5C04\u6216\u9759\u8109\u6CE8\u5C04\u5747\u672A\u89C1\u6709\u660E\u663E\u7684\u89E3\u70ED\u4F5C\u7528,\u4F46\u5F53\u4EE5\u7981\u6B62\u996E\u6C34\u3001\u5185\u6BD2\u7D20\u5F15\u81F4\u53D1\u70ED\u3001\u7ED9\u4E88\u5229\u5C3F\u5242\u3001\u5582\u9972\u98DF\u76D0\u4EE5\u53CA\u4EE5\u8F90\u5C04\u70ED\u7B49\u65B9\u6CD5\u9020\u6210\u52A8\u7269\u201C\u53E3\u6E34\u201D\u72B6\u6001\u65F6,\u77F3\u818F\u53EF\u4EE5\u51CF\u5C11\u5927\u9F20\u7684\u996E\u6C34\u91CF,\u5373\u53EF\u51CF\u8F7B\u5176\u201C\u53E3\u6E34\u201D\u72B6\u6001\u3002
+ \u3000\u3000\u2022\u5BF9\u5FC3\u8840\u7BA1\u7CFB\u7EDF\u7684\u4F5C\u7528 \u3000\u3000\u77F3\u818F\u6D78\u6DB2\u5BF9\u86D9\u7684\u5728\u4F4D\u5FC3\u810F\u65E0\u5F71\u54CD,\u5C0F\u5242\u91CF\u77F3\u818F\u6D78\u6DB2\u5BF9\u4E8E\u79BB\u4F53\u87FE\u870D\u5FC3\u53CA\u5154\u5FC3\u6709\u5174\u594B\u4F5C\u7528,\u5927\u5242\u91CF\u5219\u4EA7\u751F\u6291\u5236\u4F5C\u7528,\u6362\u6DB2\u540E\u5FC3\u810F\u53EF\u6062\u590D\u6B63\u5E38\u3002\u9759\u8109\u6CE8\u5C044%\u77F3\u818F\u4E0A\u6E05\u6DB20.1ml/kg\u65F6,\u5BF9\u5BB6\u5154\u3001\u732B\u7684\u547C\u5438\u3001\u8840\u538B\u53CA\u8840\u6D41\u91CF\u65E0\u5F71\u54CD,\u800C\u6CE8\u5C041ml/kg\u4EE5\u4E0A\u65F6,\u5448\u73B0\u547C\u5438\u6291\u5236\u3001\u8840\u538B\u4E0B\u964D\u3001\u8840\u6D41\u91CF\u51CF\u5C11\u3001\u5FC3\u7387\u51CF\u6162\u3002\u9759\u8109\u6CE8\u5C04\u77F3\u818F\u6DB20.2ml/kg\u53EF\u4F7F\u5BB6\u5154\u548C\u732B\u7684\u5927\u817F\u52A8\u8109\u7684\u8840\u6D41\u91CF\u5448\u4E00\u65F6\u6027\u51CF\u5C11,\u5176\u540E\u589E\u52A0,\u5E76\u4F7F\u51A0\u72B6\u52A8\u8109\u8840\u6D41\u91CF\u51CF\u5C11\u3002
+ \u3000\u3000\u2022\u5BF9\u5E73\u6ED1\u808C\u7684\u4F5C\u7528 \u3000\u3000\u5C0F\u5242\u91CF\u77F3\u818F\u4E0A\u6E05\u6DB2\u4F7F\u5BB6\u5154\u7684\u79BB\u4F53\u5C0F\u80A0\u548C\u5B50\u5BAB\u632F\u5E45\u589E\u5927,\u5927\u5242\u91CF\u5219\u7D27\u5F20\u6027\u964D\u4F4E,\u632F\u5E45\u51CF\u5C0F\u3002\u77F3\u818F\u8FD8\u53EF\u4EE5\u4F7F\u5C0F\u9F20\u5C3F\u6392\u51FA\u91CF\u589E\u52A0,\u5C0F\u80A0\u63A8\u8FDB\u529F\u80FD\u51CF\u6162,\u5E76\u589E\u52A0\u5927\u9F20\u548C\u732B\u7684\u80C6\u6C41\u6392\u6CC4\u3002
+ \u3000\u3000\u2022\u5176\u4ED6\u4F5C\u7528 \u3000\u3000\u77F3\u818F\u5185\u670D\u7ECF\u80C3\u9178\u4F5C\u7528,\u4E00\u90E8\u5206\u53D8\u6210\u53EF\u6EB6\u6027\u9499\u76D0,\u81F3\u80A0\u5438\u6536\u5165\u8840\u80FD\u589E\u52A0\u8840\u6E05\u5185\u9499\u79BB\u5B50\u6D53\u5EA6,\u53EF\u6291\u5236\u795E\u7ECF\u5E94\u6FC0\u80FD\u529B\uFF08\u5305\u62EC\u4E2D\u67A2\u795E\u7ECF\u7684\u4F53\u6E29\u8C03\u8282\u529F\u80FD\uFF09,\u51CF\u4F4E\u9AA8\u9ABC\u808C\u7684\u5174\u594B\u6027,\u7F13\u89E3\u808C\u8089\u75C9\u631B,\u53C8\u80FD\u51CF\u5C11\u8840\u7BA1\u901A\u900F\u6027\u3002
+ \u3000\u3000\u5728\u4F53\u5916\u57F9\u517B\u5B9E\u9A8C\u4E2D,1:1\u7684\u77F3\u818FHanks\u6DB2\u80FD\u660E\u663E\u589E\u5F3A\u5154\u80BA\u6CE1\u5DE8\u566C\u7EC6\u80DE\u5BF9\u767D\u8272\u8461\u8404\u7403\u83CC\u53CA\u80F6\u4F53\u91D1\u7684\u541E\u566C\u80FD\u529B,\u5E76\u80FD\u4FC3\u8FDB\u541E\u566C\u7EC6\u80DE\u7684\u6210\u719F\u3002Ca++\u53EF\u63D0\u9AD8\u80BA\u6CE1\u5DE8\u566C\u7EC6\u80DE\u7684\u6355\u6349\u7387,\u52A0\u5F3A\u5176\u541E\u566C\u6D3B\u6027\u548C\u52A0\u901F\u5176\u5BF9\u5C18\u7C92\u7684\u6E05\u9664,\u5728\u7EF4\u6301\u5DE8\u566C\u7EC6\u80DE\u751F\u7406\u529F\u80FD\u4E0A\u5177\u6709\u91CD\u8981\u610F\u4E49\u3002\u56E0\u6B64\u53EF\u4EE5\u8BA4\u4E3A,Ca++\u5728\u77F3\u818F\u7684\u4E0A\u8FF0\u529F\u80FD\u4E2D\u8D77\u91CD\u8981\u4F5C\u7528\u3002
+ \u3000\u3000\u957F\u671F\u5582\u9972\u77F3\u818F,\u53EF\u4F7F\u5927\u9F20\u5782\u4F53\u3001\u80BE\u4E0A\u817A\u3001\u989A\u4E0B\u817A\u3001\u80F0\u810F\u53CA\u80F8\u817A\u7B49\u7684\u9499\u542B\u91CF\u589E\u9AD8\u3002\u800C\u5BF9\u6458\u9664\u7532\u72B6\u817A\u3001\u526F\u7532\u72B6\u817A\u7684\u5927\u9F20,\u5219\u53EF\u4F7F\u80F8\u817A\u9499\u542B\u91CF\u589E\u52A0,\u813E\u810F\u542B\u91CF\u51CF\u5C11\u3002
+ \u3000\u3000\u77F3\u818F\u5728\u4F53\u5185ATP\u5B58\u5728\u4E0B,\u7ECF\u9176\u548CAPG\u7684\u4F5C\u7528,\u4EA7\u751F\u786B\u540C\u4F4D\u7D20\u7684\u5206\u998F,\u4F7F34S\u7684\u8840\u836F\u6D53\u5EA6\u589E\u5927,\u4ECE\u800C\u8D77\u5230\u6297\u75C5\u6BD2\u4F5C\u7528\u3002
+ \u3000\u3000\u77F3\u818F\u6027\u51C9\uFF0C\u6709\u6E05\u70ED\u89E3\u6BD2\u3002
+ \u3000\u3000\u4E34\u5E8A\u5E94\u7528\uFF1A \u3000\u30001\u3001\u7528\u4E8E\u6E29\u70ED\u75C5\u3001\u80BA\u80C3\u5927\u70ED\u3001\u9AD8\u70ED\u4E0D\u9000\u3001\u53E3\u6E34\u3001\u70E6\u71E5\u3001\u8109\u6D2A\u5927\u7B49\u75C7\u3002\u77F3\u818F\u836F\u6027\u5927\u5BD2\uFF0C\u5584\u6E05\u6C14\u5206\u5B9E\u70ED\uFF0C\u6545\u9002\u7528\u4E8E\u80BA\u80C3\u5B9E\u70ED\u7684\u75C7\u5019\uFF0C\u5E38\u4E0E\u77E5\u6BCD\u76F8\u987B\u4E3A\u7528\uFF0C\u4EE5\u589E\u5F3A\u6E05\u91CC\u70ED\u7684\u4F5C\u7528\u3002
+ \u3000\u30002.\u3001\u7528\u4E8E\u6E29\u75C5\u9AD8\u70ED\uFF0C\u8EAB\u53D1\u6591\u75B9\u3002\u6E29\u75C5\u53D1\u6591\uFF0C\u591A\u7531\u80C3\u706B\u65FA\u800C\u8840\u70ED\u70BD\u76DB\u6240\u81F4\uFF0C\u6B64\u662F\u6C14\u8840\u4E24\u71D4\u7684\u73B0\u8C61\u3002\u5728\u4E34\u5E8A\u4E0A\u9047\u5230\u6B64\u79CD\u75C7\u5019\uFF0C\u5E38\u7528\u6E05\u70ED\u6CFB\u706B\u8F83\u5F3A\u7684\u77F3\u818F\uFF0C\u914D\u5408\u51C9\u8840\u89E3\u6BD2\u7684\u836F\u7269\u5982\u7384\u53C2\u3001\u4E39\u76AE\u3001\u8D64\u828D\u3001\u9C9C\u751F\u5730\u3001\u677F\u84DD\u6839\u7B49\u540C\u7528\u3002
+ \u3000\u30003\u3001\u7528\u4E8E\u80C3\u706B\u4EA2\u76DB\u6240\u81F4\u7684\u5934\u75DB\u3001\u9F7F\u75DB\u3001\u7259\u9F88\u80BF\u75DB\u7B49\u75C7\u3002\u77F3\u818F\u80FD\u6E05\u6CC4\u80C3\u706B\uFF0C\u6545\u80C3\u706B\u4EA2\u76DB\u6240\u5F15\u8D77\u7684\u75BE\u75C5\uFF0C\u53EF\u914D\u5408\u77E5\u6BCD\u3001\u725B\u819D\u3001\u751F\u5730\u7B49\u540C\u7528\u3002
+ \u3000\u30004\u3001\u7528\u4E8E\u80BA\u70ED\u54B3\u55FD\u3001\u6C14\u5598\u3002\u90AA\u70ED\u88AD\u80BA\uFF0C\u8EAB\u53D1\u9AD8\u70ED\u3001\u54B3\u55FD\u3001\u6C14\u6025\u9F3B\u717D\u3001\u53E3\u6E34\u6B32\u996E\u7B49\u75C7\uFF0C\u53EF\u7528\u77F3\u818F\u6E05\u6CC4\u80BA\u70ED\uFF0C\u4F50\u4EE5\u9EBB\u9EC4\u3001\u674F\u4EC1\u7B49\u5BA3\u80BA\u3001\u6B62\u54B3\u5E73\u5598\u7B49\u54C1\uFF08\u5373\u9EBB\u674F\u77F3\u7518\u6C64\uFF09\u3002
+ \u3000\u30005\u3001\u7528\u4E8E\u6E7F\u75B9\u6C34\u706B\u70EB\u4F24\uFF0C\u75AE\u75A1\u6E83\u540E\u4E0D\u655B\u53CA\u521B\u4F24\u4E45\u4E0D\u6536\u53E3\u3002\u77F3\u818F\u7814\u672B\u5916\u7528\uFF0C\u6CBB\u7597\u4EE5\u4E0A\u8BF8\u5916\u79D1\u75C5\uFF0C\u6709\u6E05\u70ED\u3001\u6536\u655B\u3001\u751F\u808C\u7684\u4F5C\u7528\uFF0C\u5E38\u5408\u5347\u4E39\u3001\u9EC4\u67CF\u3001\u9752\u9EDB\u7B49\u540C\u7528\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/石膏.asset.meta b/WuHu_touming/Assets/Conf/menuitem/矿石/石膏.asset.meta
new file mode 100644
index 0000000..b9860e9
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/石膏.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c8ef730d1b117ce44b60c9185932ea41
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/石英石.asset b/WuHu_touming/Assets/Conf/menuitem/矿石/石英石.asset
new file mode 100644
index 0000000..27d3f6b
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/石英石.asset
@@ -0,0 +1,33 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u77F3\u82F1\u77F3"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 95072282e3e55c54a83a98f194eb6699, type: 3}
+ - {fileID: 21300000, guid: 95072282e3e55c54a83a98f194eb6699, type: 3}
+ go: {fileID: 6515443637832414084, guid: d65a858b0b53b4247945a704382768ad, type: 3}
+ name_CN: "\u77F3\u82F1\u77F3"
+ name_LT: Dkar po chig thub
+ synopsis: "\u3000\u3000\u77F3\u82F1\u77F3\uFF0C\u901A\u5E38\u6211\u4EEC\u8BF4\u7684\u77F3\u82F1\u77F3\u662F\u4E00\u79CD\u753190%\u4EE5\u4E0A\u7684\u77F3\u82F1\u6676\u4F53\u52A0\u4E0A\u6811\u8102\u53CA\u5176\u4ED6\u5FAE\u91CF\u5143\u7D20\u4EBA\u5DE5\u5408\u6210\u7684\u4E00\u79CD\u65B0\u578B\u77F3\u6750\u3002\u5B83\u662F\u901A\u8FC7\u7279\u6B8A\u7684\u673A\u5668\u5728\u4E00\u5B9A\u7684\u7269\u7406\u3001\u5316\u5B66\u6761\u4EF6\u4E0B\u538B\u5236\u800C\u6210\u7684\u5927\u89C4\u683C\u677F\u6750\uFF0C\u5B83\u7684\u4E3B\u8981\u6750\u6599\u662F\u77F3\u82F1\u3002
+ \u3000\u3000\u77F3\u82F1\u662F\u4E00\u79CD\u53D7\u70ED\u6216\u538B\u529B\u5C31\u5BB9\u6613\u53D8\u6210\u6DB2\u4F53\u72B6\u7684\u77FF\u7269\u3002\u4E5F\u662F\u76F8\u5F53\u5E38\u89C1\u7684\u9020\u5CA9\u77FF\u7269\uFF0C\u5728\u4E09\u5927\u7C7B\u5CA9\u77F3\u4E2D\u7686\u6709\u4E4B\u3002\u56E0\u4E3A\u5B83\u5728\u706B\u6210\u5CA9\u4E2D\u7ED3\u6676\u6700\u665A\uFF0C\u6240\u4EE5\u901A\u5E38\u7F3A\u5C11\u5B8C\u6574\u6676\u9762\uFF0C\u591A\u534A\u586B\u5145\u5728\u5176\u4ED6\u5148\u7ED3\u6676\u7684\u9020\u5CA9\u77FF\u7269\u4E2D\u95F4\u3002
+ \u3000\u3000\u5916\u8868\u7279\u5F81\uFF1A \u3000\u3000\u77F3\u82F1\u7684\u6210\u4EFD\u662F\u6700\u7B80\u5355\u7684\u4E8C\u6C27\u5316\u7845\uFF0C\u73BB\u7483\u5149\u6CFD\uFF0C\u6CA1\u6709\u89E3\u7406\u9762\uFF0C\u4F46\u5177\u8D1D\u58F3\u72B6\u65AD\u53E3\u3002\u5FAE\u6676\u8D28\u7684\u77F3\u82F1\u79F0\u4E3A\u7389\u9AD3\uFF08chalcedony\uFF09\u3001\u739B\u7459\uFF08agate\uFF09\u6216\u78A7\u7389\uFF08jasper\uFF09\u3002\u7EAF\u7CB9\u7684\u77F3\u82F1\u662F\u65E0\u8272\uFF0C\u4F46\u56E0\u5E38\u542B\u6709\u8FC7\u6E21\u5143\u7D20\u7684\u6742\u8D28\u800C\u5448\u73B0\u4E0D\u540C\u7684\u989C\u8272\u3002\u77F3\u82F1\u5F88\u5B89\u5B9A\uFF0C\u4E0D\u5BB9\u6613\u98CE\u5316\u6216\u53D8\u5316\u4E3A\u4ED6\u79CD\u77FF\u7269\u3002\u6309SiO2\u7ED3\u6676\u7A0B\u5EA6\u53EF\u5212\u5206\u4E3A\u663E\u6676\u8D28\u7684\u5355\u6676\u77F3\u82F1\uFF0C\u591A\u6676\u77F3\u82F1\u5CA9\u7389\u3002\u5149\u6CFD\uFF1A\u73BB\u7483\u5149\u6CFD\u3002\u989C\u8272\uFF1A\u65E0\u3001\u767D\uFF0C\u5E26\u6709\u70B9\u7070\u3001\u9EC4\u5230\u6A59\u9EC4\u3001\u7D2B\u3001\u6DF1\u7D2B\u3001\u7C89\u7EA2\u3001\u7070\u8910\u3001\u8910\u3001\u9ED1\u3002\u6761\u75D5\uFF1A\u767D\u8272\u3002\u6BD4\u91CD\uFF1A2.65~2.66\u3002\u7C7B\u522B\uFF1A\u53D8\u8D28\u5CA9\uFF0C\u7531\u7802\u5CA9\u53D8\u8D28\u6210\u3002
+ \u3000\u3000\u4EA7\u5730\u5206\u5E03\uFF1A \u3000\u3000\u5B8C\u6574\u7684\u6676\u4F53\u4EA7\u4E8E\u5CA9\u77F3\u6676\u6D1E\u4E2D\uFF0C\u5757\u72B6\u7684\u5E38\u4EA7\u4E8E\u70ED\u6DB2\u77FF\u8109\u4E2D\uFF1B\u4E5F\u662F\u82B1\u5C97\u5CA9\u3001\u7247\u9EBB\u5CA9\u3001\u7802\u5CA9\u7B49\u5404\u79CD\u5CA9\u77F3\u7684\u91CD\u8981\u7EC4\u6210\u90E8\u5206\u3002\u4E3B\u4EA7\u4E8E\u6C5F\u82CF\u3001\u5E7F\u4E1C\u3001\u6E56\u5317\u3001\u798F\u5EFA\u3001\u9655\u897F\u7B49\u5730\u3002
+ \u3000\u3000\u836F\u6750\u6027\u72B6\u672C\u54C1\u4E3A\u516D\u65B9\u67F1\u72B6\u6216\u7C97\u7C92\u72B6\u96C6\u5408\u4F53\uFF0C\u5448\u4E0D\u89C4\u5219\u5757\u72B6\uFF0C\u591A\u5177\u68F1\u89D2\u800C\u950B\u5229\u3002\u767D\u8272\u6216\u6DE1\u7070\u767D\u8272\uFF1B\u6761\u75D5\u767D\u8272\u3002\u8868\u9762\u4E0D\u5E73\u5766\uFF0C\u534A\u900F\u660E\u81F3\u4E0D\u900F\u660E\uFF1B\u5177\u8102\u80AA\u6837\u5149\u6CFD\u3002\u4F53\u91CD\uFF0C\u8D28\u575A\u786C\uFF0C\u53EF\u523B\u5212\u73BB\u7483\u6210\u5212\u75D5\uFF1B\u7838\u788E\u540E\uFF0C\u65AD\u9762\u4E0D\u5E73\u5766\u3002\u6C14\u5FAE\uFF0C\u5473\u6DE1\u3002
+ \u3000\u3000\u6027\u5473\u5F52\u7ECF\uFF1A \u3000\u3000\u6027\u5FAE\u6E29\uFF0C\u5473\u7518\u3001\u8F9B\u3002\u5F52\u80BA\u7ECF\u3001\u80BE\u7ECF\u3001\u5FC3\u7ECF\u3002
+ \u3000\u3000\u529F\u6548\u4E0E\u4F5C\u7528 \uFF1A \u3000\u3000\u6E29\u80BA\u80BE\uFF0C\u5B89\u5FC3\u795E\uFF0C\u5229\u5C0F\u4FBF\u3002\u5C5E\u5B89\u795E\u836F\u4E0B\u5C5E\u5206\u7C7B\u7684\u91CD\u9547\u5B89\u795E\u836F\u3002
+ \u3000\u3000\u4E34\u5E8A\u5E94\u7528\uFF1A \u3000\u3000\u5185\u670D\uFF1A\u714E\u6C64\uFF0C10\uFF5E15\u514B\uFF1B\u6216\u5165\u4E38\u3001\u6563\u3002\u865A\u5BD2\u54B3\u5598\uFF0C\u80BE\u865A\u9633\u75FF\u5B9C\u7145\u7528\u3002\u4E3B\u6CBB\u865A\u5BD2\u54B3\u5598\uFF0C\u9633\u75FF\uFF0C\u6D88\u6E34\uFF0C\u5FC3\u795E\u4E0D\u5B89\uFF0C\u60CA\u60B8\u5584\u5FD8\uFF0C\u5C0F\u4FBF\u4E0D\u5229\uFF0C\u6C34\u80BF\u3002
+ \u3000\u3000\u4F7F\u7528\u7981\u5FCC\uFF1A \u3000\u3000\u5176\u6027\u71E5\u70C8\uFF0C\u4E0D\u53EF\u591A\u670D\u3001\u4E45\u670D\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/石英石.asset.meta b/WuHu_touming/Assets/Conf/menuitem/矿石/石英石.asset.meta
new file mode 100644
index 0000000..e2beec9
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/石英石.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e80b851ceff8f324292b2b15d05d01d1
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/磁石.asset b/WuHu_touming/Assets/Conf/menuitem/矿石/磁石.asset
new file mode 100644
index 0000000..1937ecc
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/磁石.asset
@@ -0,0 +1,35 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u78C1\u77F3"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 135955f35b09f174c91b7bd65cd4e4e2, type: 3}
+ - {fileID: 21300000, guid: 135955f35b09f174c91b7bd65cd4e4e2, type: 3}
+ go: {fileID: 1906041678710526833, guid: db5d4627c56f6664c94415aa933dc22b, type: 3}
+ name_CN: "\u78C1\u77F3"
+ name_LT: Magnetitum
+ synopsis: "\u3000\u3000\u78C1\u77F3\uFF0C\u4E2D\u836F\u540D\u3002\u4E3A\u6C27\u5316\u7269\u7C7B\u77FF\u7269\u5C16\u6676\u77F3\u65CF\u78C1\u94C1\u77FF\uFF0C\u4E3B\u542B\u56DB\u6C27\u5316\u4E09\u94C1(Fe3O4)\u3002\u91C7\u6316\u540E\uFF0C\u9664\u53BB\u6742\u77F3\u3002
+ \u3000\u3000\u751F\u7406\u7279\u6027\uFF1A \u3000\u3000\u672C\u54C1\u4E3A\u5757\u72B6\u96C6\u5408\u4F53\uFF0C\u5448\u4E0D\u89C4\u5219\u5757\u72B6\uFF0C\u6216\u7565\u5E26\u65B9\u5F62\uFF0C\u591A\u5177\u68F1\u89D2\u3002\u7070\u9ED1\u8272\u6216\u68D5\u8910\u8272\uFF0C\u6761\u75D5\u9ED1\u8272\uFF0C\u5177\u91D1\u5C5E\u5149\u6CFD\u3002\u4F53\u91CD\uFF0C\u8D28\u575A\u786C\uFF0C\u65AD\u9762\u4E0D\u6574\u9F50\u3002\u5177\u78C1\u6027\u3002\u6709\u571F\u8165\u6C14\uFF0C\u65E0\u5473\u3002
+ \u3000\u3000\u4EA7\u5730\uFF1A \u3000\u3000\u5206\u5E03\u4E8E\u6CB3\u5317\u3001\u5C71\u4E1C\u3001\u6C5F\u82CF\u3001\u6E56\u5317\u3001\u5E7F\u4E1C\u3001\u798F\u5EFA\u3001\u56DB\u5DDD\u3001\u4E91\u5357\u7B49\u5730\u3002
+ \u3000\u3000\u6027\u5473\uFF1A
+ \u3000\u3000\u54B8\uFF0C\u5BD2\u3002
+ \u3000\u3000\u5F52\u7ECF\uFF1A \u3000\u3000\u5F52\u809D\u3001\u5FC3\u3001\u80BE\u7ECF\u3002
+ \u3000\u3000\u529F\u6548\uFF1A \u3000\u3000\u9547\u60CA\u5B89\u795E\uFF0C\u5E73\u809D\u6F5C\u9633\uFF0C\u806A\u8033\u660E\u76EE\uFF0C\u7EB3\u6C14\u5E73\u5598\u3002
+ \u3000\u3000\u4E3B\u6CBB\uFF1A \u3000\u3000\u7528\u4E8E\u60CA\u60B8\u5931\u7720\uFF0C\u5934\u6655\u76EE\u7729\uFF0C\u89C6\u7269\u660F\u82B1\uFF0C\u8033\u9E23\u8033\u804B\uFF0C\u80BE\u865A\u6C14\u5598\u3002
+ \u3000\u3000\u7528\u6CD5\u7528\u91CF\uFF1A \u3000\u30005\uFF5E9g\uFF0C\u5148\u714E\u3002\u6709\u50AC\u5410\u7684\u526F\u4F5C\u7528\uFF0C\u7528\u91CF\u4E0D\u5B9C\u8FC7\u5927\u3002
+ \u3000\u3000\u7981\u5FCC\uFF1A
+ \u3000\u3000\u5B55\u5987\u614E\u7528\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/磁石.asset.meta b/WuHu_touming/Assets/Conf/menuitem/矿石/磁石.asset.meta
new file mode 100644
index 0000000..3fc6a7f
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/磁石.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 68495a3ac20af994abd253d2d9183e49
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/自然铜.asset b/WuHu_touming/Assets/Conf/menuitem/矿石/自然铜.asset
new file mode 100644
index 0000000..780b248
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/自然铜.asset
@@ -0,0 +1,33 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u81EA\u7136\u94DC"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 23f6fea056b86c74ba21100abc1c444b, type: 3}
+ - {fileID: 21300000, guid: 23f6fea056b86c74ba21100abc1c444b, type: 3}
+ go: {fileID: 1600594669283640355, guid: a83aa3f6b5a7c1945a0788f19edb613e, type: 3}
+ name_CN: "\u81EA\u7136\u94DC"
+ name_LT: Pyritum
+ synopsis: "\u3000\u3000\u81EA\u7136\u94DC\uFF0C\u4E2D\u836F\u540D\u3002\u4E3A\u786B\u5316\u7269\u7C7B\u77FF\u7269\u9EC4\u94C1\u77FF\u65CF\u9EC4\u94C1\u77FF\uFF0C\u4E3B\u542B\u4E8C\u786B\u5316\u94C1(FeS2)\u3002\u91C7\u6316\u540E\uFF0C\u9664\u53BB\u6742\u77F3\u3002\u5206\u5E03\u4E8E\u8FBD\u5B81\u3001\u6CB3\u5317\u3001\u6C5F\u82CF\u3001\u5B89\u5FBD\u3001\u6E56\u5317\u3001\u6E56\u5357\u3001\u5E7F\u4E1C\u3001\u56DB\u5DDD\u3001\u4E91\u5357\u7B49\u5730\u3002\u5177\u6709\u6563\u7600\u6B62\u75DB\uFF0C\u7EED\u7B4B\u63A5\u9AA8\u7684\u529F\u6548\u3002\u7528\u4E8E\u8DCC\u6253\u635F\u4F24\uFF0C\u7B4B\u9AA8\u6298\u4F24\uFF0C\u7600\u80BF\u75BC\u75DB\u3002
+ \u3000\u3000\u6027\u5473\uFF1A
+ \u3000\u3000\u8F9B\uFF0C\u5E73\u3002
+ \u3000\u3000\u5F52\u7ECF\uFF1A
+ \u3000\u3000\u5F52\u809D\u7ECF\u3002
+ \u3000\u3000\u529F\u6548\uFF1A \u3000\u3000\u6563\u7600\u6B62\u75DB\uFF0C\u7EED\u7B4B\u63A5\u9AA8\u3002
+ \u3000\u3000\u4E3B\u6CBB\uFF1A \u3000\u3000\u7528\u4E8E\u8DCC\u6253\u635F\u4F24\uFF0C\u7B4B\u9AA8\u6298\u4F24\uFF0C\u7600\u80BF\u75BC\u75DB\u3002
+ \u3000\u3000\u7528\u6CD5\u7528\u91CF\uFF1A \u3000\u30003\uFF5E9g\uFF0C\u591A\u5165\u4E38\u6563\u670D\uFF0C\u82E5\u5165\u714E\u5242\u5B9C\u5148\u714E\u3002\u5916\u7528\u9002\u91CF\u3002
+ \u3000\u3000\u7981\u5FCC\uFF1A \u3000\u3000\u9634\u865A\u706B\u65FA\uFF0C\u8840\u865A\u65E0\u7600\u8005\u7981\u670D\u3002\u5B55\u5987\u614E\u7528\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/自然铜.asset.meta b/WuHu_touming/Assets/Conf/menuitem/矿石/自然铜.asset.meta
new file mode 100644
index 0000000..68ce034
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/自然铜.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6ddba7a7185c0fc4a8cf40077111ab59
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/花蕊石.asset b/WuHu_touming/Assets/Conf/menuitem/矿石/花蕊石.asset
new file mode 100644
index 0000000..a3d87d9
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/花蕊石.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u82B1\u854A\u77F3"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 1a5b6f21a0380d744865ea1867cd55c9, type: 3}
+ - {fileID: 21300000, guid: 1a5b6f21a0380d744865ea1867cd55c9, type: 3}
+ go: {fileID: 6796844778387230958, guid: a9453baba080bdb4c9e679f9ea6e1f8e, type: 3}
+ name_CN: "\u82B1\u854A\u77F3"
+ name_LT: Ophicalcitum
+ synopsis: "\u3000\u3000\u82B1\u854A\u77F3\uFF0C\u4E2D\u836F\u540D\u3002\u4E3A\u53D8\u8D28\u5CA9\u7C7B\u5CA9\u77F3\u86C7\u7EB9\u5927\u7406\u5CA9\u3002\u91C7\u6316\u540E\uFF0C\u9664\u53BB\u6742\u77F3\u548C\u6CE5\u6C99\u3002
+ \u3000\u3000\u751F\u7406\u7279\u6027\uFF1A \u3000\u3000\u672C\u54C1\u4E3A\u7C92\u72B6\u548C\u81F4\u5BC6\u5757\u72B6\u7684\u96C6\u5408\u4F53\uFF0C\u5448\u4E0D\u89C4\u5219\u7684\u5757\u72B6\uFF0C\u5177\u68F1\u89D2\uFF0C\u800C\u4E0D\u950B\u5229\u3002\u767D\u8272\u6216\u6D45\u7070\u767D\u8272\uFF0C\u5176\u4E2D\u5939\u6709\u70B9\u72B6\u6216\u6761\u72B6\u7684\u86C7\u7EB9\u77F3\uFF0C\u5448\u6D45\u7EFF\u8272\u6216\u6DE1\u9EC4\u8272\uFF0C\u4E60\u79F0\u201C\u5F69\u6655\u201D\uFF0C\u5BF9\u5149\u89C2\u5BDF\u6709\u95EA\u661F\u72B6\u5149\u6CFD\u3002\u4F53\u91CD\uFF0C\u8D28\u786C\uFF0C\u4E0D\u6613\u7834\u788E\u3002\u6C14\u5FAE\uFF0C\u5473\u6DE1\u3002
+ \u3000\u3000\u4EA7\u5730\uFF1A \u3000\u3000\u4E3B\u4EA7\u4E8E\u9655\u897F\u3001\u6CB3\u5357\u3001\u6CB3\u5317\u3001\u6C5F\u82CF\u3002
+ \u3000\u3000\u6027\u5473\uFF1A
+ \u3000\u3000\u9178\u3001\u6DA9\uFF0C\u5E73\u3002
+ \u3000\u3000\u5F52\u7ECF:
+ \u3000\u3000\u5F52\u809D\u7ECF\u3002
+ \u3000\u3000\u529F\u6548\uFF1A
+ \u3000\u3000\u5316\u7600\u6B62\u8840\u3002
+ \u3000\u3000\u4E3B\u6CBB\uFF1A \u3000\u3000\u7528\u4E8E\u54AF\u8840\uFF0C\u5410\u8840\uFF0C\u5916\u4F24\u51FA\u8840\uFF0C\u8DCC\u6251\u4F24\u75DB\u3002
+ \u3000\u3000\u7528\u6CD5\u7528\u91CF\uFF1A \u3000\u30004.5\uFF5E9g\uFF0C\u591A\u7814\u672B\u670D\u3002\u5916\u7528\u9002\u91CF\u3002
+ \u3000\u3000\u7981\u5FCC\uFF1A
+ \u3000\u3000\u5B55\u5987\u614E\u7528\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/花蕊石.asset.meta b/WuHu_touming/Assets/Conf/menuitem/矿石/花蕊石.asset.meta
new file mode 100644
index 0000000..bb4fb2a
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/花蕊石.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a586dbeae7fe0a040b2997b5572e3974
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/赭石.asset b/WuHu_touming/Assets/Conf/menuitem/矿石/赭石.asset
new file mode 100644
index 0000000..5fe1f8b
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/赭石.asset
@@ -0,0 +1,36 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u8D6D\u77F3"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 18cb2cb3f3e6112478432da65684d41e, type: 3}
+ - {fileID: 21300000, guid: 18cb2cb3f3e6112478432da65684d41e, type: 3}
+ go: {fileID: 2740961572448494287, guid: 532120c01595d694c92ee0d1676c503d, type: 3}
+ name_CN: "\u8D6D\u77F3"
+ name_LT: Haematitum
+ synopsis: "\u3000\u3000\u8D6D\u77F3\u662F\u4E00\u5473\u5E73\u809D\u606F\u98CE\u836F\uFF0C\u4E3A\u6C27\u5316\u7269\u7C7B\u77FF\u7269\u521A\u7389\u65CF\u8D64\u94C1\u77FF\uFF0C\u4E3B\u542B\u4E09\u6C27\u5316\u4E8C\u94C1(Fe203)\u3002
+ \u3000\u3000\u8D6D\u77F3\u836F\u6027\u82E6\uFF0C\u5BD2\u3002\u5F52\u809D\u3001\u5FC3\u3001\u80BA\u3001\u80C3\u7ECF\u3002\u672C\u54C1\u4E3B\u8981\u542B\u4E09\u6C27\u5316\u4E8C\u94C1(Fe203)\u3002\u5E76\u542B\u9549\u3001\u94B4\u3001\u94EC\u3001\u94DC\u3001\u9530\u3001\u9541\u7B49\u591A\u79CD\u5FAE\u661F\u5143\u7D20\u3002\u5177\u6709\u5E73\u809D\u6F5C\u9633\uFF0C\u91CD\u9547\u964D\u9006\uFF0C\u51C9\u8840\u6B62\u8840\u7684\u529F\u6548\u3002\u7528\u4E8E\u7729\u6655\u8033\u9E23\uFF0C\u5455\u5410\uFF0C\u566B\u6C14\uFF0C\u5443\u9006\uFF0C\u5598\u606F\uFF0C\u5410\u8840\uFF0C\u7AD9\u8840\uFF0C\u5D29\u6F0F\u4E0B\u8840\u3002
+ \u3000\u3000\u4E3B\u4EA7\u5730\uFF1A \u3000\u3000\u4E3B\u4EA7\u4E8E\u6CB3\u5317\u3001\u5C71\u897F\uFF0C\u5C71\u4E1C\u3001\u6CB3\u5357\u3001\u6E56\u5357\u3001\u5E7F\u4E1C\u3001\u56DB\u5DDD\u7B49\u5730\u4EA6\u4EA7\u3002
+ \u3000\u3000\u4F5C\u7528\u529F\u6548\uFF1A \u3000\u3000\u672C\u54C1\u5177\u6709\u5E73\u809D\u6F5C\u9633\uFF0C\u91CD\u9547\u964D\u9006\uFF0C\u51C9\u8840\u6B62\u8840\u7684\u529F\u6548\u3002\u7528\u4E8E\u7729\u6655\u8033\u9E23\uFF0C\u5455\u5410\uFF0C\u566B\u6C14\uFF0C\u5443\u9006\uFF0C\u5598\u606F\uFF0C\u5410\u8840\uFF0C\u7AD9\u8840\uFF0C\u5D29\u6F0F\u4E0B\u8840\u3002
+ \u3000\u3000\u529F\u6548\u4F5C\u7528\uFF1A
+ \u3000\u3000\u2022\u809D\u9633\u4E0A\u4EA2\u8BC1 \u3000\u3000\u6CBB\u809D\u9633\u4E0A\u4EA2\u4E4B\u5934\u75DB\u7729\u6655\uFF0C\u76EE\u80C0\u8033\u9E23\uFF0C\u70E6\u8E81\u6613\u6012\u7B49\uFF0C\u5E38\u4E0E\u78C1\u77F3\u3001\u73CD\u73E0\u6BCD\u3001\u725B\u819D\u7B49\u540C\u7528\u3002
+ \u3000\u3000\u2022\u80BA\u80C3\u6C14\u9006\u8BC1 \u3000\u3000\u6CBB\u80C3\u6C14\u4E0A\u9006\u4E4B\u5455\u5410\u3001\u5443\u9006\u3001\u566B\u6C14\u9891\u4F5C\u8005\uFF0C\u5E38\u4E0E\u65CB\u8986\u82B1\u76F8\u987B\u4E3A\u7528\u3002\u6CBB\u80BA\u6C14\u4E0A\u9006\u4E4B\u54B3\u55FD\u6C14\u5598\uFF0C\u53EF\u5355\u7528\uFF0C\u6216\u968F\u8BC1\u914D\u4F0D\u3002\u5982\u80BA\u70ED\u54B3\u5598\uFF0C\u53EF\u4E0E\u6851\u767D\u76AE\u3001\u6787\u6777\u53F6\u7B49\u540C\u7528;\u75F0\u6E7F\u963B\u80BA\u4E4B\u54B3\u5598\uFF0C\u53EF\u914D\u534A\u590F\u3001\u9648\u76AE\u7B49\u540C\u7528\u3002
+ \u3000\u3000\u2022\u8840\u70ED\u51FA\u8840 \u3000\u3000\u6CBB\u5410\u8840\u3001\u7AD9\u8840\uFF0C\u53EF\u5355\u7528\uFF0C\u7814\u7EC6\u8C03\u670D;\u6216\u4E0E\u767D\u828D\u3001\u7AF9\u8339\u3001\u725B\u84A1\u5B50\u7B49\u540C\u7528\u3002\u6CBB\u5D29\u6F0F\u4E0B\u8840\uFF0C\u53EF\u4E0E\u5730\u6986\u3001\u69D0\u82B1\u7B49\u540C\u7528\u3002
+ \u3000\u3000\u73B0\u4EE3\u7814\u7A76\uFF1A \u3000\u3000\u672C\u54C1\u6709\u9547\u9759\u3001\u6297\u60CA\u53A5\u3001\u6B62\u8840\u3001\u6297\u708E\u3001\u4FDD\u62A4\u80C3\u9ECF\u819C\uFF0C\u5174\u594B\u80A0\u7BA1\u7B49\u591A\u79CD\u836F\u7406\u4F5C\u7528\u3002
+ \u3000\u3000\u4F7F\u7528\u65B9\u6CD5\uFF1A \u3000\u3000\u8D6D\u77F3\u4E00\u822C\u4F7F\u7528\u8D6D\u77F3\u996E\u7247\uFF0C\u714E\u670D\u3002\u7ECF\u4E0D\u540C\u70AE\u5236\u65B9\u6CD5\uFF0C\u53EF\u751F\u4EA7\u751F\u8D6D\u77F3\u548C\u918B\u8D6D\u77F3\u7B49\u4E2D\u836F\u6750\u996E\u7247\u3002\u4E0D\u540C\u70AE\u5236\u65B9\u5F0F\u4F5C\u7528\u529F\u6548\u4E0D\u540C\uFF0C\u5177\u4F53\u7528\u836F\u8BF7\u9075\u533B\u5631\u3002
+ \u3000\u3000\u5177\u4F53\u7528\u6CD5\uFF1A \u3000\u3000\u714E\u670D\uFF0C9-30g\uFF0C\u5E94\u6253\u788E\u5148\u714E\u3002\u5165\u4E38\u3001\u6563\uFF0C\u6BCF\u6B211-3g\u3002
+ \u5916\u7528:\u9002\u91CF\u3002\u964D\u9006\u3001\u5E73\u809D\u5B9C\u751F\u7528\uFF0C\u6B62\u8840\u5B9C\u7145\u7528\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/赭石.asset.meta b/WuHu_touming/Assets/Conf/menuitem/矿石/赭石.asset.meta
new file mode 100644
index 0000000..85eaeac
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/赭石.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d66068542072dce47a3e180c4fc9634d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/钟乳石.asset b/WuHu_touming/Assets/Conf/menuitem/矿石/钟乳石.asset
new file mode 100644
index 0000000..6967c79
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/钟乳石.asset
@@ -0,0 +1,37 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u949F\u4E73\u77F3"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: b195cc03b2dd4124fa6e7d5286a08172, type: 3}
+ - {fileID: 21300000, guid: b195cc03b2dd4124fa6e7d5286a08172, type: 3}
+ go: {fileID: 3548177332136960382, guid: 32b78d6dbe4bf3f408158f97f0d88c95, type: 3}
+ name_CN: "\u949F\u4E73\u77F3"
+ name_LT: STALACTITUM
+ synopsis: "\u3000\u3000\u949F\u4E73\u77F3\uFF08stalactite\uFF09\uFF0C\u53C8\u79F0\u77F3\u949F\u4E73\uFF0C\u662F\u6307\u78B3\u9178\u76D0\u5CA9\u5730\u533A\u6D1E\u7A74\u5185\u5728\u6F2B\u957F\u5730\u8D28\u5386\u53F2\u4E2D\u548C\u7279\u5B9A\u5730\u8D28\u6761\u4EF6\u4E0B\u5F62\u6210\u7684\u77F3\u949F\u4E73\u3001\u77F3\u7B0B\u3001\u77F3\u67F1\u7B49\u4E0D\u540C\u5F62\u6001\u78B3\u9178\u9499\u6DC0\u79EF\u7269\u7684\u603B\u79F0\u3002
+ \u3000\u3000\u949F\u4E73\u77F3\u7684\u5F62\u6210\u5F80\u5F80\u9700\u8981\u4E0A\u4E07\u5E74\u6216\u51E0\u5341\u4E07\u5E74\u65F6\u95F4\u3002\u7531\u4E8E\u5F62\u6210\u65F6\u95F4\u6F2B\u957F\uFF0C\u949F\u4E73\u77F3\u5BF9\u8FDC\u53E4\u5730\u8D28\u8003\u5BDF\u6709\u7740\u91CD\u8981\u7684\u7814\u7A76\u4EF7\u503C\u3002\u5728\u77F3\u7070\u5CA9\u4E2D\uFF0C\u542B\u6709\u4E8C\u6C27\u5316\u78B3\u7684\u6C34\uFF0C\u6E17\u5165\u77F3\u7070\u5CA9\u9699\u7F1D\u4E2D\uFF0C\u4E0E\u78B3\u9178\u9499\u53CD\u5E94\u751F\u6210\u53EF\u6EB6\u4E8E\u6C34\u7684\u78B3\u9178\u6C22\u9499\uFF0C\u6EB6\u6709\u78B3\u9178\u6C22\u9499\u7684\u6C34\u4ECE\u6D1E\u9876\u4E0A\u6EF4\u4E0B\u6765\u65F6\uFF0C\u5206\u89E3\u53CD\u5E94\u751F\u6210\u78B3\u9178\u9499\u3001\u4E8C\u6C27\u5316\u78B3\u3001\u6C34\u3002\u88AB\u6EB6\u89E3\u7684\u78B3\u9178\u6C22\u9499\u53C8\u53D8\u6210\u56FA\u4F53(\u79F0\u4E3A\u56FA\u5316)\u3002\u7531\u4E0A\u800C\u4E0B\u9010\u6E10\u589E\u957F\u800C\u6210\u7684\uFF0C\u79F0\u4E3A\u201C\u949F\u4E73\u77F3\u201D\u3002\u53EF\u5165\u836F\u3002
+ \u3000\u3000\u5E7F\u897F\u3001\u4E91\u5357\u662F\u6211\u56FD\u949F\u4E73\u77F3\u8D44\u6E90\u6700\u4E30\u5BCC\u7684\u4E3B\u8981\u7701\u533A\u3002
+ \u3000\u3000\u6765\u6E90\uFF1A \u3000\u3000\u672C\u54C1\u4E3A\u78B3\u9178\u76D0\u7C7B\u77FF\u7269\u65B9\u89E3\u77F3\u65CF\u65B9\u89E3\u77F3\uFF0C\u4E3B\u542B\u78B3\u9178\u9499\uFF08CaCO3
+ \uFF09\u3002\u91C7\u6536\u540E\uFF0C\u9664\u53BB\u6742\u77F3\uFF0C\u6D17\u51C0\uFF0C\u6652\u5E72\u3002
+ \u3000\u3000\u6027\u72B6\uFF1A \u3000\u3000\u672C\u54C1\u4E3A\u949F\u4E73\u72B6\u96C6\u5408\u4F53\uFF0C\u7565\u5448\u5706\u9525\u5F62\u6216\u5706\u67F1\u5F62\u3002\u8868\u9762\u767D\u8272\u3001\u7070\u767D\u8272\u6216\u68D5\u9EC4\u8272\uFF0C\u7C97\u7CD9\uFF0C\u51F9\u51F8\u4E0D\u5E73\u3002\u4F53\u91CD\uFF0C\u8D28\u786C\uFF0C\u65AD\u9762\u8F83\u5E73\u6574\uFF0C\u767D\u8272\u81F3\u6D45\u7070\u767D\u8272\uFF0C\u5BF9\u5149\u89C2\u5BDF\u5177\u95EA\u661F\u72B6\u7684\u4EAE\u5149\uFF0C\u8FD1\u4E2D\u5FC3\u5E38\u6709\u4E00\u5706\u5B54\uFF0C\u5706\u5B54\u5468\u56F4\u6709\u591A\u6570\u6D45\u6A59\u9EC4\u8272\u540C\u5FC3\u73AF\u5C42\u3002\u65E0\u81ED\uFF0C\u5473\u5FAE\u54B8\u3002
+ \u3000\u3000\u9274\u522B\uFF1A \u3000\u3000\u53D6\u672C\u54C1\uFF0C\u6EF4\u52A0\u7A00\u76D0\u9178\uFF0C\u5373\u4EA7\u751F\u5927\u91CF\u6C14\u6CE1\uFF0C\u6EB6\u6DB2\u663E\u9499\u76D0\u7684\u9274\u522B\u53CD\u5E94\u3002
+ \u3000\u3000\u6027\u5473\uFF1A \u3000\u3000\u5473\u7518\uFF0C\u6027\u6E29\uFF0C\u65E0\u6BD2\u3002
+ \u3000\u3000\u529F\u80FD\u4E3B\u6CBB\uFF1A \u3000\u3000\u4E94\u52B3\u4E03\u4F24\uFF0C\u54B3\u9006\u4E0A\u6C14\uFF0C\u6CBB\u5BD2\u55FD\uFF0C\u901A\u55D3\u97F3\uFF0C\u806A\u8033\u660E\u76EE\u3001\u8F7B\u8EAB\uFF0C\u4F7F\u4EBA\u808C\u80A4\u6DA6\u6CFD\uFF0C\u7CBE\u529B\u65FA\u76DB\uFF0C\u4E0D\u6613\u8870\u8001\u76CA\u7CBE\u3002\u5B89\u4E94\u810F\uFF0C\u901A\u767E\u75C5\uFF0C\u5229\u4E5D\u7A83\uFF0C\u4E0B\u4E73\u6C41\uFF0C\u76CA\u6C14\u8865\u865A\u635F\uFF0C\u6CBB\u7597\u8F83\u5F31\u75BC\u51B7\uFF0C\u4E0B\u7126\u4F24\u7AED\uFF0C\u5F3A\u9634\u3002\u4E45\u670D\u76CA\u5BFF\u4E0D\u8001\uFF0C\u4EE4\u4EBA\u6709\u751F\u80B2\u80FD\u529B\u3002
+ \u3000\u3000\u6E29\u80BA\uFF0C\u52A9\u9633\uFF0C\u5E73\u5598\uFF0C\u5236\u9178\u3002\u7528\u4E8E\u5BD2\u75F0\u5598\u54B3\uFF0C\u9633\u865A\u51B7\u5598\uFF0C\u8170\u819D\u51B7\u75DB\uFF0C\u80C3\u75DB\u6CDB\u9178\uFF0C\u4E73\u6C41\u4E0D\u901A\u3002
+ \u3000\u3000\u7528\u6CD5\u7528\u91CF\uFF1A
+ \u3000\u30003\uFF5E9g \u3002
+ \u3000\u3000\u7981\u5FCC\uFF1A \u3000\u3000\u9634\u865A\u706B\u65FA\u80BA\u70ED\u54B3\u55FD\u8005\u5FCC\u670D\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/钟乳石.asset.meta b/WuHu_touming/Assets/Conf/menuitem/矿石/钟乳石.asset.meta
new file mode 100644
index 0000000..893d6cc
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/钟乳石.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d1c793c4be23fc449af5df0137a67f25
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/雌黄.asset b/WuHu_touming/Assets/Conf/menuitem/矿石/雌黄.asset
new file mode 100644
index 0000000..181cae3
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/雌黄.asset
@@ -0,0 +1,27 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 83888a96f5f0bdf46805087e54fbd833, type: 3}
+ m_Name: "\u96CC\u9EC4"
+ m_EditorClassIdentifier:
+ kind:
+ menuitem_num: 0
+ menuitem_img: []
+ Bases: []
+ go_img:
+ - {fileID: 21300000, guid: 5644710ab32869140baa99b66632e8e6, type: 3}
+ - {fileID: 21300000, guid: 5644710ab32869140baa99b66632e8e6, type: 3}
+ go: {fileID: 4791588436591987467, guid: 1d99e0135601a6346aa48f20b006ad40, type: 3}
+ name_CN: "\u96CC\u9EC4"
+ name_LT: Orpiment
+ synopsis: "\u3000\u3000\u96CC\u9EC4\uFF08\u62C9\u4E01\u540D\uFF1AOrpiment\uFF09\u662F\u4E00\u79CD\u81EA\u7136\u4EA7\u51FA\u7684\u786B\u5316\u7269\u77FF\u7269\uFF0C\u5176\u4E3B\u8981\u5316\u5B66\u7EC4\u6210\u4E3A\u4E09\u786B\u5316\u4E8C\u7837\uFF08As2S3\uFF09\u3002\u5355\u659C\u6676\u7CFB\u7ED3\u6784\u3002\u6676\u4F53\u5E38\u89C1\u677F\u72B6\u6216\u77ED\u67F1\u72B6\uFF0C\u96C6\u5408\u4F53\u5448\u7247\u72B6\u3001\u68B3\u72B6\u3001\u571F\u72B6\u7B49\u3002\u67E0\u6AAC\u9EC4\u8272\u6216\u6A59\u7EA2\u8272\uFF1B\u6761\u75D5\u9C9C\u9EC4\u8272\uFF1B\u6CB9\u8102\u5149\u6CFD\u81F3\u91D1\u521A\u5149\u6CFD\uFF0C\u89E3\u7406\u9762\u4E3A\u73CD\u73E0\u5149\u6CFD\u3002\u96CC\u9EC4\u5177\u6709\u5C42\u72B6\u7ED3\u6784\uFF0C\u6CBF\u7ED3\u6784\u5C42\u4EA7\u751F\u6781\u5B8C\u5168\u89E3\u7406\u3002\u89E3\u7406\u4E00\u7EC4\u6781\u5B8C\u5168\uFF0C\u8584\u7247\u5177\u6320\u6027\uFF1B\u786C\u5EA61.5-2\u3002\u76F8\u5BF9\u5BC6\u5EA63.5\u3002
+ \u3000\u3000\u96CC\u9EC4\u901A\u5E38\u4EA7\u4E8E\u4F4E\u6E29\u6D45\u6210\u70ED\u6DB2\u77FF\u5E8A\uFF0C\u7ECF\u5E38\u4E0E\u96C4\u9EC4\u5171\u751F\u3002\u4F34\u751F\u77FF\u7269\u4E3A\u6BD4\u8F83\u4F4E\u6E29\u65F6\u5F62\u6210\u7684\u77FF\u7269\uFF0C\u5982\u8F89\u9511\u77FF\u3001\u767D\u94C1\u77FF\u3001\u9EC4\u94C1\u77FF\u4EE5\u53CA\u8FB0\u7802\u3001\u65B9\u89E3\u77F3\u3001\u77F3\u818F\u7B49\u3002\u4E5F\u6210\u6D78\u67D3\u72B6\u4EA7\u51FA\u4E8E\u67D0\u4E9B\u77F3\u7070\u5CA9\u6216\u767D\u4E91\u5CA9\u4EE5\u53CA\u7C98\u571F\u5CA9\u5C42\u5185\uFF0C\u5E76\u4F5C\u4E3A\u4E00\u79CD\u706B\u5C71\u5347\u534E\u4EA7\u7269\u6216\u6E29\u6CC9\u7684\u6C89\u79EF\u7269\u4EA7\u89C1\u3002\u4E2D\u56FD\u6E56\u5357\u3001\u4E91\u5357\u3001\u8D35\u5DDE\u3001\u56DB\u5DDD\u3001\u7518\u8083\u7B49\u7701\u5747\u6709\u4EA7\u51FA\uFF0C\u96CC\u9EC4\u7684\u4E3B\u8981\u4EA7\u5730\u6709\u6E56\u5357\u7701\u6148\u5229\u53BF\u548C\u4E91\u5357\u7701\u5357\u534E\u53BF\u7B49\u5730\u3002
+ \u3000\u3000\u96CC\u9EC4\u4E3A\u7837\u53CA\u5236\u9020\u5404\u79CD\u7837\u5316\u7269\u7684\u4E3B\u8981\u77FF\u77F3\u77FF\u7269\uFF0C\u8FD8\u53EF\u7528\u4E8E\u4E2D\u836F\u3002\u96CC\u9EC4\u53EF\u5165\u836F\uFF0C\u6027\u5473\u8F9B\uFF0C\u5E73\uFF0C\u6709\u6BD2\u3002\u529F\u7528\u71E5\u6E7F\uFF0C\u6740\u866B\uFF0C\u89E3\u6BD2\u3002\u4E3B\u6CBB\u75A5\u7663\uFF0C\u6076\u75AE\uFF0C\u86C7\u866B\u87AB\u4F24\uFF0C\u766B\u75EB\uFF0C\u5BD2\u75F0\u54B3\u5598\uFF0C\u866B\u79EF\u8179\u75DB\u3002\u6CE8\u610F\u5185\u670D\u5B9C\u614E\uFF0C\u4E0D\u53EF\u4E45\u7528\u3002\u5B55\u5987\u5FCC\u670D\u3002\u9634\u4E8F\u8840\u865A\u8005\u7981\u670D\u3002\u4E0D\u5B9C\u706B\u70D8\uFF0C\u4EE5\u514D\u4EA7\u751F\u5267\u6BD2\u7684\u4E09\u6C27\u5316\u4E8C\u7837\u3002\u96CC\u9EC4\u7CFB\u6BD2\u6027\u4E2D\u836F\uFF0C\u5E94\u9075\u7167\u300A\u533B\u7597\u7528\u6BD2\u6027\u836F\u54C1\u7BA1\u7406\u529E\u6CD5\u300B\u7684\u6709\u5173\u89C4\u5B9A\u6267\u884C\u3002"
diff --git a/WuHu_touming/Assets/Conf/menuitem/矿石/雌黄.asset.meta b/WuHu_touming/Assets/Conf/menuitem/矿石/雌黄.asset.meta
new file mode 100644
index 0000000..629b810
--- /dev/null
+++ b/WuHu_touming/Assets/Conf/menuitem/矿石/雌黄.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 996b653dfac63dd499261eb30ff093fa
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant.meta b/WuHu_touming/Assets/Demigiant.meta
new file mode 100644
index 0000000..8bb140d
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0b8ddacf32a18814c9c685e09a45fa54
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween.meta b/WuHu_touming/Assets/Demigiant/DOTween.meta
new file mode 100644
index 0000000..bbb110b
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 87bf808031661f1469efb216ecac4a68
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/DOTween.XML b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.XML
new file mode 100644
index 0000000..9a9e868
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.XML
@@ -0,0 +1,2703 @@
+
+
+
+ DOTween
+
+
+
+
+ Types of autoPlay behaviours
+
+
+
+ No tween is automatically played
+
+
+ Only Sequences are automatically played
+
+
+ Only Tweeners are automatically played
+
+
+ All tweens are automatically played
+
+
+
+ What axis to constrain in case of Vector tweens
+
+
+
+ Called the first time the tween is set in a playing state, after any eventual delay
+
+
+
+ Used in place of System.Func, which is not available in mscorlib.
+
+
+
+
+ Used in place of System.Action.
+
+
+
+
+ Public so it can be used by lose scripts related to DOTween (like DOTweenAnimation)
+
+
+
+
+ Used to separate DOTween class from the MonoBehaviour instance (in order to use static constructors on DOTween).
+ Contains all instance-based methods
+
+
+
+ Used internally inside Unity Editor, as a trick to update DOTween's inspector at every frame
+
+
+
+ Directly sets the current max capacity of Tweeners and Sequences
+ (meaning how many Tweeners and Sequences can be running at the same time),
+ so that DOTween doesn't need to automatically increase them in case the max is reached
+ (which might lead to hiccups when that happens).
+ Sequences capacity must be less or equal to Tweeners capacity
+ (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's).
+ Beware: use this method only when there are no tweens running.
+
+ Max Tweeners capacity.
+ Default: 200
+ Max Sequences capacity.
+ Default: 50
+
+
+
+ This class contains a C# port of the easing equations created by Robert Penner (http://robertpenner.com/easing).
+
+
+
+
+ Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in: accelerating from zero velocity.
+
+
+ Current time (in frames or seconds).
+
+
+ Expected easing duration (in frames or seconds).
+
+ Unused: here to keep same delegate for all ease types.
+ Unused: here to keep same delegate for all ease types.
+
+ The eased value.
+
+
+
+
+ Easing equation function for a bounce (exponentially decaying parabolic bounce) easing out: decelerating from zero velocity.
+
+
+ Current time (in frames or seconds).
+
+
+ Expected easing duration (in frames or seconds).
+
+ Unused: here to keep same delegate for all ease types.
+ Unused: here to keep same delegate for all ease types.
+
+ The eased value.
+
+
+
+
+ Easing equation function for a bounce (exponentially decaying parabolic bounce) easing in/out: acceleration until halfway, then deceleration.
+
+
+ Current time (in frames or seconds).
+
+
+ Expected easing duration (in frames or seconds).
+
+ Unused: here to keep same delegate for all ease types.
+ Unused: here to keep same delegate for all ease types.
+
+ The eased value.
+
+
+
+
+ Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected
+
+
+
+
+ Returns a value between 0 and 1 (inclusive) based on the elapsed time and ease selected
+
+
+
+
+ Used to interpret AnimationCurves as eases.
+ Public so it can be used by external ease factories
+
+
+
+
+ Behaviour in case a tween nested inside a Sequence fails
+
+
+
+ If the Sequence contains other elements, kill the failed tween but preserve the rest
+
+
+ Kill the whole Sequence
+
+
+
+ Additional notices passed to plugins when updating.
+ Public so it can be used by custom plugins. Internally, only PathPlugin uses it
+
+
+
+
+ None
+
+
+
+
+ Lets the plugin know that we restarted or rewinded
+
+
+
+
+ OnRewind callback behaviour (can only be set via DOTween's Utility Panel)
+
+
+
+
+ When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will be fired only if the tween isn't already rewinded
+
+
+
+
+ When calling Rewind, OnRewind callbacks will always be fired, even if the tween is already rewinded.
+ When calling PlayBackwards/SmoothRewind instead, OnRewind callbacks will be fired only if the tween isn't already rewinded
+
+
+
+
+ When calling Rewind or PlayBackwards/SmoothRewind, OnRewind callbacks will always be fired, even if the tween is already rewinded
+
+
+
+
+ Public only so custom shortcuts can access some of these methods
+
+
+
+
+ INTERNAL: used by DO shortcuts and Modules to set special startup mode
+
+
+
+
+ INTERNAL: used by DO shortcuts and Modules to set the tween as blendable
+
+
+
+
+ INTERNAL: used by DO shortcuts and Modules to prevent a tween from using a From setup even if passed
+
+
+
+
+ Used to dispatch commands that need to be captured externally, usually by Modules
+
+
+
+
+ Returns a Vector3 with z = 0
+
+
+
+
+ Returns the 2D angle between two vectors
+
+
+
+
+ Uses approximate equality on each axis instead of Unity's Vector3 equality,
+ because the latter fails (in some cases) when assigning a Vector3 to a transform.position and then checking it.
+
+
+
+
+ Looks for the type within all possible project assembly names
+
+
+
+ NO-GC METHOD: changes the start value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new start value
+ If bigger than 0 applies it as the new tween duration
+
+
+ NO-GC METHOD: changes the end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new end value
+ If TRUE the start value will become the current target's value, otherwise it will stay the same
+
+
+ NO-GC METHOD: changes the end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new end value
+ If bigger than 0 applies it as the new tween duration
+ If TRUE the start value will become the current target's value, otherwise it will stay the same
+
+
+ NO-GC METHOD: changes the start and end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new start value
+ The new end value
+ If bigger than 0 applies it as the new tween duration
+
+
+
+ Struct that stores two colors (used for LineRenderer tweens)
+
+
+
+
+ Used for tween callbacks
+
+
+
+
+ Used for tween callbacks
+
+
+
+
+ Used for custom and animationCurve-based ease functions. Must return a value between 0 and 1.
+
+
+
+
+ Straight Quaternion plugin. Instead of using Vector3 values accepts Quaternion values directly.
+ Beware: doesn't work with LoopType.Incremental (neither directly nor if inside a LoopType.Incremental Sequence).
+ To use it, call DOTween.To with the plugin parameter overload, passing it PureQuaternionPlugin.Plug() as first parameter
+ (do not use any of the other public PureQuaternionPlugin methods):
+ DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);
+
+
+
+
+ Plug this plugin inside a DOTween.To call.
+ Example:
+ DOTween.To(PureQuaternionPlugin.Plug(), ()=> myQuaternionProperty, x=> myQuaternionProperty = x, myQuaternionEndValue, duration);
+
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+ INTERNAL: do not use
+
+
+
+ Main DOTween class. Contains static methods to create and control tweens in a generic way
+
+
+
+ DOTween's version
+
+
+ If TRUE (default) makes tweens slightly slower but safer, automatically taking care of a series of things
+ (like targets becoming null while a tween is playing).
+ Default: TRUE
+
+
+ Behaviour in case a tween nested inside a Sequence fails (caught by safe mode).
+ Default: NestedTweenFailureBehaviour.TryToPreserveSequence
+
+
+ If TRUE you will get a DOTween report when exiting play mode (only in the Editor).
+ Useful to know how many max Tweeners and Sequences you reached and optimize your final project accordingly.
+ Beware, this will slightly slow down your tweens while inside Unity Editor.
+ Default: FALSE
+
+
+ Global DOTween timeScale.
+ Default: 1
+
+
+ If TRUE, DOTween will use Time.smoothDeltaTime instead of Time.deltaTime for UpdateType.Normal and UpdateType.Late tweens
+ (unless they're set as timeScaleIndependent, in which case a value between the last timestep
+ and will be used instead).
+ Setting this to TRUE will lead to smoother animations.
+ Default: FALSE
+
+
+ If is TRUE, this indicates the max timeStep that an independent update call can last.
+ Setting this to TRUE will lead to smoother animations.
+ Default: FALSE
+
+
+ DOTween's log behaviour.
+ Default: LogBehaviour.ErrorsOnly
+
+
+ Used to intercept DOTween's logs. If this method isn't NULL, DOTween will call it before writing a log via Unity's own Debug log methods.
+ Return TRUE if you want DOTween to proceed with the log, FALSE otherwise.
+ This method must return a bool
and accept two parameters:
+ - LogType
: the type of Unity log that DOTween is trying to log
+ - object
: the log message that DOTween wants to log
+
+
+ If TRUE draws path gizmos in Unity Editor (if the gizmos button is active).
+ Deactivate this if you want to avoid gizmos overhead while in Unity Editor
+
+
+ Default updateType for new tweens.
+ Default: UpdateType.Normal
+
+
+ Sets whether Unity's timeScale should be taken into account by default or not.
+ Default: false
+
+
+ Default autoPlay behaviour for new tweens.
+ Default: AutoPlay.All
+
+
+ Default autoKillOnComplete behaviour for new tweens.
+ Default: TRUE
+
+
+ Default loopType applied to all new tweens.
+ Default: LoopType.Restart
+
+
+ If TRUE all newly created tweens are set as recyclable, otherwise not.
+ Default: FALSE
+
+
+ Default ease applied to all new Tweeners (not to Sequences which always have Ease.Linear as default).
+ Default: Ease.InOutQuad
+
+
+ Default overshoot/amplitude used for eases
+ Default: 1.70158f
+
+
+ Default period used for eases
+ Default: 0
+
+
+ Used internally. Assigned/removed by DOTweenComponent.Create/DestroyInstance
+
+
+
+ Must be called once, before the first ever DOTween call/reference,
+ otherwise it will be called automatically and will use default options.
+ Calling it a second time won't have any effect.
+ You can chain SetCapacity
to this method, to directly set the max starting size of Tweeners and Sequences:
+ DOTween.Init(false, false, LogBehaviour.Default).SetCapacity(100, 20);
+
+ If TRUE all new tweens will be set for recycling, meaning that when killed,
+ instead of being destroyed, they will be put in a pool and reused instead of creating new tweens. This option allows you to avoid
+ GC allocations by reusing tweens, but you will have to take care of tween references, since they might result active
+ even if they were killed (since they might have been respawned and are now being used for other tweens).
+ If you want to automatically set your tween references to NULL when a tween is killed
+ you can use the OnKill callback like this:
+ .OnKill(()=> myTweenReference = null)
+ You can change this setting at any time by changing the static property,
+ or you can set the recycling behaviour for each tween separately, using:
+ SetRecyclable(bool recyclable)
+ Default: FALSE
+ If TRUE makes tweens slightly slower but safer, automatically taking care of a series of things
+ (like targets becoming null while a tween is playing).
+ You can change this setting at any time by changing the static property.
+ Default: FALSE
+ Type of logging to use.
+ You can change this setting at any time by changing the static property.
+ Default: ErrorsOnly
+
+
+
+ Directly sets the current max capacity of Tweeners and Sequences
+ (meaning how many Tweeners and Sequences can be running at the same time),
+ so that DOTween doesn't need to automatically increase them in case the max is reached
+ (which might lead to hiccups when that happens).
+ Sequences capacity must be less or equal to Tweeners capacity
+ (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's).
+ Beware: use this method only when there are no tweens running.
+
+ Max Tweeners capacity.
+ Default: 200
+ Max Sequences capacity.
+ Default: 50
+
+
+
+ Kills all tweens, clears all cached tween pools and plugins and resets the max Tweeners/Sequences capacities to the default values.
+
+ If TRUE also destroys DOTween's gameObject and resets its initializiation, default settings and everything else
+ (so that next time you use it it will need to be re-initialized)
+
+
+
+ Clears all cached tween pools.
+
+
+
+
+ Checks all active tweens to find and remove eventually invalid ones (usually because their targets became NULL)
+ and returns the total number of invalid tweens found and removed.
+ IMPORTANT: this will cause an error on UWP platform, so don't use it there
+ BEWARE: this is a slightly expensive operation so use it with care
+
+
+
+
+ Updates all tweens that are set to .
+
+ Manual deltaTime
+ Unscaled delta time (used with tweens set as timeScaleIndependent)
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a property or field to the given value using a custom plugin
+ The plugin to use. Each custom plugin implements a static Get()
method
+ you'll need to call to assign the correct plugin in the correct way, like this:
+ CustomPlugin.Get()
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens only one axis of a Vector3 to the given value using default plugins.
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+ The axis to tween
+
+
+ Tweens only the alpha of a Color to the given value using default plugins
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end value to reachThe tween's duration
+
+
+ Tweens a virtual property from the given start to the given end value
+ and implements a setter that allows to use that value with an external method or a lambda
+ Example:
+ To(MyMethod, 0, 12, 0.5f);
+ Where MyMethod is a function that accepts a float parameter (which will be the result of the virtual tween)
+ The action to perform with the tweened value
+ The value to start from
+ The end value to reach
+ The duration of the virtual tween
+
+
+
+ Punches a Vector3 towards the given direction and then back to the starting one
+ as if it was connected to the starting position via an elastic.
+ This tween type generates some GC allocations at startup
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The direction and strength of the punch
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
+ 1 creates a full oscillation between the direction and the opposite decaying direction,
+ while 0 oscillates only between the starting position and the decaying direction
+
+
+ Shakes a Vector3 with the given values.
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction and behave like a random punch.
+ If TRUE only shakes on the X Y axis (looks better with things like cameras).
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Shakes a Vector3 with the given values.
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction and behave like a random punch.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Tweens a property or field to the given values using default plugins.
+ Ease is applied between each segment and not as a whole.
+ This tween type generates some GC allocations at startup
+ A getter for the field or property to tween.
+ Example usage with lambda:()=> myProperty
+ A setter for the field or property to tween
+ Example usage with lambda:x=> myProperty = x
+ The end values to reach for each segment. This array must have the same length as durations
+ The duration of each segment. This array must have the same length as endValues
+
+
+
+ Returns a new to be used for tween groups
+
+
+
+ Completes all tweens and returns the number of actual tweens completed
+ (meaning tweens that don't have infinite loops and were not already complete)
+ For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+ Completes all tweens with the given ID or target and returns the number of actual tweens completed
+ (meaning the tweens that don't have infinite loops and were not already complete)
+ For Sequences only: if TRUE internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+ Flips all tweens (changing their direction to forward if it was backwards and viceversa),
+ then returns the number of actual tweens flipped
+
+
+ Flips the tweens with the given ID or target (changing their direction to forward if it was backwards and viceversa),
+ then returns the number of actual tweens flipped
+
+
+ Sends all tweens to the given position (calculating also eventual loop cycles) and returns the actual tweens involved
+
+
+ Sends all tweens with the given ID or target to the given position (calculating also eventual loop cycles)
+ and returns the actual tweens involved
+
+
+ Kills all tweens and returns the number of actual tweens killed
+ If TRUE completes the tweens before killing them
+
+
+ Kills all tweens and returns the number of actual tweens killed
+ If TRUE completes the tweens before killing them
+ Eventual IDs or targets to exclude from the killing
+
+
+ Kills all tweens with the given ID or target and returns the number of actual tweens killed
+ If TRUE completes the tweens before killing them
+
+
+ Pauses all tweens and returns the number of actual tweens paused
+
+
+ Pauses all tweens with the given ID or target and returns the number of actual tweens paused
+ (meaning the tweens that were actually playing and have been paused)
+
+
+ Plays all tweens and returns the number of actual tweens played
+ (meaning tweens that were not already playing or complete)
+
+
+ Plays all tweens with the given ID or target and returns the number of actual tweens played
+ (meaning the tweens that were not already playing or complete)
+
+
+ Plays all tweens with the given target and the given ID, and returns the number of actual tweens played
+ (meaning the tweens that were not already playing or complete)
+
+
+ Plays backwards all tweens and returns the number of actual tweens played
+ (meaning tweens that were not already started, playing backwards or rewinded)
+
+
+ Plays backwards all tweens with the given ID or target and returns the number of actual tweens played
+ (meaning the tweens that were not already started, playing backwards or rewinded)
+
+
+ Plays backwards all tweens with the given target and ID and returns the number of actual tweens played
+ (meaning the tweens that were not already started, playing backwards or rewinded)
+
+
+ Plays forward all tweens and returns the number of actual tweens played
+ (meaning tweens that were not already playing forward or complete)
+
+
+ Plays forward all tweens with the given ID or target and returns the number of actual tweens played
+ (meaning the tweens that were not already playing forward or complete)
+
+
+ Plays forward all tweens with the given target and ID and returns the number of actual tweens played
+ (meaning the tweens that were not already started, playing backwards or rewinded)
+
+
+ Restarts all tweens, then returns the number of actual tweens restarted
+
+
+ Restarts all tweens with the given ID or target, then returns the number of actual tweens restarted
+ If TRUE includes the eventual tweens delays, otherwise skips them
+ If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it
+
+
+ Restarts all tweens with the given target and the given ID, and returns the number of actual tweens played
+ (meaning the tweens that were not already playing or complete)
+ If TRUE includes the eventual tweens delays, otherwise skips them
+ If >= 0 changes the startup delay of all involved tweens to this value, otherwise doesn't touch it
+
+
+ Rewinds and pauses all tweens, then returns the number of actual tweens rewinded
+ (meaning tweens that were not already rewinded)
+
+
+ Rewinds and pauses all tweens with the given ID or target, then returns the number of actual tweens rewinded
+ (meaning the tweens that were not already rewinded)
+
+
+ Smoothly rewinds all tweens (delays excluded), then returns the number of actual tweens rewinding/rewinded
+ (meaning tweens that were not already rewinded).
+ A "smooth rewind" animates the tween to its start position,
+ skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent.
+ Note that a tween that was smoothly rewinded will have its play direction flipped
+
+
+ Smoothly rewinds all tweens (delays excluded) with the given ID or target, then returns the number of actual tweens rewinding/rewinded
+ (meaning the tweens that were not already rewinded).
+ A "smooth rewind" animates the tween to its start position,
+ skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent.
+ Note that a tween that was smoothly rewinded will have its play direction flipped
+
+
+ Toggles the play state of all tweens and returns the number of actual tweens toggled
+ (meaning tweens that could be played or paused, depending on the toggle state)
+
+
+ Toggles the play state of all tweens with the given ID or target and returns the number of actual tweens toggled
+ (meaning the tweens that could be played or paused, depending on the toggle state)
+
+
+
+ Returns TRUE if a tween with the given ID or target is active.
+ You can also use this to know if a shortcut tween is active for a given target.
+ Example:
+ transform.DOMoveX(45, 1); // transform is automatically added as the tween target
+ DOTween.IsTweening(transform); // Returns true
+
+ The target or ID to look for
+ If FALSE (default) returns TRUE as long as a tween for the given target/ID is active,
+ otherwise also requires it to be playing
+
+
+
+ Returns the total number of active and playing tweens.
+ A tween is considered as playing even if its delay is actually playing
+
+
+
+
+ Returns a list of all active tweens in a playing state.
+ Returns NULL if there are no active playing tweens.
+ Beware: each time you call this method a new list is generated, so use it for debug only
+
+ If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
+
+
+
+ Returns a list of all active tweens in a paused state.
+ Returns NULL if there are no active paused tweens.
+ Beware: each time you call this method a new list is generated, so use it for debug only
+
+ If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
+
+
+
+ Returns a list of all active tweens with the given id.
+ Returns NULL if there are no active tweens with the given id.
+ Beware: each time you call this method a new list is generated
+
+ If TRUE returns only the tweens with the given ID that are currently playing
+ If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
+
+
+
+ Returns a list of all active tweens with the given target.
+ Returns NULL if there are no active tweens with the given target.
+ Beware: each time you call this method a new list is generated
+ If TRUE returns only the tweens with the given target that are currently playing
+ If NULL creates a new list, otherwise clears and fills this one (and thus saves allocations)
+
+
+
+
+ Creates virtual tweens that can be used to change other elements via their OnUpdate calls
+
+
+
+
+ Tweens a virtual float.
+ You can add regular settings to the generated tween,
+ but do not use SetUpdate
or you will overwrite the onVirtualUpdate parameter
+
+ The value to start from
+ The value to tween to
+ The duration of the tween
+ A callback which must accept a parameter of type float, called at each update
+
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The type of ease
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The type of ease
+ Eventual overshoot to use with Back ease
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The type of ease
+ Eventual amplitude to use with Elastic easeType
+ Eventual period to use with Elastic easeType
+
+
+ Returns a value based on the given ease and lifetime percentage (0 to 1)
+ The value to start from when lifetimePercentage is 0
+ The value to reach when lifetimePercentage is 1
+ The time percentage (0 to 1) at which the value should be taken
+ The AnimationCurve to use for ease
+
+
+ Fires the given callback after the given time.
+ Callback delay
+ Callback to fire when the delay has expired
+ If TRUE (default) ignores Unity's timeScale
+
+
+
+ Don't assign this! It's assigned automatically when creating 0 duration tweens
+
+
+
+
+ Don't assign this! It's assigned automatically when setting the ease to an AnimationCurve or to a custom ease function
+
+
+
+
+ Allows to wrap ease method in special ways, adding extra features
+
+
+
+
+ Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
+
+ FPS at which the tween should be played
+ Ease type
+
+
+
+ Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
+
+ FPS at which the tween should be played
+ AnimationCurve to use for the ease
+
+
+
+ Converts the given ease so that it also creates a stop-motion effect, by playing the tween at the given FPS
+
+ FPS at which the tween should be played
+ Custom ease function to use
+
+
+
+ Used to allow method chaining with DOTween.Init
+
+
+
+
+ Directly sets the current max capacity of Tweeners and Sequences
+ (meaning how many Tweeners and Sequences can be running at the same time),
+ so that DOTween doesn't need to automatically increase them in case the max is reached
+ (which might lead to hiccups when that happens).
+ Sequences capacity must be less or equal to Tweeners capacity
+ (if you pass a low Tweener capacity it will be automatically increased to match the Sequence's).
+ Beware: use this method only when there are no tweens running.
+
+ Max Tweeners capacity.
+ Default: 200
+ Max Sequences capacity.
+ Default: 50
+
+
+
+ Behaviour that can be assigned when chaining a SetLink to a tween
+
+
+
+ Pauses the tween when the link target is disabled
+
+
+ Pauses the tween when the link target is disabled, plays it when it's enabled
+
+
+ Pauses the tween when the link target is disabled, restarts it when it's enabled
+
+
+ Plays the tween when the link target is enabled
+
+
+ Restarts the tween when the link target is enabled
+
+
+ Kills the tween when the link target is disabled
+
+
+ Kills the tween when the link target is destroyed (becomes NULL). This is always active even if another behaviour is chosen
+
+
+
+ Path mode (used to determine correct LookAt orientation)
+
+
+
+ Ignores the path mode (and thus LookAt behaviour)
+
+
+ Regular 3D path
+
+
+ 2D top-down path
+
+
+ 2D side-scroller path
+
+
+
+ Type of path to use with DOPath tweens
+
+
+
+ Linear, composed of straight segments between each waypoint
+
+
+ Curved path (which uses Catmull-Rom curves)
+
+
+ EXPERIMENTAL:
Curved path (which uses Cubic Bezier curves, where each point requires two extra control points)
+
+
+
+ Path control point
+
+
+
+
+ Gets the point on the path at the given percentage (0 to 1)
+
+ The percentage (0 to 1) at which to get the point
+ If TRUE constant speed is taken into account, otherwise not
+
+
+
+ Base interface for all tween plugins options
+
+
+
+ Resets the plugin
+
+
+
+ This plugin generates some GC allocations at startup
+
+
+
+
+ Path plugin works exclusively with Transforms
+
+
+
+
+ Rotation mode used with DORotate methods
+
+
+
+
+ Fastest way that never rotates beyond 360°
+
+
+
+
+ Fastest way that rotates beyond 360°
+
+
+
+
+ Adds the given rotation to the transform using world axis and an advanced precision mode
+ (like when using transform.Rotate(Space.World)).
+ In this mode the end value is is always considered relative
+
+
+
+
+ Adds the given rotation to the transform's local axis
+ (like when rotating an object with the "local" switch enabled in Unity's editor or using transform.Rotate(Space.Self)).
+ In this mode the end value is is always considered relative
+
+
+
+
+ Type of scramble to apply to string tweens
+
+
+
+
+ No scrambling of characters
+
+
+
+
+ A-Z + a-z + 0-9 characters
+
+
+
+
+ A-Z characters
+
+
+
+
+ a-z characters
+
+
+
+
+ 0-9 characters
+
+
+
+
+ Custom characters
+
+
+
+
+ Methods that extend Tween objects and allow to control or get data from them
+
+
+
+ Completes the tween
+
+
+ Completes the tween
+ For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+ Flips the direction of this tween (backwards if it was going forward or viceversa)
+
+
+ Forces the tween to initialize its settings immediately
+
+
+ Send the tween to the given position in time
+ Time position to reach
+ (if higher than the whole tween duration the tween will simply reach its end)
+ If TRUE will play the tween after reaching the given position, otherwise it will pause it
+
+
+ Kills the tween
+ If TRUE completes the tween before killing it
+
+
+ Pauses the tween
+
+
+ Plays the tween
+
+
+ Sets the tween in a backwards direction and plays it
+
+
+ Sets the tween in a forward direction and plays it
+
+
+ Restarts the tween from the beginning
+ If TRUE includes the eventual tween delay, otherwise skips it
+ If >= 0 changes the startup delay to this value, otherwise doesn't touch it
+
+
+ Rewinds and pauses the tween
+ If TRUE includes the eventual tween delay, otherwise skips it
+
+
+ Smoothly rewinds the tween (delays excluded).
+ A "smooth rewind" animates the tween to its start position,
+ skipping all elapsed loops (except in case of LoopType.Incremental) while keeping the animation fluent.
+ If called on a tween who is still waiting for its delay to happen, it will simply set the delay to 0 and pause the tween.
+ Note that a tween that was smoothly rewinded will have its play direction flipped
+
+
+ Plays the tween if it was paused, pauses it if it was playing
+
+
+ Send a path tween to the given waypoint.
+ Has no effect if this is not a path tween.
+ BEWARE, this is a special utility method:
+ it works only with Linear eases. Also, the lookAt direction might be wrong after calling this and might need to be set manually
+ (because it relies on a smooth path movement and doesn't work well with jumps that encompass dramatic direction changes)
+ Waypoint index to reach
+ (if higher than the max waypoint index the tween will simply go to the last one)
+ If TRUE will play the tween after reaching the given waypoint, otherwise it will pause it
+
+
+
+ Creates a yield instruction that waits until the tween is killed or complete.
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForCompletion();
+
+
+
+
+ Creates a yield instruction that waits until the tween is killed or rewinded.
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForRewind();
+
+
+
+
+ Creates a yield instruction that waits until the tween is killed.
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForKill();
+
+
+
+
+ Creates a yield instruction that waits until the tween is killed or has gone through the given amount of loops.
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForElapsedLoops(2);
+
+ Elapsed loops to wait for
+
+
+
+ Creates a yield instruction that waits until the tween is killed or has reached the given position (loops included, delays excluded).
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForPosition(2.5f);
+
+ Position (loops included, delays excluded) to wait for
+
+
+
+ Creates a yield instruction that waits until the tween is killed or started
+ (meaning when the tween is set in a playing state the first time, after any eventual delay).
+ It can be used inside a coroutine as a yield.
+ Example usage:yield return myTween.WaitForStart();
+
+
+
+ Returns the total number of loops completed by this tween
+
+
+ Returns the eventual delay set for this tween
+
+
+ Returns the duration of this tween (delays excluded).
+ NOTE: when using settings like SpeedBased, the duration will be recalculated when the tween starts
+ If TRUE returns the full duration loops included,
+ otherwise the duration of a single loop cycle
+
+
+ Returns the elapsed time for this tween (delays exluded)
+ If TRUE returns the elapsed time since startup loops included,
+ otherwise the elapsed time within the current loop cycle
+
+
+ Returns the elapsed percentage (0 to 1) of this tween (delays exluded)
+ If TRUE returns the elapsed percentage since startup loops included,
+ otherwise the elapsed percentage within the current loop cycle
+
+
+ Returns the elapsed percentage (0 to 1) of this tween (delays exluded),
+ based on a single loop, and calculating eventual backwards Yoyo loops as 1 to 0 instead of 0 to 1
+
+
+ Returns FALSE if this tween has been killed.
+ BEWARE: if this tween is recyclable it might have been spawned again for another use and thus return TRUE anyway.
+ When working with recyclable tweens you should take care to know when a tween has been killed and manually set your references to NULL.
+ If you want to be sure your references are set to NULL when a tween is killed you can use the OnKill
callback like this:
+ .OnKill(()=> myTweenReference = null)
+
+
+ Returns TRUE if this tween was reversed and is set to go backwards
+
+
+ Returns TRUE if the tween is complete
+ (silently fails and returns FALSE if the tween has been killed)
+
+
+ Returns TRUE if this tween has been initialized
+
+
+ Returns TRUE if this tween is playing
+
+
+ Returns the total number of loops set for this tween
+ (returns -1 if the loops are infinite)
+
+
+
+ Returns a point on a path based on the given path percentage.
+ Returns Vector3.zero
if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
+ A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
+ You can force a path to be initialized by calling myTween.ForceInit()
.
+
+ Percentage of the path (0 to 1) on which to get the point
+
+
+
+ Returns an array of points that can be used to draw the path.
+ Note that this method generates allocations, because it creates a new array.
+ Returns NULL
if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
+ A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
+ You can force a path to be initialized by calling myTween.ForceInit()
.
+
+ How many points to create for each path segment (waypoint to waypoint).
+ Only used in case of non-Linear paths
+
+
+
+ Returns the length of a path.
+ Returns -1 if this is not a path tween, if the tween is invalid, or if the path is not yet initialized.
+ A path is initialized after its tween starts, or immediately if the tween was created with the Path Editor (DOTween Pro feature).
+ You can force a path to be initialized by calling myTween.ForceInit()
.
+
+
+
+
+ Types of loop
+
+
+
+ Each loop cycle restarts from the beginning
+
+
+ The tween moves forward and backwards at alternate cycles
+
+
+ Continuously increments the tween at the end of each loop cycle (A to B, B to B+(A-B), and so on), thus always moving "onward".
+ In case of String tweens works only if the tween is set as relative
+
+
+
+ Controls other tweens as a group
+
+
+
+
+ Methods that extend known Unity objects and allow to directly create and control tweens from their instances
+
+
+
+ Tweens a Camera's aspect
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's backgroundColor to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's farClipPlane
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's fieldOfView
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's nearClipPlane
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's orthographicSize
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's pixelRect
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Camera's rect
to the given value.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Shakes a Camera's localPosition along its relative X Y axes with the given values.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Shakes a Camera's localPosition along its relative X Y axes with the given values.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Shakes a Camera's localRotation.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Shakes a Camera's localRotation.
+ Also stores the camera as the tween's target so it can be used for filtered operations
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Tweens a Light's color to the given value.
+ Also stores the light as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Light's intensity to the given value.
+ Also stores the light as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Light's shadowStrength to the given value.
+ Also stores the light as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a LineRenderer's color to the given value.
+ Also stores the LineRenderer as the tween's target so it can be used for filtered operations.
+ Note that this method requires to also insert the start colors for the tween,
+ since LineRenderers have no way to get them.
+ The start value to tween from
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Material's color to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Material's named color property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween (like _Tint or _SpecColor)
+ The duration of the tween
+
+
+ Tweens a Material's named color property with the given ID to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a Material's alpha color to the given value
+ (will have no effect unless your material supports transparency).
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Material's alpha color to the given value
+ (will have no effect unless your material supports transparency).
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween (like _Tint or _SpecColor)
+ The duration of the tween
+
+
+ Tweens a Material's alpha color with the given ID to the given value
+ (will have no effect unless your material supports transparency).
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a Material's named float property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween
+ The duration of the tween
+
+
+ Tweens a Material's named float property with the given ID to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a Material's texture offset to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The duration of the tween
+
+
+ Tweens a Material's named texture offset property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween
+ The duration of the tween
+
+
+ Tweens a Material's texture scale to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The duration of the tween
+
+
+ Tweens a Material's named texture scale property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween
+ The duration of the tween
+
+
+ Tweens a Material's named Vector property to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The name of the material property to tween
+ The duration of the tween
+
+
+ Tweens a Material's named Vector property with the given ID to the given value.
+ Also stores the material as the tween's target so it can be used for filtered operations
+ The end value to reach
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a TrailRenderer's startWidth/endWidth to the given value.
+ Also stores the TrailRenderer as the tween's target so it can be used for filtered operations
+ The end startWidth to reachThe end endWidth to reach
+ The duration of the tween
+
+
+ Tweens a TrailRenderer's time to the given value.
+ Also stores the TrailRenderer as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's position to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's X position to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's Y position to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's Z position to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's localPosition to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's X localPosition to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's Y localPosition to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's Z localPosition to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's rotation to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ Rotation mode
+
+
+ Tweens a Transform's rotation to the given value using pure quaternion values.
+ Also stores the transform as the tween's target so it can be used for filtered operations.
+ PLEASE NOTE: DORotate, which takes Vector3 values, is the preferred rotation method.
+ This method was implemented for very special cases, and doesn't support LoopType.Incremental loops
+ (neither for itself nor if placed inside a LoopType.Incremental Sequence)
+
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's localRotation to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+ Rotation mode
+
+
+ Tweens a Transform's rotation to the given value using pure quaternion values.
+ Also stores the transform as the tween's target so it can be used for filtered operations.
+ PLEASE NOTE: DOLocalRotate, which takes Vector3 values, is the preferred rotation method.
+ This method was implemented for very special cases, and doesn't support LoopType.Incremental loops
+ (neither for itself nor if placed inside a LoopType.Incremental Sequence)
+
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's localScale to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's localScale uniformly to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's X localScale to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's Y localScale to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's Z localScale to the given value.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Transform's rotation so that it will look towards the given position.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The position to look atThe duration of the tween
+ Eventual axis constraint for the rotation
+ The vector that defines in which direction up is (default: Vector3.up)
+
+
+ Punches a Transform's localPosition towards the given direction and then back to the starting one
+ as if it was connected to the starting position via an elastic.
+ The direction and strength of the punch (added to the Transform's current position)
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
+ 1 creates a full oscillation between the punch direction and the opposite direction,
+ while 0 oscillates only between the punch and the start position
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Punches a Transform's localScale towards the given size and then back to the starting one
+ as if it was connected to the starting scale via an elastic.
+ The punch strength (added to the Transform's current scale)
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting size when bouncing backwards.
+ 1 creates a full oscillation between the punch scale and the opposite scale,
+ while 0 oscillates only between the punch scale and the start scale
+
+
+ Punches a Transform's localRotation towards the given size and then back to the starting one
+ as if it was connected to the starting rotation via an elastic.
+ The punch strength (added to the Transform's current rotation)
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards.
+ 1 creates a full oscillation between the punch rotation and the opposite rotation,
+ while 0 oscillates only between the punch and the start rotation
+
+
+ Shakes a Transform's localPosition with the given values.
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the tween will smoothly snap all values to integers
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Shakes a Transform's localPosition with the given values.
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the tween will smoothly snap all values to integers
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Shakes a Transform's localRotation.
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Shakes a Transform's localRotation.
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Shakes a Transform's localScale.
+ The duration of the tween
+ The shake strength
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Shakes a Transform's localScale.
+ The duration of the tween
+ The shake strength on each axis
+ Indicates how much will the shake vibrate
+ Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ Setting it to 0 will shake along a single direction.
+ If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+
+
+ Tweens a Transform's position to the given value, while also applying a jump effect along the Y axis.
+ Returns a Sequence instead of a Tweener.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reach
+ Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ Total number of jumps
+ The duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's localPosition to the given value, while also applying a jump effect along the Y axis.
+ Returns a Sequence instead of a Tweener.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The end value to reach
+ Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ Total number of jumps
+ The duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's position through the given path waypoints, using the chosen path algorithm.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The waypoints to go through
+ The duration of the tween
+ The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path)
+ The path mode: 3D, side-scroller 2D, top-down 2D
+ The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
+ Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+
+
+ Tweens a Transform's localPosition through the given path waypoints, using the chosen path algorithm.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The waypoint to go through
+ The duration of the tween
+ The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path)
+ The path mode: 3D, side-scroller 2D, top-down 2D
+ The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
+ Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+
+
+ IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead.
+ Tweens a Transform's position via the given path.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The path to use
+ The duration of the tween
+ The path mode: 3D, side-scroller 2D, top-down 2D
+
+
+ IMPORTANT: Unless you really know what you're doing, you should use the overload that accepts a Vector3 array instead.
+ Tweens a Transform's localPosition via the given path.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The path to use
+ The duration of the tween
+ The path mode: 3D, side-scroller 2D, top-down 2D
+
+
+ Tweens a Tween's timeScale to the given value.
+ Also stores the Tween as the tween's target so it can be used for filtered operations
+ The end value to reachThe duration of the tween
+
+
+ Tweens a Light's color to the given value,
+ in a way that allows other DOBlendableColor tweens to work together on the same target,
+ instead than fight each other as multiple DOColor would do.
+ Also stores the Light as the tween's target so it can be used for filtered operations
+ The value to tween toThe duration of the tween
+
+
+ Tweens a Material's color to the given value,
+ in a way that allows other DOBlendableColor tweens to work together on the same target,
+ instead than fight each other as multiple DOColor would do.
+ Also stores the Material as the tween's target so it can be used for filtered operations
+ The value to tween toThe duration of the tween
+
+
+ Tweens a Material's named color property to the given value,
+ in a way that allows other DOBlendableColor tweens to work together on the same target,
+ instead than fight each other as multiple DOColor would do.
+ Also stores the Material as the tween's target so it can be used for filtered operations
+ The value to tween to
+ The name of the material property to tween (like _Tint or _SpecColor)
+ The duration of the tween
+
+
+ Tweens a Material's named color property with the given ID to the given value,
+ in a way that allows other DOBlendableColor tweens to work together on the same target,
+ instead than fight each other as multiple DOColor would do.
+ Also stores the Material as the tween's target so it can be used for filtered operations
+ The value to tween to
+ The ID of the material property to tween (also called nameID in Unity's manual)
+ The duration of the tween
+
+
+ Tweens a Transform's position BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableMove tweens to work together on the same target,
+ instead than fight each other as multiple DOMove would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Tweens a Transform's localPosition BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableMove tweens to work together on the same target,
+ instead than fight each other as multiple DOMove would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ EXPERIMENTAL METHOD - Tweens a Transform's rotation BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableRotate tweens to work together on the same target,
+ instead than fight each other as multiple DORotate would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+ Rotation mode
+
+
+ EXPERIMENTAL METHOD - Tweens a Transform's lcoalRotation BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableRotate tweens to work together on the same target,
+ instead than fight each other as multiple DORotate would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+ Rotation mode
+
+
+ Punches a Transform's localRotation BY the given value and then back to the starting one
+ as if it was connected to the starting rotation via an elastic. Does it in a way that allows other
+ DOBlendableRotate tweens to work together on the same target
+ The punch strength (added to the Transform's current rotation)
+ The duration of the tween
+ Indicates how much will the punch vibrate
+ Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards.
+ 1 creates a full oscillation between the punch rotation and the opposite rotation,
+ while 0 oscillates only between the punch and the start rotation
+
+
+ Tweens a Transform's localScale BY the given value (as if you chained a SetRelative
),
+ in a way that allows other DOBlendableScale tweens to work together on the same target,
+ instead than fight each other as multiple DOScale would do.
+ Also stores the transform as the tween's target so it can be used for filtered operations
+ The value to tween byThe duration of the tween
+
+
+
+ Completes all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens completed
+ (meaning the tweens that don't have infinite loops and were not already complete)
+
+ For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+
+ Completes all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens completed
+ (meaning the tweens that don't have infinite loops and were not already complete)
+
+ For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ otherwise they will be ignored
+
+
+
+ Kills all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens killed.
+
+ If TRUE completes the tween before killing it
+
+
+
+ Kills all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens killed.
+
+ If TRUE completes the tween before killing it
+
+
+
+ Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens flipped.
+
+
+
+
+ Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens flipped.
+
+
+
+
+ Sends to the given position all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens involved.
+
+ Time position to reach
+ (if higher than the whole tween duration the tween will simply reach its end)
+ If TRUE will play the tween after reaching the given position, otherwise it will pause it
+
+
+
+ Sends to the given position all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens involved.
+
+ Time position to reach
+ (if higher than the whole tween duration the tween will simply reach its end)
+ If TRUE will play the tween after reaching the given position, otherwise it will pause it
+
+
+
+ Pauses all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens paused.
+
+
+
+
+ Pauses all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens paused.
+
+
+
+
+ Plays all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays backwards all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays backwards all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays forward all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Plays forward all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens played.
+
+
+
+
+ Restarts all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens restarted.
+
+
+
+
+ Restarts all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens restarted.
+
+
+
+
+ Rewinds all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens rewinded.
+
+
+
+
+ Rewinds all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens rewinded.
+
+
+
+
+ Smoothly rewinds all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens rewinded.
+
+
+
+
+ Smoothly rewinds all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens rewinded.
+
+
+
+
+ Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens involved.
+
+
+
+
+ Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
+ (meaning tweens that were started from this target, or that had this target added as an Id)
+ and returns the total number of tweens involved.
+
+
+
+
+ This class serves only as a utility class to store tween settings to apply on multiple tweens.
+ It is in no way needed otherwise, since you can directly apply tween settings to a tween via chaining
+
+
+
+ A variable you can eventually Clear and reuse when needed,
+ to avoid instantiating TweenParams objects
+
+
+ Creates a new TweenParams object, which you can use to store tween settings
+ to pass to multiple tweens via myTween.SetAs(myTweenParms)
+
+
+ Clears and resets this TweenParams instance using default values,
+ so it can be reused without instantiating another one
+
+
+ Sets the autoKill behaviour of the tween.
+ Has no effect if the tween has already started
+ If TRUE the tween will be automatically killed when complete
+
+
+ Sets an ID for the tween, which can then be used as a filter with DOTween's static methods.
+ The ID to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets the target for the tween, which can then be used as a filter with DOTween's static methods.
+ IMPORTANT: use it with caution. If you just want to set an ID for the tween use SetId
instead.
+ When using shorcuts the shortcut target is already assigned as the tween's target,
+ so using this method will overwrite it and prevent shortcut-operations like myTarget.DOPause from working correctly.
+ The target to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets the looping options for the tween.
+ Has no effect if the tween has already started
+ Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)
+ Loop behaviour type (default: LoopType.Restart)
+
+
+ Sets the ease of the tween.
+ If applied to Sequences eases the whole sequence animation
+ Eventual overshoot or amplitude to use with Back or Elastic easeType (default is 1.70158)
+ Eventual period to use with Elastic easeType (default is 0)
+
+
+ Sets the ease of the tween using an AnimationCurve.
+ If applied to Sequences eases the whole sequence animation
+
+
+ Sets the ease of the tween using a custom ease function.
+ If applied to Sequences eases the whole sequence animation
+
+
+ Sets the recycling behaviour for the tween.
+ If TRUE the tween will be recycled after being killed, otherwise it will be destroyed.
+
+
+ Sets the update type to the one defined in DOTween.defaultUpdateType (UpdateType.Normal unless changed)
+ and lets you choose if it should be independent from Unity's Time.timeScale
+ If TRUE the tween will ignore Unity's Time.timeScale
+
+
+ Sets the type of update (default or independent) for the tween
+ The type of update (default: UpdateType.Normal)
+ If TRUE the tween will ignore Unity's Time.timeScale
+
+
+ Sets the onStart callback for the tween.
+ Called the first time the tween is set in a playing state, after any eventual delay
+
+
+ Sets the onPlay callback for the tween.
+ Called when the tween is set in a playing state, after any eventual delay.
+ Also called each time the tween resumes playing from a paused state
+
+
+ Sets the onRewind callback for the tween.
+ Called when the tween is rewinded,
+ either by calling Rewind
or by reaching the start position while playing backwards.
+ Rewinding a tween that is already rewinded will not fire this callback
+
+
+ Sets the onUpdate callback for the tween.
+ Called each time the tween updates
+
+
+ Sets the onStepComplete callback for the tween.
+ Called the moment the tween completes one loop cycle, even when going backwards
+
+
+ Sets the onComplete callback for the tween.
+ Called the moment the tween reaches its final forward position, loops included
+
+
+ Sets the onKill callback for the tween.
+ Called the moment the tween is killed
+
+
+ Sets the onWaypointChange callback for the tween.
+ Called when a path tween reaches a new waypoint
+
+
+ Sets a delayed startup for the tween.
+ Has no effect on Sequences or if the tween has already started
+
+
+ If isRelative is TRUE sets the tween as relative
+ (the endValue will be calculated as startValue + endValue
instead than being used directly).
+ Has no effect on Sequences or if the tween has already started
+
+
+ If isSpeedBased is TRUE sets the tween as speed based
+ (the duration will represent the number of units the tween moves x second).
+ Has no effect on Sequences, nested tweens, or if the tween has already started
+
+
+
+ Methods that extend Tween objects and allow to set their parameters
+
+
+
+ Sets the autoKill behaviour of the tween to TRUE.
+ Has no effect
if the tween has already started or if it's added to a Sequence
+
+
+ Sets the autoKill behaviour of the tween.
+ Has no effect
if the tween has already started or if it's added to a Sequence
+ If TRUE the tween will be automatically killed when complete
+
+
+ Sets an ID for the tween (), which can then be used as a filter with DOTween's static methods.
+ The ID to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets a string ID for the tween (), which can then be used as a filter with DOTween's static methods.
+ Filtering via string is 2X faster than using an object as an ID (using the alternate obejct overload)
+ The string ID to assign to this tween.
+
+
+ Sets an int ID for the tween (), which can then be used as a filter with DOTween's static methods.
+ Filtering via int is 4X faster than via object, 2X faster than via string (using the alternate object/string overloads)
+ The int ID to assign to this tween.
+
+
+ Allows to link this tween to a GameObject
+ so that it will be automatically killed when the GameObject is destroyed.
+ Has no effect
if the tween is added to a Sequence
+ The link target (unrelated to the target set via SetTarget
)
+
+
+ Allows to link this tween to a GameObject and assign a behaviour depending on it.
+ This will also automatically kill the tween when the GameObject is destroyed.
+ Has no effect
if the tween is added to a Sequence
+ The link target (unrelated to the target set via SetTarget
)
+ The behaviour to use ( is always evaluated even if you choose another one)
+
+
+ Sets the target for the tween, which can then be used as a filter with DOTween's static methods.
+ IMPORTANT: use it with caution. If you just want to set an ID for the tween use SetId
instead.
+ When using shorcuts the shortcut target is already assigned as the tween's target,
+ so using this method will overwrite it and prevent shortcut-operations like myTarget.DOPause from working correctly.
+ The target to assign to this tween. Can be an int, a string, an object or anything else.
+
+
+ Sets the looping options for the tween.
+ Has no effect if the tween has already started
+ Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)
+
+
+ Sets the looping options for the tween.
+ Has no effect if the tween has already started
+ Number of cycles to play (-1 for infinite - will be converted to 1 in case the tween is nested in a Sequence)
+ Loop behaviour type (default: LoopType.Restart)
+
+
+ Sets the ease of the tween.
+ If applied to Sequences eases the whole sequence animation
+
+
+ Sets the ease of the tween.
+ If applied to Sequences eases the whole sequence animation
+
+ Eventual overshoot to use with Back or Flash ease (default is 1.70158 - 1 for Flash).
+ In case of Flash ease it must be an intenger and sets the total number of flashes that will happen.
+ Using an even number will complete the tween on the starting value, while an odd one will complete it on the end value.
+
+
+
+ Sets the ease of the tween.
+ If applied to Sequences eases the whole sequence animation
+ Eventual amplitude to use with Elastic easeType or overshoot to use with Flash easeType (default is 1.70158 - 1 for Flash).
+ In case of Flash ease it must be an integer and sets the total number of flashes that will happen.
+ Using an even number will complete the tween on the starting value, while an odd one will complete it on the end value.
+
+ Eventual period to use with Elastic or Flash easeType (default is 0).
+ In case of Flash ease it indicates the power in time of the ease, and must be between -1 and 1.
+ 0 is balanced, 1 weakens the ease with time, -1 starts the ease weakened and gives it power towards the end.
+
+
+
+ Sets the ease of the tween using an AnimationCurve.
+ If applied to Sequences eases the whole sequence animation
+
+
+ Sets the ease of the tween using a custom ease function (which must return a value between 0 and 1).
+ If applied to Sequences eases the whole sequence animation
+
+
+ Allows the tween to be recycled after being killed.
+
+
+ Sets the recycling behaviour for the tween.
+ If TRUE the tween will be recycled after being killed, otherwise it will be destroyed.
+
+
+ Sets the update type to UpdateType.Normal and lets you choose if it should be independent from Unity's Time.timeScale
+ If TRUE the tween will ignore Unity's Time.timeScale
+
+
+ Sets the type of update for the tween
+ The type of update (defalt: UpdateType.Normal)
+
+
+ Sets the type of update for the tween and lets you choose if it should be independent from Unity's Time.timeScale
+ The type of update
+ If TRUE the tween will ignore Unity's Time.timeScale
+
+
+ Sets the onStart
callback for the tween, clearing any previous onStart
callback that was set.
+ Called the first time the tween is set in a playing state, after any eventual delay
+
+
+ Sets the onPlay
callback for the tween, clearing any previous onPlay
callback that was set.
+ Called when the tween is set in a playing state, after any eventual delay.
+ Also called each time the tween resumes playing from a paused state
+
+
+ Sets the onPause
callback for the tween, clearing any previous onPause
callback that was set.
+ Called when the tween state changes from playing to paused.
+ If the tween has autoKill set to FALSE, this is called also when the tween reaches completion.
+
+
+ Sets the onRewind
callback for the tween, clearing any previous onRewind
callback that was set.
+ Called when the tween is rewinded,
+ either by calling Rewind
or by reaching the start position while playing backwards.
+ Rewinding a tween that is already rewinded will not fire this callback
+
+
+ Sets the onUpdate
callback for the tween, clearing any previous onUpdate
callback that was set.
+ Called each time the tween updates
+
+
+ Sets the onStepComplete
callback for the tween, clearing any previous onStepComplete
callback that was set.
+ Called the moment the tween completes one loop cycle, even when going backwards
+
+
+ Sets the onComplete
callback for the tween, clearing any previous onComplete
callback that was set.
+ Called the moment the tween reaches its final forward position, loops included
+
+
+ Sets the onKill
callback for the tween, clearing any previous onKill
callback that was set.
+ Called the moment the tween is killed
+
+
+ Sets the onWaypointChange
callback for the tween, clearing any previous onWaypointChange
callback that was set.
+ Called when a path tween's current waypoint changes
+
+
+ Sets the parameters of the tween (id, ease, loops, delay, timeScale, callbacks, etc) as the parameters of the given one.
+ Doesn't copy specific SetOptions settings: those will need to be applied manually each time.
+ Has no effect if the tween has already started.
+ NOTE: the tween's target
will not be changed
+ Tween from which to copy the parameters
+
+
+ Sets the parameters of the tween (id, ease, loops, delay, timeScale, callbacks, etc) as the parameters of the given TweenParams.
+ Has no effect if the tween has already started.
+ TweenParams from which to copy the parameters
+
+
+ Adds the given tween to the end of the Sequence.
+ Has no effect if the Sequence has already started
+ The tween to append
+
+
+ Adds the given tween to the beginning of the Sequence, pushing forward the other nested content.
+ Has no effect if the Sequence has already started
+ The tween to prepend
+
+
+ Inserts the given tween at the same time position of the last tween, callback or intervale added to the Sequence.
+ Note that, in case of a Join after an interval, the insertion time will be the time where the interval starts, not where it finishes.
+ Has no effect if the Sequence has already started
+
+
+ Inserts the given tween at the given time position in the Sequence,
+ automatically adding an interval if needed.
+ Has no effect if the Sequence has already started
+ The time position where the tween will be placed
+ The tween to insert
+
+
+ Adds the given interval to the end of the Sequence.
+ Has no effect if the Sequence has already started
+ The interval duration
+
+
+ Adds the given interval to the beginning of the Sequence, pushing forward the other nested content.
+ Has no effect if the Sequence has already started
+ The interval duration
+
+
+ Adds the given callback to the end of the Sequence.
+ Has no effect if the Sequence has already started
+ The callback to append
+
+
+ Adds the given callback to the beginning of the Sequence, pushing forward the other nested content.
+ Has no effect if the Sequence has already started
+ The callback to prepend
+
+
+ Inserts the given callback at the given time position in the Sequence,
+ automatically adding an interval if needed.
+ Has no effect if the Sequence has already started
+ The time position where the callback will be placed
+ The callback to insert
+
+
+ Changes a TO tween into a FROM tween: sets the current target's position as the tween's endValue
+ then immediately sends the target to the previously set endValue.
+
+
+ Changes a TO tween into a FROM tween: sets the current target's position as the tween's endValue
+ then immediately sends the target to the previously set endValue.
+ If TRUE the FROM value will be calculated as relative to the current one
+
+
+ Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
+ and eventually sets the tween's target to that value immediately.
+ Value to start from
+ If TRUE sets the target to from value immediately, otherwise waits for the tween to start
+
+
+ Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
+ and eventually sets the tween's target to that value immediately.
+ Alpha value to start from (in case of Fade tweens)
+ If TRUE sets the target to from value immediately, otherwise waits for the tween to start
+
+
+ Changes a TO tween into a FROM tween: sets the tween's starting value to the given one
+ and eventually sets the tween's target to that value immediately.
+ Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens)
+ If TRUE sets the target to from value immediately, otherwise waits for the tween to start
+
+
+ Sets a delayed startup for the tween.
+ Has no effect on Sequences or if the tween has already started
+
+
+ Sets the tween as relative
+ (the endValue will be calculated as startValue + endValue
instead than being used directly).
+ Has no effect on Sequences or if the tween has already started
+
+
+ If isRelative is TRUE sets the tween as relative
+ (the endValue will be calculated as startValue + endValue
instead than being used directly).
+ Has no effect on Sequences or if the tween has already started
+
+
+ If isSpeedBased is TRUE sets the tween as speed based
+ (the duration will represent the number of units the tween moves x second).
+ Has no effect on Sequences, nested tweens, or if the tween has already started
+
+
+ If isSpeedBased is TRUE sets the tween as speed based
+ (the duration will represent the number of units the tween moves x second).
+ Has no effect on Sequences, nested tweens, or if the tween has already started
+
+
+ Options for float tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector2 tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector2 tweens
+ Selecting an axis will tween the vector only on that axis, leaving the others untouched
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector3 tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector3 tweens
+ Selecting an axis will tween the vector only on that axis, leaving the others untouched
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector4 tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector4 tweens
+ Selecting an axis will tween the vector only on that axis, leaving the others untouched
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Quaternion tweens
+ If TRUE (default) the rotation will take the shortest route, and will not rotate more than 360°.
+ If FALSE the rotation will be fully accounted. Is always FALSE if the tween is set as relative
+
+
+ Options for Color tweens
+ If TRUE only the alpha value of the color will be tweened
+
+
+ Options for Vector4 tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector4 tweens
+ If TRUE, rich text will be interpreted correctly while animated,
+ otherwise all tags will be considered as normal text
+ The type of scramble to use, if any
+ A string containing the characters to use for scrambling.
+ Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
+ Leave it to NULL to use default ones
+
+
+ Options for Vector3Array tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Vector3Array tweens
+ If TRUE the tween will smoothly snap all values to integers
+
+
+ Options for Path tweens (created via the DOPath
shortcut)
+ The eventual movement axis to lock. You can input multiple axis if you separate them like this:
+ AxisConstrain.X | AxisConstraint.Y
+ The eventual rotation axis to lock. You can input multiple axis if you separate them like this:
+ AxisConstrain.X | AxisConstraint.Y
+
+
+ Options for Path tweens (created via the DOPath
shortcut)
+ If TRUE the path will be automatically closed
+ The eventual movement axis to lock. You can input multiple axis if you separate them like this:
+ AxisConstrain.X | AxisConstraint.Y
+ The eventual rotation axis to lock. You can input multiple axis if you separate them like this:
+ AxisConstrain.X | AxisConstraint.Y
+
+
+ Additional LookAt options for Path tweens (created via the DOPath
shortcut).
+ Orients the target towards the given position.
+ Must be chained directly to the tween creation method or to a SetOptions
+ The position to look at
+ The eventual direction to consider as "forward".
+ If left to NULL defaults to the regular forward side of the transform
+ The vector that defines in which direction up is (default: Vector3.up)
+
+
+ Additional LookAt options for Path tweens (created via the DOPath
shortcut).
+ Orients the target towards another transform.
+ Must be chained directly to the tween creation method or to a SetOptions
+ The transform to look at
+ The eventual direction to consider as "forward".
+ If left to NULL defaults to the regular forward side of the transform
+ The vector that defines in which direction up is (default: Vector3.up)
+
+
+ Additional LookAt options for Path tweens (created via the DOPath
shortcut).
+ Orients the target to the path, with the given lookAhead.
+ Must be chained directly to the tween creation method or to a SetOptions
+ The percentage of lookAhead to use (0 to 1)
+ The eventual direction to consider as "forward".
+ If left to NULL defaults to the regular forward side of the transform
+ The vector that defines in which direction up is (default: Vector3.up)
+
+
+
+ Types of log behaviours
+
+
+
+ Log only warnings and errors
+
+
+ Log warnings, errors and additional infos
+
+
+ Log only errors
+
+
+
+ Indicates either a Tweener or a Sequence
+
+
+
+ TimeScale for the tween
+
+
+ If TRUE the tween wil go backwards
+
+
+ Object ID (usable for filtering with DOTween static methods). Can be anything except a string or an int
+ (use or for those)
+
+
+ String ID (usable for filtering with DOTween static methods). 2X faster than using an object id
+
+
+ Int ID (usable for filtering with DOTween static methods). 4X faster than using an object id, 2X faster than using a string id.
+ Default is -999 so avoid using an ID like that or it will capture all unset intIds
+
+
+ Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shortcuts
+
+
+ Called when the tween is set in a playing state, after any eventual delay.
+ Also called each time the tween resumes playing from a paused state
+
+
+ Called when the tween state changes from playing to paused.
+ If the tween has autoKill set to FALSE, this is called also when the tween reaches completion.
+
+
+ Called when the tween is rewinded,
+ either by calling Rewind
or by reaching the start position while playing backwards.
+ Rewinding a tween that is already rewinded will not fire this callback
+
+
+ Called each time the tween updates
+
+
+ Called the moment the tween completes one loop cycle
+
+
+ Called the moment the tween reaches completion (loops included)
+
+
+ Called the moment the tween is killed
+
+
+ Called when a path tween's current waypoint changes
+
+
+ Tweeners-only (ignored by Sequences), returns TRUE if the tween was set as relative
+
+
+ FALSE when tween is (or should be) despawned - set only by TweenManager
+
+
+ Gets and sets the time position (loops included, delays excluded) of the tween
+
+
+ TRUE after the tween was set in a play state at least once, AFTER any delay is elapsed
+
+
+ Time position within a single loop cycle
+
+
+
+ Animates a single value
+
+
+
+ Changes the start value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new start value
+ If bigger than 0 applies it as the new tween duration
+
+
+ Changes the end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new end value
+ If bigger than 0 applies it as the new tween duration
+ If TRUE the start value will become the current target's value, otherwise it will stay the same
+
+
+ Changes the end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new end value
+ If TRUE the start value will become the current target's value, otherwise it will stay the same
+
+
+ Changes the start and end value of a tween and rewinds it (without pausing it).
+ Has no effect with tweens that are inside Sequences
+ The new start value
+ The new end value
+ If bigger than 0 applies it as the new tween duration
+
+
+
+ Used internally
+
+
+
+
+ Update type
+
+
+
+ Updates every frame during Update calls
+
+
+ Updates every frame during LateUpdate calls
+
+
+ Updates using FixedUpdate calls
+
+
+ Updates using manual update calls
+
+
+
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/DOTween.XML.meta b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.XML.meta
new file mode 100644
index 0000000..c87a520
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.XML.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 34192c5e0d14aee43a0e86cc4823268a
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll
new file mode 100644
index 0000000..df4f9e0
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll.mdb b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll.mdb
new file mode 100644
index 0000000..40eb501
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll.mdb differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll.mdb.meta b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll.mdb.meta
new file mode 100644
index 0000000..779c1ad
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll.mdb.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4f007001a22b3d24dae350342c4d19c8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll.meta b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll.meta
new file mode 100644
index 0000000..e8655b6
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/DOTween.dll.meta
@@ -0,0 +1,21 @@
+fileFormatVersion: 2
+guid: a811bde74b26b53498b4f6d872b09b6d
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor.meta b/WuHu_touming/Assets/Demigiant/DOTween/Editor.meta
new file mode 100644
index 0000000..7ebe8d0
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 255493a2a62b2bb4a862f38af5669f30
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.XML b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.XML
new file mode 100644
index 0000000..92ab578
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.XML
@@ -0,0 +1,98 @@
+
+
+
+ DOTweenEditor
+
+
+
+
+ Starts the update loop of tween in the editor. Has no effect during playMode.
+
+ Eventual callback to call after every update
+
+
+
+ Stops the update loop and clears the onPreviewUpdated callback.
+
+ If TRUE also resets the tweened objects to their original state
+
+
+
+ Readies the tween for editor preview by setting its UpdateType to Manual plus eventual extra settings.
+
+ The tween to ready
+ If TRUE (recommended) removes all callbacks (OnComplete/Rewind/etc)
+ If TRUE prevents the tween from being auto-killed at completion
+ If TRUE starts playing the tween immediately
+
+
+
+ Checks that the given editor texture use the correct import settings,
+ and applies them if they're incorrect.
+
+
+
+
+ Returns TRUE if setup is required
+
+
+
+
+ Returns TRUE if the file/directory at the given path exists.
+
+ Path, relative to Unity's project folder
+
+
+
+
+ Converts the given project-relative path to a full path,
+ with backward (\) slashes).
+
+
+
+
+ Converts the given full path to a path usable with AssetDatabase methods
+ (relative to Unity's project folder, and with the correct Unity forward (/) slashes).
+
+
+
+
+ Connects to a asset.
+ If the asset already exists at the given path, loads it and returns it.
+ Otherwise, either returns NULL or automatically creates it before loading and returning it
+ (depending on the given parameters).
+
+ Asset type
+ File path (relative to Unity's project folder)
+ If TRUE and the requested asset doesn't exist, forces its creation
+
+
+
+ Full path for the given loaded assembly, assembly file included
+
+
+
+
+ Adds the given global define if it's not already present
+
+
+
+
+ Removes the given global define if it's present
+
+
+
+
+ Returns TRUE if the given global define is present in all the
+ or only in the given , depending on passed parameters.
+
+
+ to use. Leave NULL to check in all of them.
+
+
+
+ Not used as menu item anymore, but as a utiity function
+
+
+
+
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta
new file mode 100644
index 0000000..258ca87
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2e2c6224d345d9249acfa6e8ef40bb2d
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll
new file mode 100644
index 0000000..cd66d53
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb
new file mode 100644
index 0000000..83887aa
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta
new file mode 100644
index 0000000..2ee6141
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8f46310a8b0a8f04a92993c37c713243
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta
new file mode 100644
index 0000000..8ae528a
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta
@@ -0,0 +1,21 @@
+fileFormatVersion: 2
+guid: 45d5034162d6cf04dbe46da84fc7d074
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs.meta b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs.meta
new file mode 100644
index 0000000..364cbb3
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7c15a84908e5c104683f97a740b2c9ac
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png
new file mode 100644
index 0000000..d06fc7c
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta
new file mode 100644
index 0000000..107b5fd
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: 8da095e39e9b4df488dfd436f81116d6
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 1
+ 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: -3
+ maxTextureSize: 128
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ 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: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 128
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer.png b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer.png
new file mode 100644
index 0000000..e29d02f
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer.png differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer.png.meta b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer.png.meta
new file mode 100644
index 0000000..b3f502a
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: 7051dba417b3d53409f2918f1ea4938d
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 1
+ 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: -3
+ maxTextureSize: 256
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ 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: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 256
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer_dark.png b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer_dark.png
new file mode 100644
index 0000000..e48db5e
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer_dark.png differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta
new file mode 100644
index 0000000..1b67eca
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: 519694efe2bb2914788b151fbd8c01f4
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ 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: 1024
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ 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: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 1024
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Header.jpg b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Header.jpg
new file mode 100644
index 0000000..4d710d7
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Header.jpg differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta
new file mode 100644
index 0000000..2ed3b60
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: 78a59ca99f8987941adb61f9e14a06a7
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 1
+ 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: -3
+ maxTextureSize: 512
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ 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: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 512
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules.meta b/WuHu_touming/Assets/Demigiant/DOTween/Modules.meta
new file mode 100644
index 0000000..feb701f
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fab7ce1a302ad0545827f89e2b74c6ec
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs
new file mode 100644
index 0000000..c195b6c
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs
@@ -0,0 +1,202 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true // MODULE_MARKER
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+#if UNITY_5 || UNITY_2017_1_OR_NEWER
+using UnityEngine.Audio; // Required for AudioMixer
+#endif
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModuleAudio
+ {
+ #region Shortcuts
+
+ #region Audio
+
+ /// Tweens an AudioSource's volume to the given value.
+ /// Also stores the AudioSource as the tween's target so it can be used for filtered operations
+ /// The end value to reach (0 to 1)The duration of the tween
+ public static TweenerCore DOFade(this AudioSource target, float endValue, float duration)
+ {
+ if (endValue < 0) endValue = 0;
+ else if (endValue > 1) endValue = 1;
+ TweenerCore t = DOTween.To(() => target.volume, x => target.volume = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an AudioSource's pitch to the given value.
+ /// Also stores the AudioSource as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOPitch(this AudioSource target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+#if UNITY_5 || UNITY_2017_1_OR_NEWER
+ #region AudioMixer (Unity 5 or Newer)
+
+ /// Tweens an AudioMixer's exposed float to the given value.
+ /// Also stores the AudioMixer as the tween's target so it can be used for filtered operations.
+ /// Note that you need to manually expose a float in an AudioMixerGroup in order to be able to tween it from an AudioMixer.
+ /// Name given to the exposed float to set
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(()=> {
+ float currVal;
+ target.GetFloat(floatName, out currVal);
+ return currVal;
+ }, x=> target.SetFloat(floatName, x), endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #region Operation Shortcuts
+
+ ///
+ /// Completes all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens completed
+ /// (meaning the tweens that don't have infinite loops and were not already complete)
+ ///
+ /// For Sequences only: if TRUE also internal Sequence callbacks will be fired,
+ /// otherwise they will be ignored
+ public static int DOComplete(this AudioMixer target, bool withCallbacks = false)
+ {
+ return DOTween.Complete(target, withCallbacks);
+ }
+
+ ///
+ /// Kills all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens killed.
+ ///
+ /// If TRUE completes the tween before killing it
+ public static int DOKill(this AudioMixer target, bool complete = false)
+ {
+ return DOTween.Kill(target, complete);
+ }
+
+ ///
+ /// Flips the direction (backwards if it was going forward or viceversa) of all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens flipped.
+ ///
+ public static int DOFlip(this AudioMixer target)
+ {
+ return DOTween.Flip(target);
+ }
+
+ ///
+ /// Sends to the given position all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens involved.
+ ///
+ /// Time position to reach
+ /// (if higher than the whole tween duration the tween will simply reach its end)
+ /// If TRUE will play the tween after reaching the given position, otherwise it will pause it
+ public static int DOGoto(this AudioMixer target, float to, bool andPlay = false)
+ {
+ return DOTween.Goto(target, to, andPlay);
+ }
+
+ ///
+ /// Pauses all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens paused.
+ ///
+ public static int DOPause(this AudioMixer target)
+ {
+ return DOTween.Pause(target);
+ }
+
+ ///
+ /// Plays all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens played.
+ ///
+ public static int DOPlay(this AudioMixer target)
+ {
+ return DOTween.Play(target);
+ }
+
+ ///
+ /// Plays backwards all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens played.
+ ///
+ public static int DOPlayBackwards(this AudioMixer target)
+ {
+ return DOTween.PlayBackwards(target);
+ }
+
+ ///
+ /// Plays forward all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens played.
+ ///
+ public static int DOPlayForward(this AudioMixer target)
+ {
+ return DOTween.PlayForward(target);
+ }
+
+ ///
+ /// Restarts all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens restarted.
+ ///
+ public static int DORestart(this AudioMixer target)
+ {
+ return DOTween.Restart(target);
+ }
+
+ ///
+ /// Rewinds all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens rewinded.
+ ///
+ public static int DORewind(this AudioMixer target)
+ {
+ return DOTween.Rewind(target);
+ }
+
+ ///
+ /// Smoothly rewinds all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens rewinded.
+ ///
+ public static int DOSmoothRewind(this AudioMixer target)
+ {
+ return DOTween.SmoothRewind(target);
+ }
+
+ ///
+ /// Toggles the paused state (plays if it was paused, pauses if it was playing) of all tweens that have this target as a reference
+ /// (meaning tweens that were started from this target, or that had this target added as an Id)
+ /// and returns the total number of tweens involved.
+ ///
+ public static int DOTogglePause(this AudioMixer target)
+ {
+ return DOTween.TogglePause(target);
+ }
+
+ #endregion
+
+ #endregion
+#endif
+
+ #endregion
+ }
+}
+#endif
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta
new file mode 100644
index 0000000..5568217
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b766d08851589514b97afb23c6f30a70
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs
new file mode 100644
index 0000000..a1a1cb9
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs
@@ -0,0 +1,216 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true // MODULE_MARKER
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Core.Enums;
+using DG.Tweening.Plugins;
+using DG.Tweening.Plugins.Core.PathCore;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModulePhysics
+ {
+ #region Shortcuts
+
+ #region Rigidbody
+
+ /// Tweens a Rigidbody's position to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody's X position to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration);
+ t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody's Y position to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration);
+ t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody's Z position to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration);
+ t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody's rotation to the given value.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// Rotation mode
+ public static TweenerCore DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast)
+ {
+ TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
+ t.SetTarget(target);
+ t.plugOptions.rotateMode = mode;
+ return t;
+ }
+
+ /// Tweens a Rigidbody's rotation so that it will look towards the given position.
+ /// Also stores the rigidbody as the tween's target so it can be used for filtered operations
+ /// The position to look atThe duration of the tween
+ /// Eventual axis constraint for the rotation
+ /// The vector that defines in which direction up is (default: Vector3.up)
+ public static TweenerCore DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null)
+ {
+ TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, towards, duration)
+ .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetLookAt);
+ t.plugOptions.axisConstraint = axisConstraint;
+ t.plugOptions.up = (up == null) ? Vector3.up : (Vector3)up;
+ return t;
+ }
+
+ #region Special
+
+ /// Tweens a Rigidbody's position to the given value, while also applying a jump effect along the Y axis.
+ /// Returns a Sequence instead of a Tweener.
+ /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations
+ /// The end value to reach
+ /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ /// Total number of jumps
+ /// The duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Sequence DOJump(this Rigidbody target, Vector3 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
+ {
+ if (numJumps < 1) numJumps = 1;
+ float startPosY = 0;
+ float offsetY = -1;
+ bool offsetYSet = false;
+ Sequence s = DOTween.Sequence();
+ Tween yTween = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, jumpPower, 0), duration / (numJumps * 2))
+ .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
+ .SetLoops(numJumps * 2, LoopType.Yoyo)
+ .OnStart(() => startPosY = target.position.y);
+ s.Append(DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue.x, 0, 0), duration)
+ .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
+ ).Join(DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue.z), duration)
+ .SetOptions(AxisConstraint.Z, snapping).SetEase(Ease.Linear)
+ ).Join(yTween)
+ .SetTarget(target).SetEase(DOTween.defaultEaseType);
+ yTween.OnUpdate(() => {
+ if (!offsetYSet) {
+ offsetYSet = true;
+ offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
+ }
+ Vector3 pos = target.position;
+ pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad);
+ target.MovePosition(pos);
+ });
+ return s;
+ }
+
+ /// Tweens a Rigidbody's position through the given path waypoints, using the chosen path algorithm.
+ /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations.
+ /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.
+ /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
+ /// If you plan to publish there you should use a regular transform.DOPath.
+ /// The waypoints to go through
+ /// The duration of the tween
+ /// The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path)
+ /// The path mode: 3D, side-scroller 2D, top-down 2D
+ /// The resolution of the path (useless in case of Linear paths): higher resolutions make for more detailed curved paths but are more expensive.
+ /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+ public static TweenerCore DOPath(
+ this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear,
+ PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
+ )
+ {
+ if (resolution < 1) resolution = 1;
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, new Path(pathType, path, resolution, gizmoColor), duration)
+ .SetTarget(target).SetUpdate(UpdateType.Fixed);
+
+ t.plugOptions.isRigidbody = true;
+ t.plugOptions.mode = pathMode;
+ return t;
+ }
+ /// Tweens a Rigidbody's localPosition through the given path waypoints, using the chosen path algorithm.
+ /// Also stores the Rigidbody as the tween's target so it can be used for filtered operations
+ /// NOTE: to tween a rigidbody correctly it should be set to kinematic at least while being tweened.
+ /// BEWARE: doesn't work on Windows Phone store (waiting for Unity to fix their own bug).
+ /// If you plan to publish there you should use a regular transform.DOLocalPath.
+ /// The waypoint to go through
+ /// The duration of the tween
+ /// The type of path: Linear (straight path) or CatmullRom (curved CatmullRom path)
+ /// The path mode: 3D, side-scroller 2D, top-down 2D
+ /// The resolution of the path: higher resolutions make for more detailed curved paths but are more expensive.
+ /// Defaults to 10, but a value of 5 is usually enough if you don't have dramatic long curves between waypoints
+ /// The color of the path (shown when gizmos are active in the Play panel and the tween is running)
+ public static TweenerCore DOLocalPath(
+ this Rigidbody target, Vector3[] path, float duration, PathType pathType = PathType.Linear,
+ PathMode pathMode = PathMode.Full3D, int resolution = 10, Color? gizmoColor = null
+ )
+ {
+ if (resolution < 1) resolution = 1;
+ Transform trans = target.transform;
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), new Path(pathType, path, resolution, gizmoColor), duration)
+ .SetTarget(target).SetUpdate(UpdateType.Fixed);
+
+ t.plugOptions.isRigidbody = true;
+ t.plugOptions.mode = pathMode;
+ t.plugOptions.useLocalPosition = true;
+ return t;
+ }
+ // Used by path editor when creating the actual tween, so it can pass a pre-compiled path
+ internal static TweenerCore DOPath(
+ this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+ )
+ {
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => target.position, target.MovePosition, path, duration)
+ .SetTarget(target);
+
+ t.plugOptions.isRigidbody = true;
+ t.plugOptions.mode = pathMode;
+ return t;
+ }
+ internal static TweenerCore DOLocalPath(
+ this Rigidbody target, Path path, float duration, PathMode pathMode = PathMode.Full3D
+ )
+ {
+ Transform trans = target.transform;
+ TweenerCore t = DOTween.To(PathPlugin.Get(), () => trans.localPosition, x => target.MovePosition(trans.parent == null ? x : trans.parent.TransformPoint(x)), path, duration)
+ .SetTarget(target);
+
+ t.plugOptions.isRigidbody = true;
+ t.plugOptions.mode = pathMode;
+ t.plugOptions.useLocalPosition = true;
+ return t;
+ }
+
+ #endregion
+
+ #endregion
+
+ #endregion
+ }
+}
+#endif
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta
new file mode 100644
index 0000000..42a0566
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dae9aa560b4242648a3affa2bfabc365
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs
new file mode 100644
index 0000000..f40a7d0
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs
@@ -0,0 +1,107 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) // MODULE_MARKER
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModulePhysics2D
+ {
+ #region Shortcuts
+
+ #region Rigidbody2D Shortcuts
+
+ /// Tweens a Rigidbody2D's position to the given value.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody2D's X position to the given value.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration);
+ t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody2D's Y position to the given value.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration);
+ t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Rigidbody2D's rotation to the given value.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DORotate(this Rigidbody2D target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #region Special
+
+ /// Tweens a Rigidbody2D's position to the given value, while also applying a jump effect along the Y axis.
+ /// Returns a Sequence instead of a Tweener.
+ /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations.
+ /// IMPORTANT: a rigidbody2D can't be animated in a jump arc using MovePosition, so the tween will directly set the position
+ /// The end value to reach
+ /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ /// Total number of jumps
+ /// The duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Sequence DOJump(this Rigidbody2D target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
+ {
+ if (numJumps < 1) numJumps = 1;
+ float startPosY = 0;
+ float offsetY = -1;
+ bool offsetYSet = false;
+ Sequence s = DOTween.Sequence();
+ Tween yTween = DOTween.To(() => target.position, x => target.position = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
+ .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
+ .SetLoops(numJumps * 2, LoopType.Yoyo)
+ .OnStart(() => startPosY = target.position.y);
+ s.Append(DOTween.To(() => target.position, x => target.position = x, new Vector2(endValue.x, 0), duration)
+ .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
+ ).Join(yTween)
+ .SetTarget(target).SetEase(DOTween.defaultEaseType);
+ yTween.OnUpdate(() => {
+ if (!offsetYSet) {
+ offsetYSet = true;
+ offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
+ }
+ Vector3 pos = target.position;
+ pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad);
+ target.MovePosition(pos);
+ });
+ return s;
+ }
+
+ #endregion
+
+ #endregion
+
+ #endregion
+ }
+}
+#endif
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta
new file mode 100644
index 0000000..323d0dd
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 230fe34542e175245ba74b4659dae700
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs
new file mode 100644
index 0000000..9450ca5
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs
@@ -0,0 +1,92 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) // MODULE_MARKER
+using System;
+using UnityEngine;
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModuleSprite
+ {
+ #region Shortcuts
+
+ #region SpriteRenderer
+
+ /// Tweens a SpriteRenderer's color to the given value.
+ /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this SpriteRenderer target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Material's alpha color to the given value.
+ /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this SpriteRenderer target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a SpriteRenderer's color using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to useThe duration of the tween
+ public static Sequence DOGradientColor(this SpriteRenderer target, Gradient gradient, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.color = c.color;
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
+ }
+ return s;
+ }
+
+ #endregion
+
+ #region Blendables
+
+ #region SpriteRenderer
+
+ /// Tweens a SpriteRenderer's color to the given value,
+ /// in a way that allows other DOBlendableColor tweens to work together on the same target,
+ /// instead than fight each other as multiple DOColor would do.
+ /// Also stores the SpriteRenderer as the tween's target so it can be used for filtered operations
+ /// The value to tween toThe duration of the tween
+ public static Tweener DOBlendableColor(this SpriteRenderer target, Color endValue, float duration)
+ {
+ endValue = endValue - target.color;
+ Color to = new Color(0, 0, 0, 0);
+ return DOTween.To(() => to, x => {
+ Color diff = x - to;
+ to = x;
+ target.color += diff;
+ }, endValue, duration)
+ .Blendable().SetTarget(target);
+ }
+
+ #endregion
+
+ #endregion
+
+ #endregion
+ }
+}
+#endif
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta
new file mode 100644
index 0000000..e6ade0c
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 188918ab119d93148aa0de59ccf5286b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs
new file mode 100644
index 0000000..072c02c
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs
@@ -0,0 +1,604 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+#if true && (UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) // MODULE_MARKER
+using System;
+using UnityEngine;
+using UnityEngine.UI;
+using DG.Tweening.Core;
+using DG.Tweening.Core.Enums;
+using DG.Tweening.Plugins.Options;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenModuleUI
+ {
+ #region Shortcuts
+
+ #region CanvasGroup
+
+ /// Tweens a CanvasGroup's alpha color to the given value.
+ /// Also stores the canvasGroup as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this CanvasGroup target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Graphic
+
+ /// Tweens an Graphic's color to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this Graphic target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an Graphic's alpha color to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this Graphic target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Image
+
+ /// Tweens an Image's color to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this Image target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an Image's alpha color to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this Image target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an Image's fillAmount to the given value.
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The end value to reach (0 to 1)The duration of the tween
+ public static TweenerCore DOFillAmount(this Image target, float endValue, float duration)
+ {
+ if (endValue > 1) endValue = 1;
+ else if (endValue < 0) endValue = 0;
+ TweenerCore t = DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an Image's colors using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to useThe duration of the tween
+ public static Sequence DOGradientColor(this Image target, Gradient gradient, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.color = c.color;
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
+ }
+ return s;
+ }
+
+ #endregion
+
+ #region LayoutElement
+
+ /// Tweens an LayoutElement's flexibleWidth/Height to the given value.
+ /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => {
+ target.flexibleWidth = x.x;
+ target.flexibleHeight = x.y;
+ }, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an LayoutElement's minWidth/Height to the given value.
+ /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => {
+ target.minWidth = x.x;
+ target.minHeight = x.y;
+ }, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens an LayoutElement's preferredWidth/Height to the given value.
+ /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => {
+ target.preferredWidth = x.x;
+ target.preferredHeight = x.y;
+ }, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Outline
+
+ /// Tweens a Outline's effectColor to the given value.
+ /// Also stores the Outline as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this Outline target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Outline's effectColor alpha to the given value.
+ /// Also stores the Outline as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this Outline target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Outline's effectDistance to the given value.
+ /// Also stores the Outline as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScale(this Outline target, Vector2 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region RectTransform
+
+ /// Tweens a RectTransform's anchoredPosition to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition X to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration);
+ t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition Y to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration);
+ t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's anchoredPosition3D to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition3D X to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration);
+ t.SetOptions(AxisConstraint.X, snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition3D Y to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration);
+ t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's anchoredPosition3D Z to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration);
+ t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's anchorMax to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's anchorMin to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's pivot to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOPivot(this RectTransform target, Vector2 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's pivot X to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOPivotX(this RectTransform target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration);
+ t.SetOptions(AxisConstraint.X).SetTarget(target);
+ return t;
+ }
+ /// Tweens a RectTransform's pivot Y to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOPivotY(this RectTransform target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration);
+ t.SetOptions(AxisConstraint.Y).SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a RectTransform's sizeDelta to the given value.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ /// Punches a RectTransform's anchoredPosition towards the given direction and then back to the starting one
+ /// as if it was connected to the starting position via an elastic.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The direction and strength of the punch (added to the RectTransform's current position)
+ /// The duration of the tween
+ /// Indicates how much will the punch vibrate
+ /// Represents how much (0 to 1) the vector will go beyond the starting position when bouncing backwards.
+ /// 1 creates a full oscillation between the punch direction and the opposite direction,
+ /// while 0 oscillates only between the punch and the start position
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DOPunchAnchorPos(this RectTransform target, Vector2 punch, float duration, int vibrato = 10, float elasticity = 1, bool snapping = false)
+ {
+ return DOTween.Punch(() => target.anchoredPosition, x => target.anchoredPosition = x, punch, duration, vibrato, elasticity)
+ .SetTarget(target).SetOptions(snapping);
+ }
+
+ /// Shakes a RectTransform's anchoredPosition with the given values.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The duration of the tween
+ /// The shake strength
+ /// Indicates how much will the shake vibrate
+ /// Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ /// Setting it to 0 will shake along a single direction.
+ /// If TRUE the tween will smoothly snap all values to integers
+ /// If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, float strength = 100, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true)
+ {
+ return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, true, fadeOut)
+ .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping);
+ }
+ /// Shakes a RectTransform's anchoredPosition with the given values.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The duration of the tween
+ /// The shake strength on each axis
+ /// Indicates how much will the shake vibrate
+ /// Indicates how much the shake will be random (0 to 180 - values higher than 90 kind of suck, so beware).
+ /// Setting it to 0 will shake along a single direction.
+ /// If TRUE the tween will smoothly snap all values to integers
+ /// If TRUE the shake will automatically fadeOut smoothly within the tween's duration, otherwise it will not
+ public static Tweener DOShakeAnchorPos(this RectTransform target, float duration, Vector2 strength, int vibrato = 10, float randomness = 90, bool snapping = false, bool fadeOut = true)
+ {
+ return DOTween.Shake(() => target.anchoredPosition, x => target.anchoredPosition = x, duration, strength, vibrato, randomness, fadeOut)
+ .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetShake).SetOptions(snapping);
+ }
+
+ #region Special
+
+ /// Tweens a RectTransform's anchoredPosition to the given value, while also applying a jump effect along the Y axis.
+ /// Returns a Sequence instead of a Tweener.
+ /// Also stores the RectTransform as the tween's target so it can be used for filtered operations
+ /// The end value to reach
+ /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
+ /// Total number of jumps
+ /// The duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Sequence DOJumpAnchorPos(this RectTransform target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
+ {
+ if (numJumps < 1) numJumps = 1;
+ float startPosY = 0;
+ float offsetY = -1;
+ bool offsetYSet = false;
+
+ // Separate Y Tween so we can elaborate elapsedPercentage on that insted of on the Sequence
+ // (in case users add a delay or other elements to the Sequence)
+ Sequence s = DOTween.Sequence();
+ Tween yTween = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
+ .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
+ .SetLoops(numJumps * 2, LoopType.Yoyo)
+ .OnStart(()=> startPosY = target.anchoredPosition.y);
+ s.Append(DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue.x, 0), duration)
+ .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
+ ).Join(yTween)
+ .SetTarget(target).SetEase(DOTween.defaultEaseType);
+ s.OnUpdate(() => {
+ if (!offsetYSet) {
+ offsetYSet = true;
+ offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
+ }
+ Vector2 pos = target.anchoredPosition;
+ pos.y += DOVirtual.EasedValue(0, offsetY, s.ElapsedDirectionalPercentage(), Ease.OutQuad);
+ target.anchoredPosition = pos;
+ });
+ return s;
+ }
+
+ #endregion
+
+ #endregion
+
+ #region ScrollRect
+
+ /// Tweens a ScrollRect's horizontal/verticalNormalizedPosition to the given value.
+ /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DONormalizedPos(this ScrollRect target, Vector2 endValue, float duration, bool snapping = false)
+ {
+ return DOTween.To(() => new Vector2(target.horizontalNormalizedPosition, target.verticalNormalizedPosition),
+ x => {
+ target.horizontalNormalizedPosition = x.x;
+ target.verticalNormalizedPosition = x.y;
+ }, endValue, duration)
+ .SetOptions(snapping).SetTarget(target);
+ }
+ /// Tweens a ScrollRect's horizontalNormalizedPosition to the given value.
+ /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DOHorizontalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false)
+ {
+ return DOTween.To(() => target.horizontalNormalizedPosition, x => target.horizontalNormalizedPosition = x, endValue, duration)
+ .SetOptions(snapping).SetTarget(target);
+ }
+ /// Tweens a ScrollRect's verticalNormalizedPosition to the given value.
+ /// Also stores the ScrollRect as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DOVerticalNormalizedPos(this ScrollRect target, float endValue, float duration, bool snapping = false)
+ {
+ return DOTween.To(() => target.verticalNormalizedPosition, x => target.verticalNormalizedPosition = x, endValue, duration)
+ .SetOptions(snapping).SetTarget(target);
+ }
+
+ #endregion
+
+ #region Slider
+
+ /// Tweens a Slider's value to the given value.
+ /// Also stores the Slider as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static TweenerCore DOValue(this Slider target, float endValue, float duration, bool snapping = false)
+ {
+ TweenerCore t = DOTween.To(() => target.value, x => target.value = x, endValue, duration);
+ t.SetOptions(snapping).SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Text
+
+ /// Tweens a Text's color to the given value.
+ /// Also stores the Text as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this Text target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Text's alpha color to the given value.
+ /// Also stores the Text as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this Text target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Text's text to the given value.
+ /// Also stores the Text as the tween's target so it can be used for filtered operations
+ /// The end string to tween toThe duration of the tween
+ /// If TRUE (default), rich text will be interpreted correctly while animated,
+ /// otherwise all tags will be considered as normal text
+ /// The type of scramble mode to use, if any
+ /// A string containing the characters to use for scrambling.
+ /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
+ /// Leave it to NULL (default) to use default ones
+ public static TweenerCore DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
+ {
+ TweenerCore t = DOTween.To(() => target.text, x => target.text = x, endValue, duration);
+ t.SetOptions(richTextEnabled, scrambleMode, scrambleChars)
+ .SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Blendables
+
+ #region Graphic
+
+ /// Tweens a Graphic's color to the given value,
+ /// in a way that allows other DOBlendableColor tweens to work together on the same target,
+ /// instead than fight each other as multiple DOColor would do.
+ /// Also stores the Graphic as the tween's target so it can be used for filtered operations
+ /// The value to tween toThe duration of the tween
+ public static Tweener DOBlendableColor(this Graphic target, Color endValue, float duration)
+ {
+ endValue = endValue - target.color;
+ Color to = new Color(0, 0, 0, 0);
+ return DOTween.To(() => to, x => {
+ Color diff = x - to;
+ to = x;
+ target.color += diff;
+ }, endValue, duration)
+ .Blendable().SetTarget(target);
+ }
+
+ #endregion
+
+ #region Image
+
+ /// Tweens a Image's color to the given value,
+ /// in a way that allows other DOBlendableColor tweens to work together on the same target,
+ /// instead than fight each other as multiple DOColor would do.
+ /// Also stores the Image as the tween's target so it can be used for filtered operations
+ /// The value to tween toThe duration of the tween
+ public static Tweener DOBlendableColor(this Image target, Color endValue, float duration)
+ {
+ endValue = endValue - target.color;
+ Color to = new Color(0, 0, 0, 0);
+ return DOTween.To(() => to, x => {
+ Color diff = x - to;
+ to = x;
+ target.color += diff;
+ }, endValue, duration)
+ .Blendable().SetTarget(target);
+ }
+
+ #endregion
+
+ #region Text
+
+ /// Tweens a Text's color BY the given value,
+ /// in a way that allows other DOBlendableColor tweens to work together on the same target,
+ /// instead than fight each other as multiple DOColor would do.
+ /// Also stores the Text as the tween's target so it can be used for filtered operations
+ /// The value to tween toThe duration of the tween
+ public static Tweener DOBlendableColor(this Text target, Color endValue, float duration)
+ {
+ endValue = endValue - target.color;
+ Color to = new Color(0, 0, 0, 0);
+ return DOTween.To(() => to, x => {
+ Color diff = x - to;
+ to = x;
+ target.color += diff;
+ }, endValue, duration)
+ .Blendable().SetTarget(target);
+ }
+
+ #endregion
+
+ #endregion
+
+ #endregion
+
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+
+ public static class Utils
+ {
+ ///
+ /// Converts the anchoredPosition of the first RectTransform to the second RectTransform,
+ /// taking into consideration offset, anchors and pivot, and returns the new anchoredPosition
+ ///
+ public static Vector2 SwitchToRectTransform(RectTransform from, RectTransform to)
+ {
+ Vector2 localPoint;
+ Vector2 fromPivotDerivedOffset = new Vector2(from.rect.width * 0.5f + from.rect.xMin, from.rect.height * 0.5f + from.rect.yMin);
+ Vector2 screenP = RectTransformUtility.WorldToScreenPoint(null, from.position);
+ screenP += fromPivotDerivedOffset;
+ RectTransformUtility.ScreenPointToLocalPointInRectangle(to, screenP, null, out localPoint);
+ Vector2 pivotDerivedOffset = new Vector2(to.rect.width * 0.5f + to.rect.xMin, to.rect.height * 0.5f + to.rect.yMin);
+ return to.anchoredPosition + localPoint - pivotDerivedOffset;
+ }
+ }
+ }
+}
+#endif
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta
new file mode 100644
index 0000000..b7f95cb
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a060394c03331a64392db53a10e7f2d1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs
new file mode 100644
index 0000000..176ecae
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs
@@ -0,0 +1,299 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+using System;
+using UnityEngine;
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ ///
+ /// Shortcuts/functions that are not strictly related to specific Modules
+ /// but are available only on some Unity versions
+ ///
+ public static class DOTweenModuleUnityVersion
+ {
+#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER
+ #region Unity 4.3 or Newer
+
+ #region Material
+
+ /// Tweens a Material's color using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to useThe duration of the tween
+ public static Sequence DOGradientColor(this Material target, Gradient gradient, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.color = c.color;
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
+ }
+ return s;
+ }
+ /// Tweens a Material's named color property using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to use
+ /// The name of the material property to tween (like _Tint or _SpecColor)
+ /// The duration of the tween
+ public static Sequence DOGradientColor(this Material target, Gradient gradient, string property, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.SetColor(property, c.color);
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, property, colorDuration).SetEase(Ease.Linear));
+ }
+ return s;
+ }
+
+ #endregion
+
+ #endregion
+#endif
+
+#if UNITY_5_3_OR_NEWER || UNITY_2017_1_OR_NEWER
+ #region Unity 5.3 or Newer
+
+ #region CustomYieldInstructions
+
+ ///
+ /// Returns a that waits until the tween is killed or complete.
+ /// It can be used inside a coroutine as a yield.
+ /// Example usage:yield return myTween.WaitForCompletion(true);
+ ///
+ public static CustomYieldInstruction WaitForCompletion(this Tween t, bool returnCustomYieldInstruction)
+ {
+ if (!t.active) {
+ if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
+ return null;
+ }
+ return new DOTweenCYInstruction.WaitForCompletion(t);
+ }
+
+ ///
+ /// Returns a that waits until the tween is killed or rewinded.
+ /// It can be used inside a coroutine as a yield.
+ /// Example usage:yield return myTween.WaitForRewind();
+ ///
+ public static CustomYieldInstruction WaitForRewind(this Tween t, bool returnCustomYieldInstruction)
+ {
+ if (!t.active) {
+ if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
+ return null;
+ }
+ return new DOTweenCYInstruction.WaitForRewind(t);
+ }
+
+ ///
+ /// Returns a that waits until the tween is killed.
+ /// It can be used inside a coroutine as a yield.
+ /// Example usage:yield return myTween.WaitForKill();
+ ///
+ public static CustomYieldInstruction WaitForKill(this Tween t, bool returnCustomYieldInstruction)
+ {
+ if (!t.active) {
+ if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
+ return null;
+ }
+ return new DOTweenCYInstruction.WaitForKill(t);
+ }
+
+ ///
+ /// Returns a that waits until the tween is killed or has gone through the given amount of loops.
+ /// It can be used inside a coroutine as a yield.
+ /// Example usage:yield return myTween.WaitForElapsedLoops(2);
+ ///
+ /// Elapsed loops to wait for
+ public static CustomYieldInstruction WaitForElapsedLoops(this Tween t, int elapsedLoops, bool returnCustomYieldInstruction)
+ {
+ if (!t.active) {
+ if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
+ return null;
+ }
+ return new DOTweenCYInstruction.WaitForElapsedLoops(t, elapsedLoops);
+ }
+
+ ///
+ /// Returns a that waits until the tween is killed or has reached the given position (loops included, delays excluded).
+ /// It can be used inside a coroutine as a yield.
+ /// Example usage:yield return myTween.WaitForPosition(2.5f);
+ ///
+ /// Position (loops included, delays excluded) to wait for
+ public static CustomYieldInstruction WaitForPosition(this Tween t, float position, bool returnCustomYieldInstruction)
+ {
+ if (!t.active) {
+ if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
+ return null;
+ }
+ return new DOTweenCYInstruction.WaitForPosition(t, position);
+ }
+
+ ///
+ /// Returns a that waits until the tween is killed or started
+ /// (meaning when the tween is set in a playing state the first time, after any eventual delay).
+ /// It can be used inside a coroutine as a yield.
+ /// Example usage:yield return myTween.WaitForStart();
+ ///
+ public static CustomYieldInstruction WaitForStart(this Tween t, bool returnCustomYieldInstruction)
+ {
+ if (!t.active) {
+ if (Debugger.logPriority > 0) Debugger.LogInvalidTween(t);
+ return null;
+ }
+ return new DOTweenCYInstruction.WaitForStart(t);
+ }
+
+ #endregion
+
+ #endregion
+#endif
+
+#if UNITY_2018_1_OR_NEWER
+ #region Unity 2018.1 or Newer
+
+ #region Material
+
+ /// Tweens a Material's named texture offset property with the given ID to the given value.
+ /// Also stores the material as the tween's target so it can be used for filtered operations
+ /// The end value to reach
+ /// The ID of the material property to tween (also called nameID in Unity's manual)
+ /// The duration of the tween
+ public static TweenerCore DOOffset(this Material target, Vector2 endValue, int propertyID, float duration)
+ {
+ if (!target.HasProperty(propertyID)) {
+ if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
+ return null;
+ }
+ TweenerCore t = DOTween.To(() => target.GetTextureOffset(propertyID), x => target.SetTextureOffset(propertyID, x), endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a Material's named texture scale property with the given ID to the given value.
+ /// Also stores the material as the tween's target so it can be used for filtered operations
+ /// The end value to reach
+ /// The ID of the material property to tween (also called nameID in Unity's manual)
+ /// The duration of the tween
+ public static TweenerCore DOTiling(this Material target, Vector2 endValue, int propertyID, float duration)
+ {
+ if (!target.HasProperty(propertyID)) {
+ if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID);
+ return null;
+ }
+ TweenerCore t = DOTween.To(() => target.GetTextureScale(propertyID), x => target.SetTextureScale(propertyID, x), endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #endregion
+#endif
+ }
+
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ // ███ CLASSES █████████████████████████████████████████████████████████████████████████████████████████████████████████
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+
+#if UNITY_5_3_OR_NEWER || UNITY_2017_1_OR_NEWER
+ public static class DOTweenCYInstruction
+ {
+ public class WaitForCompletion : CustomYieldInstruction
+ {
+ public override bool keepWaiting { get {
+ return t.active && !t.IsComplete();
+ }}
+ readonly Tween t;
+ public WaitForCompletion(Tween tween)
+ {
+ t = tween;
+ }
+ }
+
+ public class WaitForRewind : CustomYieldInstruction
+ {
+ public override bool keepWaiting { get {
+ return t.active && (!t.playedOnce || t.position * (t.CompletedLoops() + 1) > 0);
+ }}
+ readonly Tween t;
+ public WaitForRewind(Tween tween)
+ {
+ t = tween;
+ }
+ }
+
+ public class WaitForKill : CustomYieldInstruction
+ {
+ public override bool keepWaiting { get {
+ return t.active;
+ }}
+ readonly Tween t;
+ public WaitForKill(Tween tween)
+ {
+ t = tween;
+ }
+ }
+
+ public class WaitForElapsedLoops : CustomYieldInstruction
+ {
+ public override bool keepWaiting { get {
+ return t.active && t.CompletedLoops() < elapsedLoops;
+ }}
+ readonly Tween t;
+ readonly int elapsedLoops;
+ public WaitForElapsedLoops(Tween tween, int elapsedLoops)
+ {
+ t = tween;
+ this.elapsedLoops = elapsedLoops;
+ }
+ }
+
+ public class WaitForPosition : CustomYieldInstruction
+ {
+ public override bool keepWaiting { get {
+ return t.active && t.position * (t.CompletedLoops() + 1) < position;
+ }}
+ readonly Tween t;
+ readonly float position;
+ public WaitForPosition(Tween tween, float position)
+ {
+ t = tween;
+ this.position = position;
+ }
+ }
+
+ public class WaitForStart : CustomYieldInstruction
+ {
+ public override bool keepWaiting { get {
+ return t.active && !t.playedOnce;
+ }}
+ readonly Tween t;
+ public WaitForStart(Tween tween)
+ {
+ t = tween;
+ }
+ }
+ }
+#endif
+}
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta
new file mode 100644
index 0000000..6256c54
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 63c02322328255542995bd02b47b0457
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs
new file mode 100644
index 0000000..8a1fb5f
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs
@@ -0,0 +1,155 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+using System;
+using System.Reflection;
+using UnityEngine;
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Core.PathCore;
+using DG.Tweening.Plugins.Options;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ ///
+ /// Utility functions that deal with available Modules.
+ /// Modules defines:
+ /// - DOTAUDIO
+ /// - DOTPHYSICS
+ /// - DOTPHYSICS2D
+ /// - DOTSPRITE
+ /// - DOTUI
+ /// Extra defines set and used for implementation of external assets:
+ /// - DOTWEEN_TMP ► TextMesh Pro
+ /// - DOTWEEN_TK2D ► 2D Toolkit
+ ///
+ public static class DOTweenModuleUtils
+ {
+ static bool _initialized;
+
+ #region Reflection
+
+ ///
+ /// Called via Reflection by DOTweenComponent on Awake
+ ///
+#if UNITY_2018_1_OR_NEWER
+ [UnityEngine.Scripting.Preserve]
+#endif
+ public static void Init()
+ {
+ if (_initialized) return;
+
+ _initialized = true;
+ DOTweenExternalCommand.SetOrientationOnPath += Physics.SetOrientationOnPath;
+
+#if UNITY_EDITOR
+#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1
+ UnityEditor.EditorApplication.playmodeStateChanged += PlaymodeStateChanged;
+#else
+ UnityEditor.EditorApplication.playModeStateChanged += PlaymodeStateChanged;
+#endif
+#endif
+ }
+
+#if UNITY_2018_1_OR_NEWER
+#pragma warning disable
+ [UnityEngine.Scripting.Preserve]
+ // Just used to preserve methods when building, never called
+ static void Preserver()
+ {
+ Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
+ MethodInfo mi = typeof(MonoBehaviour).GetMethod("Stub");
+ }
+#pragma warning restore
+#endif
+
+ #endregion
+
+#if UNITY_EDITOR
+ // Fires OnApplicationPause in DOTweenComponent even when Editor is paused (otherwise it's only fired at runtime)
+#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1
+ static void PlaymodeStateChanged()
+ #else
+ static void PlaymodeStateChanged(UnityEditor.PlayModeStateChange state)
+#endif
+ {
+ if (DOTween.instance == null) return;
+ DOTween.instance.OnApplicationPause(UnityEditor.EditorApplication.isPaused);
+ }
+#endif
+
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+
+ public static class Physics
+ {
+ // Called via DOTweenExternalCommand callback
+ public static void SetOrientationOnPath(PathOptions options, Tween t, Quaternion newRot, Transform trans)
+ {
+#if true // PHYSICS_MARKER
+ if (options.isRigidbody) ((Rigidbody)t.target).rotation = newRot;
+ else trans.rotation = newRot;
+#else
+ trans.rotation = newRot;
+#endif
+ }
+
+ // Returns FALSE if the DOTween's Physics2D Module is disabled, or if there's no Rigidbody2D attached
+ public static bool HasRigidbody2D(Component target)
+ {
+#if true // PHYSICS2D_MARKER
+ return target.GetComponent() != null;
+#else
+ return false;
+#endif
+ }
+
+ #region Called via Reflection
+
+
+ // Called via Reflection by DOTweenPathInspector
+ // Returns FALSE if the DOTween's Physics Module is disabled, or if there's no rigidbody attached
+#if UNITY_2018_1_OR_NEWER
+ [UnityEngine.Scripting.Preserve]
+#endif
+ public static bool HasRigidbody(Component target)
+ {
+#if true // PHYSICS_MARKER
+ return target.GetComponent() != null;
+#else
+ return false;
+#endif
+ }
+
+ // Called via Reflection by DOTweenPath
+#if UNITY_2018_1_OR_NEWER
+ [UnityEngine.Scripting.Preserve]
+#endif
+ public static TweenerCore CreateDOTweenPathTween(
+ MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode
+ ){
+ TweenerCore t;
+#if true // PHYSICS_MARKER
+ Rigidbody rBody = tweenRigidbody ? target.GetComponent() : null;
+ if (tweenRigidbody && rBody != null) {
+ t = isLocal
+ ? rBody.DOLocalPath(path, duration, pathMode)
+ : rBody.DOPath(path, duration, pathMode);
+ } else {
+ t = isLocal
+ ? target.transform.DOLocalPath(path, duration, pathMode)
+ : target.transform.DOPath(path, duration, pathMode);
+ }
+#else
+ t = isLocal
+ ? target.transform.DOLocalPath(path, duration, pathMode)
+ : target.transform.DOPath(path, duration, pathMode);
+#endif
+ return t;
+ }
+
+ #endregion
+ }
+ }
+}
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta
new file mode 100644
index 0000000..9164e1e
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7bcaf917d9cf5b84090421a5a2abe42e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/readme.txt b/WuHu_touming/Assets/Demigiant/DOTween/readme.txt
new file mode 100644
index 0000000..37ff7ef
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/readme.txt
@@ -0,0 +1,29 @@
+DOTween and DOTween Pro are copyright (c) 2014-2018 Daniele Giardini - Demigiant
+
+// IMPORTANT!!! /////////////////////////////////////////////
+// Upgrading DOTween from versions older than 1.2.000 ///////
+// (or DOTween Pro older than 1.0.000) //////////////////////
+-------------------------------------------------------------
+If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully.
+1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry
+2) Close and reopen Unity (and your project). This is fundamental: skipping this step will cause a bloodbath
+3) Open DOTween's Utility Panel (Tools > Demigiant > DOTween Utility Panel) if it doesn't open automatically, then press "Setup DOTween...": this will run the upgrade setup
+4) From the Add/Remove Modules panel that opens, activate/deactivate Modules for Unity systems and for external assets (Pro version only)
+
+// GET STARTED //////////////////////////////////////////////
+
+- After importing a new DOTween update, select DOTween's Utility Panel from the "Tools/Demigiant" menu (if it doesn't open automatically) and press the "Setup DOTween..." button to activate/deactivate Modules. You can also access a Preferences Tab from there to choose default settings for DOTween.
+- In your code, add "using DG.Tweening" to each class where you want to use DOTween.
+- You're ready to tween. Check out the links below for full documentation and license info.
+
+
+// LINKS ///////////////////////////////////////////////////////
+
+DOTween website (documentation, examples, etc): http://dotween.demigiant.com
+DOTween license: http://dotween.demigiant.com/license.php
+DOTween repository (Google Code): https://code.google.com/p/dotween/
+Demigiant website (documentation, examples, etc): http://www.demigiant.com
+
+// NOTES //////////////////////////////////////////////////////
+
+- DOTween's Utility Panel can be found under "Tools > Demigiant > DOTween Utility Panel" and also contains other useful options, plus a tab to set DOTween's preferences
\ No newline at end of file
diff --git a/WuHu_touming/Assets/Demigiant/DOTween/readme.txt.meta b/WuHu_touming/Assets/Demigiant/DOTween/readme.txt.meta
new file mode 100644
index 0000000..9c3a968
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTween/readme.txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: fccfc62abf2eb0a4db614853430894fd
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples.meta
new file mode 100644
index 0000000..07c2d78
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3d9a351cfc6f1a44cb64b3bcef27d1ec
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Advanced.unity b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Advanced.unity
new file mode 100644
index 0000000..a5288f6
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Advanced.unity
@@ -0,0 +1,5169 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 3
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &4
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 1
+ m_BakeResolution: 50
+ m_AtlasSize: 1024
+ m_AO: 1
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 0
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 1
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 512
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 0
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 0
+--- !u!196 &5
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666666
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &45542689
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 45542690}
+ - component: {fileID: 45542693}
+ - component: {fileID: 45542692}
+ - component: {fileID: 45542691}
+ m_Layer: 5
+ m_Name: 'Button (ID: move)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &45542690
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 45542689}
+ 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: 191643491}
+ m_Father: {fileID: 1997177219}
+ m_RootOrder: 2
+ 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: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &45542691
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 45542689}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 45542692}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DORestartById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: move
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &45542692
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 45542689}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &45542693
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 45542689}
+ m_CullTransparentMesh: 0
+--- !u!1 &76224661
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 76224668}
+ - component: {fileID: 76224667}
+ - component: {fileID: 76224666}
+ - component: {fileID: 76224665}
+ - component: {fileID: 76224664}
+ - component: {fileID: 76224663}
+ m_Layer: 0
+ m_Name: Cube C (w animation)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &76224663
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 76224661}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id: rotate
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 0
+ isActive: 1
+ isValid: 1
+ target: {fileID: 76224668}
+ animationType: 3
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 180, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!114 &76224664
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 76224661}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id: move
+ isRelative: 1
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 0
+ isActive: 1
+ isValid: 1
+ target: {fileID: 76224668}
+ animationType: 1
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 1, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!114 &76224665
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 76224661}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id: toRed
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 0
+ isActive: 1
+ isValid: 1
+ target: {fileID: 76224666}
+ animationType: 6
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 0, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 0, b: 0, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!23 &76224666
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 76224661}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &76224667
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 76224661}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &76224668
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 76224661}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 2, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1760580329}
+ m_Father: {fileID: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &83016929
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 83016930}
+ - component: {fileID: 83016932}
+ - component: {fileID: 83016931}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &83016930
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 83016929}
+ 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: 1839080358}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &83016931
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 83016929}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: toRed'
+--- !u!222 &83016932
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 83016929}
+ m_CullTransparentMesh: 0
+--- !u!1 &118309267
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 118309271}
+ - component: {fileID: 118309270}
+ - component: {fileID: 118309268}
+ - component: {fileID: 118309274}
+ - component: {fileID: 118309272}
+ - component: {fileID: 118309269}
+ m_Layer: 0
+ m_Name: Cube A (w animation)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!23 &118309268
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!114 &118309269
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id: rotate
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 0
+ isActive: 1
+ isValid: 1
+ target: {fileID: 118309271}
+ animationType: 3
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 180, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!33 &118309270
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &118309271
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -2, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 1192540964}
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &118309272
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id: move
+ isRelative: 1
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 0
+ isActive: 1
+ isValid: 1
+ target: {fileID: 118309271}
+ animationType: 1
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 1, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!114 &118309274
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id: toRed
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 0
+ isActive: 1
+ isValid: 1
+ target: {fileID: 118309268}
+ animationType: 6
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 0, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 0, b: 0, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!1 &186391000
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 186391001}
+ m_Layer: 5
+ m_Name: Buttons - PlayAllById
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &186391001
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 186391000}
+ 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: 467194356}
+ - {fileID: 1492174307}
+ - {fileID: 323853745}
+ - {fileID: 1644045641}
+ m_Father: {fileID: 1260203941}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -34}
+ m_SizeDelta: {x: 0, y: -48.000015}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &191643490
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 191643491}
+ - component: {fileID: 191643493}
+ - component: {fileID: 191643492}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &191643491
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 191643490}
+ 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: 45542690}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &191643492
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 191643490}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: move'
+--- !u!222 &191643493
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 191643490}
+ m_CullTransparentMesh: 0
+--- !u!1 &215583160
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 215583161}
+ - component: {fileID: 215583163}
+ - component: {fileID: 215583162}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &215583161
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 215583160}
+ 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: 1619597526}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &215583162
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 215583160}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: move'
+--- !u!222 &215583163
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 215583160}
+ m_CullTransparentMesh: 0
+--- !u!1 &286188793
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 286188794}
+ m_Layer: 5
+ m_Name: Buttons - PlayById
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &286188794
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 286188793}
+ 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: 1158456312}
+ - {fileID: 1839080358}
+ - {fileID: 1095596651}
+ - {fileID: 566135255}
+ m_Father: {fileID: 1260203941}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 42}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &323853744
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 323853745}
+ - component: {fileID: 323853748}
+ - component: {fileID: 323853747}
+ - component: {fileID: 323853746}
+ m_Layer: 5
+ m_Name: 'Button (ID: move)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &323853745
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 323853744}
+ 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: 645240663}
+ m_Father: {fileID: 186391001}
+ m_RootOrder: 2
+ 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: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &323853746
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 323853744}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 323853747}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DOPlayAllById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: move
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &323853747
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 323853744}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &323853748
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 323853744}
+ m_CullTransparentMesh: 0
+--- !u!1 &386943563
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 386943564}
+ - component: {fileID: 386943566}
+ - component: {fileID: 386943565}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &386943564
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 386943563}
+ 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: 766204080}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &386943565
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 386943563}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: toRed'
+--- !u!222 &386943566
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 386943563}
+ m_CullTransparentMesh: 0
+--- !u!1 &461995929
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 461995932}
+ - component: {fileID: 461995931}
+ - component: {fileID: 461995930}
+ m_Layer: 0
+ m_Name: Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!102 &461995930
+TextMesh:
+ serializedVersion: 3
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 461995929}
+ m_Text: B
+ m_OffsetZ: 0
+ m_CharacterSize: 20
+ m_LineSpacing: 1
+ m_Anchor: 4
+ m_Alignment: 1
+ m_TabSize: 4
+ m_FontSize: 30
+ m_FontStyle: 1
+ m_RichText: 1
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Color:
+ serializedVersion: 2
+ rgba: 4294967295
+--- !u!23 &461995931
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 461995929}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!4 &461995932
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 461995929}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
+ m_Children: []
+ m_Father: {fileID: 1844382606}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &467194355
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 467194356}
+ - component: {fileID: 467194358}
+ - component: {fileID: 467194357}
+ m_Layer: 5
+ m_Name: Description
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &467194356
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 467194355}
+ 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: 186391001}
+ 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: 550, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &467194357
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 467194355}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 1
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: 'DOPlayAllById (Cube B as target)
+
+ Will play the DOTweenAnimations
+ with the given ID, on ANY gameObject'
+--- !u!222 &467194358
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 467194355}
+ m_CullTransparentMesh: 0
+--- !u!1 &502741617
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 502741618}
+ - component: {fileID: 502741621}
+ - component: {fileID: 502741620}
+ - component: {fileID: 502741619}
+ m_Layer: 5
+ m_Name: 'Button (ID: rotate)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &502741618
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 502741617}
+ 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: 685170976}
+ m_Father: {fileID: 1997177219}
+ m_RootOrder: 3
+ 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: 100, y: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &502741619
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 502741617}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 502741620}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DORestartById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: rotate
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &502741620
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 502741617}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &502741621
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 502741617}
+ m_CullTransparentMesh: 0
+--- !u!1 &566135254
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 566135255}
+ - component: {fileID: 566135258}
+ - component: {fileID: 566135257}
+ - component: {fileID: 566135256}
+ m_Layer: 5
+ m_Name: 'Button (ID: rotate)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &566135255
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 566135254}
+ 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: 740664255}
+ m_Father: {fileID: 286188794}
+ m_RootOrder: 3
+ 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: 100, y: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &566135256
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 566135254}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 566135257}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DOPlayById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: rotate
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &566135257
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 566135254}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &566135258
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 566135254}
+ m_CullTransparentMesh: 0
+--- !u!1 &608072282
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 608072283}
+ - component: {fileID: 608072285}
+ - component: {fileID: 608072284}
+ m_Layer: 5
+ m_Name: Description
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &608072283
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 608072282}
+ 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: 1785989881}
+ 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: 550, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &608072284
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 608072282}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 1
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: 'DORestartAllById (Cube B as target)
+
+ Will restart the DOTweenAnimations
+ with the given ID, on ANY gameObject'
+--- !u!222 &608072285
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 608072282}
+ m_CullTransparentMesh: 0
+--- !u!1 &645240662
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 645240663}
+ - component: {fileID: 645240665}
+ - component: {fileID: 645240664}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &645240663
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 645240662}
+ 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: 323853745}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &645240664
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 645240662}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: move'
+--- !u!222 &645240665
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 645240662}
+ m_CullTransparentMesh: 0
+--- !u!1 &685170975
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 685170976}
+ - component: {fileID: 685170978}
+ - component: {fileID: 685170977}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &685170976
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 685170975}
+ 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: 502741618}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &685170977
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 685170975}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: rotate'
+--- !u!222 &685170978
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 685170975}
+ m_CullTransparentMesh: 0
+--- !u!1 &718047501
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 718047502}
+ - component: {fileID: 718047504}
+ - component: {fileID: 718047503}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &718047502
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 718047501}
+ 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: 1371900811}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &718047503
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 718047501}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: rotate'
+--- !u!222 &718047504
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 718047501}
+ m_CullTransparentMesh: 0
+--- !u!1 &731424937
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 731424938}
+ - component: {fileID: 731424940}
+ - component: {fileID: 731424939}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &731424938
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 731424937}
+ 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: 899835911}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &731424939
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 731424937}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: toRed'
+--- !u!222 &731424940
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 731424937}
+ m_CullTransparentMesh: 0
+--- !u!1 &740664254
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 740664255}
+ - component: {fileID: 740664257}
+ - component: {fileID: 740664256}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &740664255
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 740664254}
+ 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: 566135255}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &740664256
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 740664254}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: rotate'
+--- !u!222 &740664257
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 740664254}
+ m_CullTransparentMesh: 0
+--- !u!1 &766204079
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 766204080}
+ - component: {fileID: 766204083}
+ - component: {fileID: 766204082}
+ - component: {fileID: 766204081}
+ m_Layer: 5
+ m_Name: 'Button (ID: toRed)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &766204080
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766204079}
+ 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: 386943564}
+ m_Father: {fileID: 1785989881}
+ 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: -100, y: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &766204081
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766204079}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 766204082}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DORestartAllById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: toRed
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &766204082
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766204079}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &766204083
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 766204079}
+ m_CullTransparentMesh: 0
+--- !u!1 &848136767
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 848136772}
+ - component: {fileID: 848136771}
+ - component: {fileID: 848136769}
+ - component: {fileID: 848136768}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &848136768
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_Enabled: 1
+--- !u!124 &848136769
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_Enabled: 1
+--- !u!20 &848136771
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.16176468, g: 0.16176468, b: 0.16176468, a: 0.019607844}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 0
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &848136772
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &899835910
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 899835911}
+ - component: {fileID: 899835914}
+ - component: {fileID: 899835913}
+ - component: {fileID: 899835912}
+ m_Layer: 5
+ m_Name: 'Button (ID: toRed)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &899835911
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 899835910}
+ 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: 731424938}
+ m_Father: {fileID: 1997177219}
+ 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: -100, y: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &899835912
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 899835910}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 899835913}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DORestartById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: toRed
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &899835913
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 899835910}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &899835914
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 899835910}
+ m_CullTransparentMesh: 0
+--- !u!1 &970591913
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 970591914}
+ - component: {fileID: 970591916}
+ - component: {fileID: 970591915}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &970591914
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 970591913}
+ 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: 1356883401}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &970591915
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 970591913}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: DOPlayNext
+--- !u!222 &970591916
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 970591913}
+ m_CullTransparentMesh: 0
+--- !u!1 &1025578319
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1025578320}
+ - component: {fileID: 1025578322}
+ - component: {fileID: 1025578321}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1025578320
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1025578319}
+ 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: 1095596651}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1025578321
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1025578319}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: move'
+--- !u!222 &1025578322
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1025578319}
+ m_CullTransparentMesh: 0
+--- !u!1 &1053889438
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1053889442}
+ - component: {fileID: 1053889441}
+ - component: {fileID: 1053889440}
+ - component: {fileID: 1053889439}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1053889439
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2d49b7c1bcd2e07499844da127be038d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ForceModuleActive: 0
+--- !u!114 &1053889440
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1053889441
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &1053889442
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ 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: 0}
+ m_RootOrder: 6
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1095596650
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1095596651}
+ - component: {fileID: 1095596654}
+ - component: {fileID: 1095596653}
+ - component: {fileID: 1095596652}
+ m_Layer: 5
+ m_Name: 'Button (ID: move)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1095596651
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1095596650}
+ 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: 1025578320}
+ m_Father: {fileID: 286188794}
+ m_RootOrder: 2
+ 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: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1095596652
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1095596650}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1095596653}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DOPlayById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: move
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1095596653
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1095596650}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1095596654
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1095596650}
+ m_CullTransparentMesh: 0
+--- !u!1 &1158456309
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1158456312}
+ - component: {fileID: 1158456311}
+ - component: {fileID: 1158456310}
+ m_Layer: 5
+ m_Name: Description
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1158456310
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1158456309}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 1
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: 'DOPlayById (Cube B as target)
+
+ Will play only the DOTweenAnimations
+ with the given ID that are on Cube B'
+--- !u!222 &1158456311
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1158456309}
+ m_CullTransparentMesh: 0
+--- !u!224 &1158456312
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1158456309}
+ 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: 286188794}
+ 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: 550, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1192540961
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1192540964}
+ - component: {fileID: 1192540963}
+ - component: {fileID: 1192540962}
+ m_Layer: 0
+ m_Name: Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!102 &1192540962
+TextMesh:
+ serializedVersion: 3
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1192540961}
+ m_Text: A
+ m_OffsetZ: 0
+ m_CharacterSize: 20
+ m_LineSpacing: 1
+ m_Anchor: 4
+ m_Alignment: 1
+ m_TabSize: 4
+ m_FontSize: 30
+ m_FontStyle: 1
+ m_RichText: 1
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Color:
+ serializedVersion: 2
+ rgba: 4294967295
+--- !u!23 &1192540963
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1192540961}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!4 &1192540964
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1192540961}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
+ m_Children: []
+ m_Father: {fileID: 118309271}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1242857378
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1242857380}
+ - component: {fileID: 1242857379}
+ m_Layer: 0
+ m_Name: Directional light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &1242857379
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1242857378}
+ m_Enabled: 1
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 0
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 1
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &1242857380
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1242857378}
+ m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.10938166, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 0.99999994, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1260203940
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1260203941}
+ - component: {fileID: 1260203944}
+ - component: {fileID: 1260203943}
+ - component: {fileID: 1260203942}
+ m_Layer: 5
+ m_Name: Canvas (w button controls)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1260203941
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 1356883401}
+ - {fileID: 286188794}
+ - {fileID: 186391001}
+ - {fileID: 1997177219}
+ - {fileID: 1785989881}
+ m_Father: {fileID: 0}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1260203942
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1260203943
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1260203944
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 1
+ m_Camera: {fileID: 848136771}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 1
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 25
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!1 &1305249262
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1305249263}
+ - component: {fileID: 1305249265}
+ - component: {fileID: 1305249264}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1305249263
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1305249262}
+ 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: 1492174307}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1305249264
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1305249262}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: toRed'
+--- !u!222 &1305249265
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1305249262}
+ m_CullTransparentMesh: 0
+--- !u!1 &1356883400
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1356883401}
+ - component: {fileID: 1356883404}
+ - component: {fileID: 1356883403}
+ - component: {fileID: 1356883402}
+ m_Layer: 5
+ m_Name: Button (DOPlayNext)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1356883401
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ 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: 970591914}
+ m_Father: {fileID: 1260203941}
+ 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: 82}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1356883402
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1356883403}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 118309274}
+ m_MethodName: DOPlayNext
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DOPlayNext
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ - m_Target: {fileID: 76224665}
+ m_MethodName: DOPlayNext
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1356883403
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1356883404
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ m_CullTransparentMesh: 0
+--- !u!1 &1371900810
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1371900811}
+ - component: {fileID: 1371900814}
+ - component: {fileID: 1371900813}
+ - component: {fileID: 1371900812}
+ m_Layer: 5
+ m_Name: 'Button (ID: rotate)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1371900811
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1371900810}
+ 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: 718047502}
+ m_Father: {fileID: 1785989881}
+ m_RootOrder: 3
+ 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: 100, y: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1371900812
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1371900810}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1371900813}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DORestartAllById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: rotate
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1371900813
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1371900810}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1371900814
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1371900810}
+ m_CullTransparentMesh: 0
+--- !u!1 &1477055226
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1477055227}
+ - component: {fileID: 1477055229}
+ - component: {fileID: 1477055228}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1477055227
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1477055226}
+ 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: 1644045641}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1477055228
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1477055226}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: 'ID: rotate'
+--- !u!222 &1477055229
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1477055226}
+ m_CullTransparentMesh: 0
+--- !u!1 &1492174306
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1492174307}
+ - component: {fileID: 1492174310}
+ - component: {fileID: 1492174309}
+ - component: {fileID: 1492174308}
+ m_Layer: 5
+ m_Name: 'Button (ID: toRed)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1492174307
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1492174306}
+ 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: 1305249263}
+ m_Father: {fileID: 186391001}
+ 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: -100, y: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1492174308
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1492174306}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1492174309}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DOPlayAllById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: toRed
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1492174309
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1492174306}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1492174310
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1492174306}
+ m_CullTransparentMesh: 0
+--- !u!1 &1619597525
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1619597526}
+ - component: {fileID: 1619597529}
+ - component: {fileID: 1619597528}
+ - component: {fileID: 1619597527}
+ m_Layer: 5
+ m_Name: 'Button (ID: move)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1619597526
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1619597525}
+ 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: 215583161}
+ m_Father: {fileID: 1785989881}
+ m_RootOrder: 2
+ 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: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1619597527
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1619597525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1619597528}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DORestartAllById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: move
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1619597528
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1619597525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1619597529
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1619597525}
+ m_CullTransparentMesh: 0
+--- !u!1 &1644045637
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1644045641}
+ - component: {fileID: 1644045640}
+ - component: {fileID: 1644045639}
+ - component: {fileID: 1644045638}
+ m_Layer: 5
+ m_Name: 'Button (ID: rotate)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1644045638
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1644045637}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1644045639}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DOPlayAllById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: rotate
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1644045639
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1644045637}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1644045640
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1644045637}
+ m_CullTransparentMesh: 0
+--- !u!224 &1644045641
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1644045637}
+ 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: 1477055227}
+ m_Father: {fileID: 186391001}
+ m_RootOrder: 3
+ 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: 100, y: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1760580328
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1760580329}
+ - component: {fileID: 1760580331}
+ - component: {fileID: 1760580330}
+ m_Layer: 0
+ m_Name: Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1760580329
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1760580328}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
+ m_Children: []
+ m_Father: {fileID: 76224668}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!102 &1760580330
+TextMesh:
+ serializedVersion: 3
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1760580328}
+ m_Text: C
+ m_OffsetZ: 0
+ m_CharacterSize: 20
+ m_LineSpacing: 1
+ m_Anchor: 4
+ m_Alignment: 1
+ m_TabSize: 4
+ m_FontSize: 30
+ m_FontStyle: 1
+ m_RichText: 1
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_Color:
+ serializedVersion: 2
+ rgba: 4294967295
+--- !u!23 &1760580331
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1760580328}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!1 &1785989880
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1785989881}
+ m_Layer: 5
+ m_Name: Buttons - RestartAllById
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1785989881
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1785989880}
+ 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: 608072283}
+ - {fileID: 766204080}
+ - {fileID: 1619597526}
+ - {fileID: 1371900811}
+ m_Father: {fileID: 1260203941}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -184}
+ m_SizeDelta: {x: 0, y: -48}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1812319720
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1812319721}
+ - component: {fileID: 1812319723}
+ - component: {fileID: 1812319722}
+ m_Layer: 5
+ m_Name: Description
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1812319721
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1812319720}
+ 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: 1997177219}
+ 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: 550, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1812319722
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1812319720}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 1
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: 'DORestartById (Cube B as target)
+
+ Will restart only the DOTweenAnimations
+ with the given ID that are on Cube B'
+--- !u!222 &1812319723
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1812319720}
+ m_CullTransparentMesh: 0
+--- !u!1 &1839080357
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1839080358}
+ - component: {fileID: 1839080361}
+ - component: {fileID: 1839080360}
+ - component: {fileID: 1839080359}
+ m_Layer: 5
+ m_Name: 'Button (ID: toRed)'
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1839080358
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1839080357}
+ 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: 83016930}
+ m_Father: {fileID: 286188794}
+ 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: -100, y: -36}
+ m_SizeDelta: {x: 100, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1839080359
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1839080357}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1839080360}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1844382610}
+ m_MethodName: DOPlayById
+ m_Mode: 5
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument: toRed
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1839080360
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1839080357}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1839080361
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1839080357}
+ m_CullTransparentMesh: 0
+--- !u!1 &1844382605
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1844382606}
+ - component: {fileID: 1844382612}
+ - component: {fileID: 1844382611}
+ - component: {fileID: 1844382610}
+ - component: {fileID: 1844382609}
+ - component: {fileID: 1844382608}
+ m_Layer: 0
+ m_Name: Cube B (w animation)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1844382606
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1844382605}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 461995932}
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1844382608
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1844382605}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id: rotate
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 0
+ isActive: 1
+ isValid: 1
+ target: {fileID: 1844382606}
+ animationType: 3
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 180, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!114 &1844382609
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1844382605}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id: move
+ isRelative: 1
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 0
+ isActive: 1
+ isValid: 1
+ target: {fileID: 1844382606}
+ animationType: 1
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 1, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!114 &1844382610
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1844382605}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id: toRed
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 0
+ isActive: 1
+ isValid: 1
+ target: {fileID: 1844382611}
+ animationType: 6
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 0, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 0, b: 0, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!23 &1844382611
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1844382605}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &1844382612
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1844382605}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1997177218
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1997177219}
+ m_Layer: 5
+ m_Name: Buttons - RestartById
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1997177219
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1997177218}
+ 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: 1812319721}
+ - {fileID: 899835911}
+ - {fileID: 45542690}
+ - {fileID: 502741618}
+ m_Father: {fileID: 1260203941}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: -110}
+ m_SizeDelta: {x: 0, y: -200}
+ m_Pivot: {x: 0.5, y: 0.5}
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Advanced.unity.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Advanced.unity.meta
new file mode 100644
index 0000000..88026a4
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Advanced.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a5f7a56d339da84449899ecf95fbe33d
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Basics.unity b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Basics.unity
new file mode 100644
index 0000000..47367b2
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Basics.unity
@@ -0,0 +1,1760 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 3
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &4
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 1
+ m_BakeResolution: 50
+ m_AtlasSize: 1024
+ m_AO: 1
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 0
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 1
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 512
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 0
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 0
+--- !u!196 &5
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666666
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &118309267
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 118309271}
+ - component: {fileID: 118309270}
+ - component: {fileID: 118309268}
+ - component: {fileID: 118309273}
+ - component: {fileID: 118309272}
+ m_Layer: 0
+ m_Name: Cube (w animation)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!23 &118309268
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &118309270
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &118309271
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -4, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &118309272
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 2
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 1
+ loops: -1
+ id:
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 1
+ isActive: 1
+ isValid: 1
+ target: {fileID: 118309271}
+ animationType: 3
+ targetType: 11
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 180, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!114 &118309273
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 2
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 1
+ loops: -1
+ id:
+ isRelative: 1
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 1
+ isActive: 1
+ isValid: 1
+ target: {fileID: 118309271}
+ animationType: 1
+ targetType: 11
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 4, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!1 &848136767
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 848136772}
+ - component: {fileID: 848136771}
+ - component: {fileID: 848136769}
+ - component: {fileID: 848136768}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &848136768
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_Enabled: 1
+--- !u!124 &848136769
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_Enabled: 1
+--- !u!20 &848136771
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.16176468, g: 0.16176468, b: 0.16176468, a: 0.019607844}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 0
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &848136772
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &970591913
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 970591914}
+ - component: {fileID: 970591916}
+ - component: {fileID: 970591915}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &970591914
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 970591913}
+ 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: 1356883401}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &970591915
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 970591913}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: PLAY
+--- !u!222 &970591916
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 970591913}
+ m_CullTransparentMesh: 0
+--- !u!1 &990238542
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 990238543}
+ - component: {fileID: 990238545}
+ - component: {fileID: 990238544}
+ - component: {fileID: 990238546}
+ m_Layer: 5
+ m_Name: Text (w text animation)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &990238543
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 990238542}
+ 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: 1260203941}
+ 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: 0, y: 230}
+ m_SizeDelta: {x: 400, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &990238544
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 990238542}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 16
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 1
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: 'Original text that will be
+ tweened
+
+'
+--- !u!222 &990238545
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 990238542}
+ m_CullTransparentMesh: 0
+--- !u!114 &990238546
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 990238542}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 3
+ easeType: 1
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 1
+ loops: 0
+ id:
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 1
+ isActive: 1
+ isValid: 1
+ target: {fileID: 990238544}
+ animationType: 8
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 0, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString: This is the new tweened text
+ (scandalous)!
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 1
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!1 &1053889438
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1053889442}
+ - component: {fileID: 1053889441}
+ - component: {fileID: 1053889440}
+ - component: {fileID: 1053889439}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1053889439
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2d49b7c1bcd2e07499844da127be038d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ForceModuleActive: 0
+--- !u!114 &1053889440
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1053889441
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &1053889442
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ 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: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1127963255
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1127963256}
+ - component: {fileID: 1127963258}
+ - component: {fileID: 1127963257}
+ m_Layer: 5
+ m_Name: Info
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1127963256
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1127963255}
+ 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: 1260203941}
+ m_RootOrder: 4
+ 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: -186}
+ m_SizeDelta: {x: 300, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1127963257
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1127963255}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 1
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: The PLAY button starts the logo fade out. When the fade out is complete,
+ it will start all the other animations (thanks to the Events created in the logo
+ DOTweenAnimation Component)
+--- !u!222 &1127963258
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1127963255}
+ m_CullTransparentMesh: 0
+--- !u!1 &1242857378
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1242857380}
+ - component: {fileID: 1242857379}
+ m_Layer: 0
+ m_Name: Directional light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &1242857379
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1242857378}
+ m_Enabled: 1
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 0
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 1
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &1242857380
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1242857378}
+ m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.10938166, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 0.99999994, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1260203940
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1260203941}
+ - component: {fileID: 1260203944}
+ - component: {fileID: 1260203943}
+ - component: {fileID: 1260203942}
+ m_Layer: 5
+ m_Name: Canvas (contains animated objects)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1260203941
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 1636198022}
+ - {fileID: 990238543}
+ - {fileID: 1323952358}
+ - {fileID: 1356883401}
+ - {fileID: 1127963256}
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1260203942
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1260203943
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1260203944
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 1
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 25
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!1 &1323952357
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1323952358}
+ - component: {fileID: 1323952362}
+ - component: {fileID: 1323952361}
+ - component: {fileID: 1323952360}
+ - component: {fileID: 1323952359}
+ m_Layer: 5
+ m_Name: Text (w color animation)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1323952358
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1323952357}
+ 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: 1260203941}
+ m_RootOrder: 2
+ 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: 254}
+ m_SizeDelta: {x: 400, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1323952359
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1323952357}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 3
+ easeType: 1
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 1
+ loops: -1
+ id:
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 1
+ isActive: 1
+ isValid: 1
+ target: {fileID: 1323952361}
+ animationType: 6
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 0, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 0, b: 0.8068962, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!114 &1323952360
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1323952357}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 3
+ easeType: 1
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 1
+ loops: 0
+ id:
+ isRelative: 1
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 1
+ isActive: 1
+ isValid: 1
+ target: {fileID: 1323952361}
+ animationType: 8
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 0, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString: ' See? What did I tell you?'
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 1
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!114 &1323952361
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1323952357}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 16
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 1
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: This text will change color...
+--- !u!222 &1323952362
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1323952357}
+ m_CullTransparentMesh: 0
+--- !u!1 &1356883400
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1356883401}
+ - component: {fileID: 1356883404}
+ - component: {fileID: 1356883403}
+ - component: {fileID: 1356883402}
+ m_Layer: 5
+ m_Name: Button
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1356883401
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ 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: 970591914}
+ m_Father: {fileID: 1260203941}
+ m_RootOrder: 3
+ 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: -147}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1356883402
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1356883403}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1636198019}
+ m_MethodName: DOPlay
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1356883403
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1356883404
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ m_CullTransparentMesh: 0
+--- !u!1 &1636198018
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1636198022}
+ - component: {fileID: 1636198021}
+ - component: {fileID: 1636198020}
+ - component: {fileID: 1636198019}
+ m_Layer: 5
+ m_Name: Logo (starts animations w events)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1636198019
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1636198018}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 1
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 990238546}
+ m_MethodName: DOPlay
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ - m_Target: {fileID: 118309273}
+ m_MethodName: DOPlay
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ - m_Target: {fileID: 1323952360}
+ m_MethodName: DOPlay
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ targetIsSelf: 1
+ targetGO: {fileID: 0}
+ tweenTargetIsTargetGO: 1
+ delay: 0
+ duration: 1
+ easeType: 5
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loopType: 0
+ loops: 1
+ id:
+ isRelative: 0
+ isFrom: 0
+ isIndependentUpdate: 0
+ autoKill: 1
+ isActive: 1
+ isValid: 1
+ target: {fileID: 1636198020}
+ animationType: 7
+ targetType: 0
+ forcedTargetType: 0
+ autoPlay: 0
+ useTargetAsV3: 0
+ endValueFloat: 0
+ endValueV3: {x: 0, y: 0, z: 0}
+ endValueV2: {x: 0, y: 0}
+ endValueColor: {r: 1, g: 1, b: 1, a: 1}
+ endValueString:
+ endValueRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ endValueTransform: {fileID: 0}
+ optionalBool0: 0
+ optionalFloat0: 0
+ optionalInt0: 0
+ optionalRotationMode: 0
+ optionalScrambleMode: 0
+ optionalString:
+--- !u!114 &1636198020
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1636198018}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 44a054df1702e39458b7072b08d0f212, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1636198021
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1636198018}
+ m_CullTransparentMesh: 0
+--- !u!224 &1636198022
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1636198018}
+ 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: 1260203941}
+ 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: 45}
+ m_SizeDelta: {x: 241, y: 320}
+ m_Pivot: {x: 0.5, y: 0.5}
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Basics.unity.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Basics.unity.meta
new file mode 100644
index 0000000..5ebfe59
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenAnimation_Basics.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6a2ad353325ffe64983c28d69a8738f5
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenPath.unity b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenPath.unity
new file mode 100644
index 0000000..f9faaef
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenPath.unity
@@ -0,0 +1,1569 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 3
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &4
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 1
+ m_BakeResolution: 50
+ m_AtlasSize: 1024
+ m_AO: 1
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 0
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 1
+ m_BakeBackend: 0
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 512
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 0
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 0
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 0
+--- !u!196 &5
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666666
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &118309267
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 118309271}
+ - component: {fileID: 118309270}
+ - component: {fileID: 118309268}
+ - component: {fileID: 118309269}
+ m_Layer: 0
+ m_Name: Cube A (w path)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!23 &118309268
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!114 &118309269
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -333801856, guid: aa0b1eebb5db27a419fa4564bbe5c9c5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 1
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1087750405}
+ m_MethodName: DOPlay
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ delay: 0
+ duration: 3
+ easeType: 6
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loops: 1
+ id:
+ loopType: 0
+ orientType: 0
+ lookAtTransform: {fileID: 0}
+ lookAtPosition: {x: 0, y: 0, z: 0}
+ lookAhead: 0.01
+ autoPlay: 0
+ autoKill: 1
+ relative: 0
+ isLocal: 0
+ isClosedPath: 1
+ pathResolution: 10
+ pathMode: 1
+ lockRotation: 0
+ assignForwardAndUp: 0
+ forwardDirection: {x: 0, y: 0, z: 1}
+ upDirection: {x: 0, y: 1, z: 0}
+ tweenRigidbody: 0
+ wps:
+ - {x: 3.8321667, y: 6.9544535, z: 0}
+ - {x: -6.0542445, y: 9.465288, z: 0}
+ - {x: -12.069765, y: 6.1698112, z: 0}
+ - {x: -12.069786, y: -0.2641964, z: 0}
+ - {x: -6.368099, y: -4.187376, z: 0}
+ fullWps: []
+ path:
+ wpLengths:
+ - 0
+ - 9.359136
+ - 10.405018
+ - 7.102792
+ - 6.6672983
+ - 7.1915474
+ - 11.289525
+ type: 1
+ subdivisionsXSegment: 10
+ subdivisions: 70
+ wps:
+ - {x: 4.45, y: -1.83, z: 0}
+ - {x: 3.8321667, y: 6.9544535, z: 0}
+ - {x: -6.0542445, y: 9.465288, z: 0}
+ - {x: -12.069765, y: 6.1698112, z: 0}
+ - {x: -12.069786, y: -0.2641964, z: 0}
+ - {x: -6.368099, y: -4.187376, z: 0}
+ - {x: 4.45, y: -1.83, z: 0}
+ controlPoints:
+ - a: {x: -6.368099, y: -4.187376, z: 0}
+ b: {x: 0, y: 0, z: 0}
+ - a: {x: 3.8321667, y: 6.9544535, z: 0}
+ b: {x: 0, y: 0, z: 0}
+ length: 52.02238
+ isFinalized: 1
+ timesTable:
+ - 0.014285714
+ - 0.028571429
+ - 0.042857144
+ - 0.057142857
+ - 0.071428575
+ - 0.08571429
+ - 0.1
+ - 0.114285715
+ - 0.12857144
+ - 0.14285715
+ - 0.15714286
+ - 0.17142858
+ - 0.18571429
+ - 0.2
+ - 0.21428572
+ - 0.22857143
+ - 0.24285714
+ - 0.25714287
+ - 0.27142859
+ - 0.2857143
+ - 0.3
+ - 0.31428573
+ - 0.32857144
+ - 0.34285715
+ - 0.35714287
+ - 0.37142858
+ - 0.3857143
+ - 0.4
+ - 0.41428572
+ - 0.42857143
+ - 0.44285715
+ - 0.45714286
+ - 0.47142857
+ - 0.4857143
+ - 0.5
+ - 0.51428574
+ - 0.5285714
+ - 0.54285717
+ - 0.55714285
+ - 0.5714286
+ - 0.5857143
+ - 0.6
+ - 0.6142857
+ - 0.62857145
+ - 0.64285713
+ - 0.6571429
+ - 0.67142856
+ - 0.6857143
+ - 0.7
+ - 0.71428573
+ - 0.7285714
+ - 0.74285716
+ - 0.75714284
+ - 0.7714286
+ - 0.78571427
+ - 0.8
+ - 0.8142857
+ - 0.82857144
+ - 0.8428571
+ - 0.85714287
+ - 0.87142855
+ - 0.8857143
+ - 0.9
+ - 0.9142857
+ - 0.92857146
+ - 0.94285715
+ - 0.9571429
+ - 0.9714286
+ - 0.9857143
+ - 1
+ lengthsTable:
+ - 0.66792893
+ - 1.3899281
+ - 2.16896
+ - 2.9980419
+ - 3.8644814
+ - 4.752426
+ - 5.6444182
+ - 6.5224686
+ - 7.368998
+ - 8.167948
+ - 8.906464
+ - 9.58573
+ - 10.313842
+ - 11.125577
+ - 12.012393
+ - 12.959278
+ - 13.947668
+ - 14.956963
+ - 15.965341
+ - 16.950247
+ - 17.888689
+ - 18.75748
+ - 19.533484
+ - 20.220243
+ - 20.891918
+ - 21.555
+ - 22.208927
+ - 22.852415
+ - 23.483595
+ - 24.100157
+ - 24.699495
+ - 25.278862
+ - 25.83552
+ - 26.366951
+ - 26.8711
+ - 27.376375
+ - 27.912098
+ - 28.475262
+ - 29.060778
+ - 29.66227
+ - 30.272577
+ - 30.884148
+ - 31.48931
+ - 32.080574
+ - 32.650936
+ - 33.194313
+ - 33.709743
+ - 34.240025
+ - 34.79521
+ - 35.371506
+ - 35.965523
+ - 36.574467
+ - 37.19625
+ - 37.829685
+ - 38.474625
+ - 39.132145
+ - 39.804657
+ - 40.496033
+ - 41.23852
+ - 42.10978
+ - 43.088493
+ - 44.145332
+ - 45.25077
+ - 46.375446
+ - 47.49042
+ - 48.567577
+ - 49.58027
+ - 50.50447
+ - 51.32128
+ - 52.02238
+ inspectorMode: 0
+ pathType: 1
+ handlesType: 0
+ livePreview: 1
+ handlesDrawMode: 0
+ perspectiveHandleSize: 0.5
+ showIndexes: 1
+ showWpLength: 0
+ pathColor: {r: 1, g: 1, b: 1, a: 0.5}
+ lastSrcPosition: {x: 4.45, y: -1.83, z: 0}
+ lastSrcRotation: {x: 0, y: 0, z: 0, w: 0}
+ wpsDropdown: 0
+ dropToFloorOffset: 0
+--- !u!33 &118309270
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &118309271
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 118309267}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 4.45, y: -1.83, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &848136767
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 848136772}
+ - component: {fileID: 848136771}
+ - component: {fileID: 848136769}
+ - component: {fileID: 848136768}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &848136768
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_Enabled: 1
+--- !u!124 &848136769
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_Enabled: 1
+--- !u!20 &848136771
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0.16176468, g: 0.16176468, b: 0.16176468, a: 0.019607844}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_FocalLength: 50
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 0
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!4 &848136772
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 848136767}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -30}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &970591913
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 970591914}
+ - component: {fileID: 970591916}
+ - component: {fileID: 970591915}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &970591914
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 970591913}
+ 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: 1356883401}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &970591915
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 970591913}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.196, g: 0.196, b: 0.196, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: PLAY
+--- !u!222 &970591916
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 970591913}
+ m_CullTransparentMesh: 0
+--- !u!1 &1053889438
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1053889442}
+ - component: {fileID: 1053889441}
+ - component: {fileID: 1053889440}
+ - component: {fileID: 1053889439}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1053889439
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2d49b7c1bcd2e07499844da127be038d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ForceModuleActive: 0
+--- !u!114 &1053889440
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &1053889441
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &1053889442
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1053889438}
+ 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: 0}
+ m_RootOrder: 5
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1087750404
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1087750408}
+ - component: {fileID: 1087750407}
+ - component: {fileID: 1087750406}
+ - component: {fileID: 1087750405}
+ m_Layer: 0
+ m_Name: Cube B (animated after Cube A)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1087750405
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1087750404}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -333801856, guid: aa0b1eebb5db27a419fa4564bbe5c9c5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ updateType: 0
+ isSpeedBased: 0
+ hasOnStart: 0
+ hasOnPlay: 0
+ hasOnUpdate: 0
+ hasOnStepComplete: 0
+ hasOnComplete: 0
+ hasOnTweenCreated: 0
+ hasOnRewind: 0
+ onStart:
+ m_PersistentCalls:
+ m_Calls: []
+ onPlay:
+ m_PersistentCalls:
+ m_Calls: []
+ onUpdate:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ onTweenCreated:
+ m_PersistentCalls:
+ m_Calls: []
+ onRewind:
+ m_PersistentCalls:
+ m_Calls: []
+ delay: 0
+ duration: 3
+ easeType: 1
+ easeCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ loops: -1
+ id:
+ loopType: 0
+ orientType: 0
+ lookAtTransform: {fileID: 0}
+ lookAtPosition: {x: 0, y: 0, z: 0}
+ lookAhead: 0.01
+ autoPlay: 0
+ autoKill: 1
+ relative: 1
+ isLocal: 0
+ isClosedPath: 1
+ pathResolution: 10
+ pathMode: 1
+ lockRotation: 0
+ assignForwardAndUp: 0
+ forwardDirection: {x: 0, y: 0, z: 1}
+ upDirection: {x: 0, y: 1, z: 0}
+ tweenRigidbody: 0
+ wps:
+ - {x: 13.417454, y: 2.978077, z: 0}
+ - {x: 9.493597, y: 8.510473, z: 0}
+ - {x: -3.3649445, y: 5.5603714, z: 0}
+ - {x: -13.000723, y: 12.019701, z: 0}
+ - {x: -19.387083, y: 4.5597005, z: 0}
+ - {x: -15.279156, y: -3.646319, z: 0}
+ - {x: -4.1231623, y: -1.0233588, z: 0}
+ - {x: 3.7979867, y: -4.5040193, z: 0}
+ fullWps: []
+ path:
+ wpLengths:
+ - 0
+ - 5.8644567
+ - 7.2802324
+ - 13.301847
+ - 11.81175
+ - 10.301735
+ - 9.680841
+ - 11.593836
+ - 8.754475
+ - 7.309784
+ type: 1
+ subdivisionsXSegment: 10
+ subdivisions: 100
+ wps:
+ - {x: 10.45, y: -1.83, z: 0}
+ - {x: 13.417454, y: 2.978077, z: 0}
+ - {x: 9.493597, y: 8.510473, z: 0}
+ - {x: -3.3649445, y: 5.5603714, z: 0}
+ - {x: -13.000723, y: 12.019701, z: 0}
+ - {x: -19.387083, y: 4.5597005, z: 0}
+ - {x: -15.279156, y: -3.646319, z: 0}
+ - {x: -4.1231623, y: -1.0233588, z: 0}
+ - {x: 3.7979867, y: -4.5040193, z: 0}
+ - {x: 10.45, y: -1.83, z: 0}
+ controlPoints:
+ - a: {x: 3.7979867, y: -4.5040193, z: 0}
+ b: {x: 0, y: 0, z: 0}
+ - a: {x: 13.417454, y: 2.978077, z: 0}
+ b: {x: 0, y: 0, z: 0}
+ length: 85.91056
+ isFinalized: 1
+ timesTable:
+ - 0.01
+ - 0.02
+ - 0.03
+ - 0.04
+ - 0.049999997
+ - 0.06
+ - 0.07
+ - 0.08
+ - 0.089999996
+ - 0.099999994
+ - 0.11
+ - 0.12
+ - 0.13
+ - 0.14
+ - 0.14999999
+ - 0.16
+ - 0.17
+ - 0.17999999
+ - 0.19
+ - 0.19999999
+ - 0.21
+ - 0.22
+ - 0.22999999
+ - 0.24
+ - 0.25
+ - 0.26
+ - 0.26999998
+ - 0.28
+ - 0.29
+ - 0.29999998
+ - 0.31
+ - 0.32
+ - 0.32999998
+ - 0.34
+ - 0.35
+ - 0.35999998
+ - 0.37
+ - 0.38
+ - 0.39
+ - 0.39999998
+ - 0.41
+ - 0.42
+ - 0.42999998
+ - 0.44
+ - 0.45
+ - 0.45999998
+ - 0.47
+ - 0.48
+ - 0.48999998
+ - 0.5
+ - 0.51
+ - 0.52
+ - 0.53
+ - 0.53999996
+ - 0.55
+ - 0.56
+ - 0.57
+ - 0.58
+ - 0.59
+ - 0.59999996
+ - 0.61
+ - 0.62
+ - 0.63
+ - 0.64
+ - 0.65
+ - 0.65999997
+ - 0.66999996
+ - 0.68
+ - 0.69
+ - 0.7
+ - 0.71
+ - 0.71999997
+ - 0.72999996
+ - 0.74
+ - 0.75
+ - 0.76
+ - 0.77
+ - 0.78
+ - 0.78999996
+ - 0.79999995
+ - 0.81
+ - 0.82
+ - 0.83
+ - 0.84
+ - 0.84999996
+ - 0.85999995
+ - 0.87
+ - 0.88
+ - 0.89
+ - 0.9
+ - 0.90999997
+ - 0.91999996
+ - 0.93
+ - 0.94
+ - 0.95
+ - 0.96
+ - 0.96999997
+ - 0.97999996
+ - 0.98999995
+ - 1
+ lengthsTable:
+ - 0.5545968
+ - 1.1175883
+ - 1.6830537
+ - 2.245447
+ - 2.7997518
+ - 3.3416884
+ - 3.867998
+ - 4.376838
+ - 4.868309
+ - 5.3450947
+ - 5.813135
+ - 6.311367
+ - 6.877433
+ - 7.495066
+ - 8.148528
+ - 8.823632
+ - 9.508459
+ - 10.194385
+ - 10.877503
+ - 11.560418
+ - 12.254057
+ - 12.978595
+ - 13.783311
+ - 14.741959
+ - 15.848983
+ - 17.077965
+ - 18.394625
+ - 19.761522
+ - 21.140495
+ - 22.494476
+ - 23.78951
+ - 24.997858
+ - 26.103634
+ - 27.136875
+ - 28.20907
+ - 29.343433
+ - 30.531721
+ - 31.750658
+ - 32.96895
+ - 34.151752
+ - 35.26419
+ - 36.275455
+ - 37.165974
+ - 37.94238
+ - 38.672184
+ - 39.461693
+ - 40.331173
+ - 41.275455
+ - 42.278408
+ - 43.318016
+ - 44.36911
+ - 45.404976
+ - 46.39841
+ - 47.322807
+ - 48.15364
+ - 48.891544
+ - 49.678425
+ - 50.534695
+ - 51.444313
+ - 52.38865
+ - 53.348053
+ - 54.30292
+ - 55.23473
+ - 56.12729
+ - 56.968613
+ - 57.754013
+ - 58.495777
+ - 59.294735
+ - 60.205452
+ - 61.226448
+ - 62.33766
+ - 63.510315
+ - 64.71169
+ - 65.907745
+ - 67.06497
+ - 68.15262
+ - 69.14602
+ - 70.03488
+ - 70.87562
+ - 71.70776
+ - 72.54151
+ - 73.377945
+ - 74.21172
+ - 75.033615
+ - 75.83277
+ - 76.59903
+ - 77.325615
+ - 78.01288
+ - 78.67338
+ - 79.33375
+ - 80.00281
+ - 80.68108
+ - 81.366684
+ - 82.05582
+ - 82.74328
+ - 83.422775
+ - 84.087204
+ - 84.728836
+ - 85.33948
+ - 85.91056
+ inspectorMode: 0
+ pathType: 1
+ handlesType: 0
+ livePreview: 1
+ handlesDrawMode: 0
+ perspectiveHandleSize: 0.5
+ showIndexes: 1
+ showWpLength: 0
+ pathColor: {r: 1, g: 1, b: 1, a: 0.5}
+ lastSrcPosition: {x: 10.45, y: -1.83, z: 0}
+ lastSrcRotation: {x: 0, y: 0, z: 0, w: 0}
+ wpsDropdown: 0
+ dropToFloorOffset: 0
+--- !u!23 &1087750406
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1087750404}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 0
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+--- !u!33 &1087750407
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1087750404}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1087750408
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1087750404}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 10.45, y: -1.83, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1127963255
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1127963256}
+ - component: {fileID: 1127963258}
+ - component: {fileID: 1127963257}
+ m_Layer: 5
+ m_Name: Info
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1127963256
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1127963255}
+ 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: 1260203941}
+ 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: 0, y: -186}
+ m_SizeDelta: {x: 300, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1127963257
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1127963255}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 14
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 1
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 1
+ m_LineSpacing: 1
+ m_Text: The PLAY button starts Cube A path animation. When that is complete, it
+ will start the other cube's animation (thanks to the Event created in Cube A's
+ DOTweenPath Component)
+--- !u!222 &1127963258
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1127963255}
+ m_CullTransparentMesh: 0
+--- !u!1 &1242857378
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1242857380}
+ - component: {fileID: 1242857379}
+ m_Layer: 0
+ m_Name: Directional light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &1242857379
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1242857378}
+ m_Enabled: 1
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize: 10
+ m_Shadows:
+ m_Type: 0
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 1
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &1242857380
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1242857378}
+ m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.10938166, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 0.99999994, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1260203940
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1260203941}
+ - component: {fileID: 1260203944}
+ - component: {fileID: 1260203943}
+ - component: {fileID: 1260203942}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1260203941
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 1356883401}
+ - {fileID: 1127963256}
+ m_Father: {fileID: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1260203942
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1260203943
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1260203944
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1260203940}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 1
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 25
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!1 &1356883400
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1356883401}
+ - component: {fileID: 1356883404}
+ - component: {fileID: 1356883403}
+ - component: {fileID: 1356883402}
+ m_Layer: 5
+ m_Name: Button
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1356883401
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ 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: 970591914}
+ m_Father: {fileID: 1260203941}
+ 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: -147}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1356883402
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Highlighted
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1356883403}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 118309269}
+ m_MethodName: DOPlay
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1356883403
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1356883404
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1356883400}
+ m_CullTransparentMesh: 0
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenPath.unity.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenPath.unity.meta
new file mode 100644
index 0000000..f480ec1
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/DOTweenPath.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a351b59ca54a0bc4083c35844da13a61
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/Examples Assets.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/Examples Assets.meta
new file mode 100644
index 0000000..ef3ab9f
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/Examples Assets.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a79748449d09f7f4d9d0db25853dbdf7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/Examples Assets/dotweenpro_logo.png b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/Examples Assets/dotweenpro_logo.png
new file mode 100644
index 0000000..c6d8420
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/Examples Assets/dotweenpro_logo.png differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/Examples Assets/dotweenpro_logo.png.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/Examples Assets/dotweenpro_logo.png.meta
new file mode 100644
index 0000000..f7eda2c
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro Examples/Examples Assets/dotweenpro_logo.png.meta
@@ -0,0 +1,92 @@
+fileFormatVersion: 2
+guid: 44a054df1702e39458b7072b08d0f212
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ 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: -3
+ maxTextureSize: 512
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 16
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ 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: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ applyGammaDecoding: 1
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 512
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro.meta
new file mode 100644
index 0000000..ccf7680
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5b4f2467fcf7e264ca5d70084c70572b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenAnimation.cs b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenAnimation.cs
new file mode 100644
index 0000000..e983284
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenAnimation.cs
@@ -0,0 +1,716 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/03/12 15:55
+
+using System;
+using System.Collections.Generic;
+using DG.Tweening.Core;
+using UnityEngine;
+#if true // UI_MARKER
+using UnityEngine.UI;
+#endif
+#if false // TEXTMESHPRO_MARKER
+using TMPro;
+#endif
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ ///
+ /// Attach this to a GameObject to create a tween
+ ///
+ [AddComponentMenu("DOTween/DOTween Animation")]
+ public class DOTweenAnimation : ABSAnimationComponent
+ {
+ public enum AnimationType
+ {
+ None,
+ Move, LocalMove,
+ Rotate, LocalRotate,
+ Scale,
+ Color, Fade,
+ Text,
+ PunchPosition, PunchRotation, PunchScale,
+ ShakePosition, ShakeRotation, ShakeScale,
+ CameraAspect, CameraBackgroundColor, CameraFieldOfView, CameraOrthoSize, CameraPixelRect, CameraRect,
+ UIWidthHeight
+ }
+
+ public enum TargetType
+ {
+ Unset,
+
+ Camera,
+ CanvasGroup,
+ Image,
+ Light,
+ RectTransform,
+ Renderer, SpriteRenderer,
+ Rigidbody, Rigidbody2D,
+ Text,
+ Transform,
+
+ tk2dBaseSprite,
+ tk2dTextMesh,
+
+ TextMeshPro,
+ TextMeshProUGUI
+ }
+
+ #region EVENTS - EDITOR-ONLY
+
+ /// Used internally by the editor
+ public static event Action OnReset;
+ static void Dispatch_OnReset(DOTweenAnimation anim) { if (OnReset != null) OnReset(anim); }
+
+ #endregion
+
+ public bool targetIsSelf = true; // If FALSE allows to set the target manually
+ public GameObject targetGO = null; // Used in case targetIsSelf is FALSE
+ // If TRUE always uses the GO containing this DOTweenAnimation (and not the one containing the target) as DOTween's SetTarget target
+ public bool tweenTargetIsTargetGO = true;
+
+ public float delay;
+ public float duration = 1;
+ public Ease easeType = Ease.OutQuad;
+ public AnimationCurve easeCurve = new AnimationCurve(new Keyframe(0, 0), new Keyframe(1, 1));
+ public LoopType loopType = LoopType.Restart;
+ public int loops = 1;
+ public string id = "";
+ public bool isRelative;
+ public bool isFrom;
+ public bool isIndependentUpdate = false;
+ public bool autoKill = true;
+
+ public bool isActive = true;
+ public bool isValid;
+ public Component target;
+ public AnimationType animationType;
+ public TargetType targetType;
+ public TargetType forcedTargetType; // Used when choosing between multiple targets
+ public bool autoPlay = true;
+ public bool useTargetAsV3;
+
+ public float endValueFloat;
+ public Vector3 endValueV3;
+ public Vector2 endValueV2;
+ public Color endValueColor = new Color(1, 1, 1, 1);
+ public string endValueString = "";
+ public Rect endValueRect = new Rect(0, 0, 0, 0);
+ public Transform endValueTransform;
+
+ public bool optionalBool0;
+ public float optionalFloat0;
+ public int optionalInt0;
+ public RotateMode optionalRotationMode = RotateMode.Fast;
+ public ScrambleMode optionalScrambleMode = ScrambleMode.None;
+ public string optionalString;
+
+ bool _tweenCreated; // TRUE after the tweens have been created
+ int _playCount = -1; // Used when calling DOPlayNext
+
+ #region Unity Methods
+
+ void Awake()
+ {
+ if (!isActive || !isValid) return;
+
+ if (animationType != AnimationType.Move || !useTargetAsV3) {
+ // Don't create tweens if we're using a RectTransform as a Move target,
+ // because that will work only inside Start
+ CreateTween();
+ _tweenCreated = true;
+ }
+ }
+
+ void Start()
+ {
+ if (_tweenCreated || !isActive || !isValid) return;
+
+ CreateTween();
+ _tweenCreated = true;
+ }
+
+ void Reset()
+ {
+ Dispatch_OnReset(this);
+ }
+
+ void OnDestroy()
+ {
+ if (tween != null && tween.IsActive()) tween.Kill();
+ tween = null;
+ }
+
+ // Used also by DOTweenAnimationInspector when applying runtime changes and restarting
+ public void CreateTween()
+ {
+// if (target == null) {
+// Debug.LogWarning(string.Format("{0} :: This DOTweenAnimation's target is NULL, because the animation was created with a DOTween Pro version older than 0.9.255. To fix this, exit Play mode then simply select this object, and it will update automatically", this.gameObject.name), this.gameObject);
+// return;
+// }
+
+ GameObject tweenGO = GetTweenGO();
+ if (target == null || tweenGO == null) {
+ if (targetIsSelf && target == null) {
+ // Old error caused during upgrade from DOTween Pro 0.9.255
+ Debug.LogWarning(string.Format("{0} :: This DOTweenAnimation's target is NULL, because the animation was created with a DOTween Pro version older than 0.9.255. To fix this, exit Play mode then simply select this object, and it will update automatically", this.gameObject.name), this.gameObject);
+ } else {
+ // Missing non-self target
+ Debug.LogWarning(string.Format("{0} :: This DOTweenAnimation's target/GameObject is unset: the tween will not be created.", this.gameObject.name), this.gameObject);
+ }
+ return;
+ }
+
+ if (forcedTargetType != TargetType.Unset) targetType = forcedTargetType;
+ if (targetType == TargetType.Unset) {
+ // Legacy DOTweenAnimation (made with a version older than 0.9.450) without stored targetType > assign it now
+ targetType = TypeToDOTargetType(target.GetType());
+ }
+
+ switch (animationType) {
+ case AnimationType.None:
+ break;
+ case AnimationType.Move:
+ if (useTargetAsV3) {
+ isRelative = false;
+ if (endValueTransform == null) {
+ Debug.LogWarning(string.Format("{0} :: This tween's TO target is NULL, a Vector3 of (0,0,0) will be used instead", this.gameObject.name), this.gameObject);
+ endValueV3 = Vector3.zero;
+ } else {
+#if true // UI_MARKER
+ if (targetType == TargetType.RectTransform) {
+ RectTransform endValueT = endValueTransform as RectTransform;
+ if (endValueT == null) {
+ Debug.LogWarning(string.Format("{0} :: This tween's TO target should be a RectTransform, a Vector3 of (0,0,0) will be used instead", this.gameObject.name), this.gameObject);
+ endValueV3 = Vector3.zero;
+ } else {
+ RectTransform rTarget = target as RectTransform;
+ if (rTarget == null) {
+ Debug.LogWarning(string.Format("{0} :: This tween's target and TO target are not of the same type. Please reassign the values", this.gameObject.name), this.gameObject);
+ } else {
+ // Problem: doesn't work inside Awake (ararargh!)
+ endValueV3 = DOTweenModuleUI.Utils.SwitchToRectTransform(endValueT, rTarget);
+ }
+ }
+ } else
+#endif
+ endValueV3 = endValueTransform.position;
+ }
+ }
+ switch (targetType) {
+ case TargetType.Transform:
+ tween = ((Transform)target).DOMove(endValueV3, duration, optionalBool0);
+ break;
+ case TargetType.RectTransform:
+#if true // UI_MARKER
+ tween = ((RectTransform)target).DOAnchorPos3D(endValueV3, duration, optionalBool0);
+#else
+ tween = ((Transform)target).DOMove(endValueV3, duration, optionalBool0);
+#endif
+ break;
+ case TargetType.Rigidbody:
+#if true // PHYSICS_MARKER
+ tween = ((Rigidbody)target).DOMove(endValueV3, duration, optionalBool0);
+#else
+ tween = ((Transform)target).DOMove(endValueV3, duration, optionalBool0);
+#endif
+ break;
+ case TargetType.Rigidbody2D:
+#if true // PHYSICS2D_MARKER
+ tween = ((Rigidbody2D)target).DOMove(endValueV3, duration, optionalBool0);
+#else
+ tween = ((Transform)target).DOMove(endValueV3, duration, optionalBool0);
+#endif
+ break;
+ }
+ break;
+ case AnimationType.LocalMove:
+ tween = tweenGO.transform.DOLocalMove(endValueV3, duration, optionalBool0);
+ break;
+ case AnimationType.Rotate:
+ switch (targetType) {
+ case TargetType.Transform:
+ tween = ((Transform)target).DORotate(endValueV3, duration, optionalRotationMode);
+ break;
+ case TargetType.Rigidbody:
+#if true // PHYSICS_MARKER
+ tween = ((Rigidbody)target).DORotate(endValueV3, duration, optionalRotationMode);
+#else
+ tween = ((Transform)target).DORotate(endValueV3, duration, optionalRotationMode);
+#endif
+ break;
+ case TargetType.Rigidbody2D:
+#if true // PHYSICS2D_MARKER
+ tween = ((Rigidbody2D)target).DORotate(endValueFloat, duration);
+#else
+ tween = ((Transform)target).DORotate(endValueV3, duration, optionalRotationMode);
+#endif
+ break;
+ }
+ break;
+ case AnimationType.LocalRotate:
+ tween = tweenGO.transform.DOLocalRotate(endValueV3, duration, optionalRotationMode);
+ break;
+ case AnimationType.Scale:
+ switch (targetType) {
+#if false // TK2D_MARKER
+ case TargetType.tk2dTextMesh:
+ tween = ((tk2dTextMesh)target).DOScale(optionalBool0 ? new Vector3(endValueFloat, endValueFloat, endValueFloat) : endValueV3, duration);
+ break;
+ case TargetType.tk2dBaseSprite:
+ tween = ((tk2dBaseSprite)target).DOScale(optionalBool0 ? new Vector3(endValueFloat, endValueFloat, endValueFloat) : endValueV3, duration);
+ break;
+#endif
+ default:
+ tween = tweenGO.transform.DOScale(optionalBool0 ? new Vector3(endValueFloat, endValueFloat, endValueFloat) : endValueV3, duration);
+ break;
+ }
+ break;
+#if true // UI_MARKER
+ case AnimationType.UIWidthHeight:
+ tween = ((RectTransform)target).DOSizeDelta(optionalBool0 ? new Vector2(endValueFloat, endValueFloat) : endValueV2, duration);
+ break;
+#endif
+ case AnimationType.Color:
+ isRelative = false;
+ switch (targetType) {
+ case TargetType.Renderer:
+ tween = ((Renderer)target).material.DOColor(endValueColor, duration);
+ break;
+ case TargetType.Light:
+ tween = ((Light)target).DOColor(endValueColor, duration);
+ break;
+#if true // SPRITE_MARKER
+ case TargetType.SpriteRenderer:
+ tween = ((SpriteRenderer)target).DOColor(endValueColor, duration);
+ break;
+#endif
+#if true // UI_MARKER
+ case TargetType.Image:
+ tween = ((Graphic)target).DOColor(endValueColor, duration);
+ break;
+ case TargetType.Text:
+ tween = ((Text)target).DOColor(endValueColor, duration);
+ break;
+#endif
+#if false // TK2D_MARKER
+ case TargetType.tk2dTextMesh:
+ tween = ((tk2dTextMesh)target).DOColor(endValueColor, duration);
+ break;
+ case TargetType.tk2dBaseSprite:
+ tween = ((tk2dBaseSprite)target).DOColor(endValueColor, duration);
+ break;
+#endif
+#if false // TEXTMESHPRO_MARKER
+ case TargetType.TextMeshProUGUI:
+ tween = ((TextMeshProUGUI)target).DOColor(endValueColor, duration);
+ break;
+ case TargetType.TextMeshPro:
+ tween = ((TextMeshPro)target).DOColor(endValueColor, duration);
+ break;
+#endif
+ }
+ break;
+ case AnimationType.Fade:
+ isRelative = false;
+ switch (targetType) {
+ case TargetType.Renderer:
+ tween = ((Renderer)target).material.DOFade(endValueFloat, duration);
+ break;
+ case TargetType.Light:
+ tween = ((Light)target).DOIntensity(endValueFloat, duration);
+ break;
+#if true // SPRITE_MARKER
+ case TargetType.SpriteRenderer:
+ tween = ((SpriteRenderer)target).DOFade(endValueFloat, duration);
+ break;
+#endif
+#if true // UI_MARKER
+ case TargetType.Image:
+ tween = ((Graphic)target).DOFade(endValueFloat, duration);
+ break;
+ case TargetType.Text:
+ tween = ((Text)target).DOFade(endValueFloat, duration);
+ break;
+ case TargetType.CanvasGroup:
+ tween = ((CanvasGroup)target).DOFade(endValueFloat, duration);
+ break;
+#endif
+#if false // TK2D_MARKER
+ case TargetType.tk2dTextMesh:
+ tween = ((tk2dTextMesh)target).DOFade(endValueFloat, duration);
+ break;
+ case TargetType.tk2dBaseSprite:
+ tween = ((tk2dBaseSprite)target).DOFade(endValueFloat, duration);
+ break;
+#endif
+#if false // TEXTMESHPRO_MARKER
+ case TargetType.TextMeshProUGUI:
+ tween = ((TextMeshProUGUI)target).DOFade(endValueFloat, duration);
+ break;
+ case TargetType.TextMeshPro:
+ tween = ((TextMeshPro)target).DOFade(endValueFloat, duration);
+ break;
+#endif
+ }
+ break;
+ case AnimationType.Text:
+#if true // UI_MARKER
+ switch (targetType) {
+ case TargetType.Text:
+ tween = ((Text)target).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString);
+ break;
+ }
+#endif
+#if false // TK2D_MARKER
+ switch (targetType) {
+ case TargetType.tk2dTextMesh:
+ tween = ((tk2dTextMesh)target).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString);
+ break;
+ }
+#endif
+#if false // TEXTMESHPRO_MARKER
+ switch (targetType) {
+ case TargetType.TextMeshProUGUI:
+ tween = ((TextMeshProUGUI)target).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString);
+ break;
+ case TargetType.TextMeshPro:
+ tween = ((TextMeshPro)target).DOText(endValueString, duration, optionalBool0, optionalScrambleMode, optionalString);
+ break;
+ }
+#endif
+ break;
+ case AnimationType.PunchPosition:
+ switch (targetType) {
+ case TargetType.Transform:
+ tween = ((Transform)target).DOPunchPosition(endValueV3, duration, optionalInt0, optionalFloat0, optionalBool0);
+ break;
+#if true // UI_MARKER
+ case TargetType.RectTransform:
+ tween = ((RectTransform)target).DOPunchAnchorPos(endValueV3, duration, optionalInt0, optionalFloat0, optionalBool0);
+ break;
+#endif
+ }
+ break;
+ case AnimationType.PunchScale:
+ tween = tweenGO.transform.DOPunchScale(endValueV3, duration, optionalInt0, optionalFloat0);
+ break;
+ case AnimationType.PunchRotation:
+ tween = tweenGO.transform.DOPunchRotation(endValueV3, duration, optionalInt0, optionalFloat0);
+ break;
+ case AnimationType.ShakePosition:
+ switch (targetType) {
+ case TargetType.Transform:
+ tween = ((Transform)target).DOShakePosition(duration, endValueV3, optionalInt0, optionalFloat0, optionalBool0);
+ break;
+#if true // UI_MARKER
+ case TargetType.RectTransform:
+ tween = ((RectTransform)target).DOShakeAnchorPos(duration, endValueV3, optionalInt0, optionalFloat0, optionalBool0);
+ break;
+#endif
+ }
+ break;
+ case AnimationType.ShakeScale:
+ tween = tweenGO.transform.DOShakeScale(duration, endValueV3, optionalInt0, optionalFloat0);
+ break;
+ case AnimationType.ShakeRotation:
+ tween = tweenGO.transform.DOShakeRotation(duration, endValueV3, optionalInt0, optionalFloat0);
+ break;
+ case AnimationType.CameraAspect:
+ tween = ((Camera)target).DOAspect(endValueFloat, duration);
+ break;
+ case AnimationType.CameraBackgroundColor:
+ tween = ((Camera)target).DOColor(endValueColor, duration);
+ break;
+ case AnimationType.CameraFieldOfView:
+ tween = ((Camera)target).DOFieldOfView(endValueFloat, duration);
+ break;
+ case AnimationType.CameraOrthoSize:
+ tween = ((Camera)target).DOOrthoSize(endValueFloat, duration);
+ break;
+ case AnimationType.CameraPixelRect:
+ tween = ((Camera)target).DOPixelRect(endValueRect, duration);
+ break;
+ case AnimationType.CameraRect:
+ tween = ((Camera)target).DORect(endValueRect, duration);
+ break;
+ }
+
+ if (tween == null) return;
+
+ if (isFrom) {
+ ((Tweener)tween).From(isRelative);
+ } else {
+ tween.SetRelative(isRelative);
+ }
+ GameObject setTarget = targetIsSelf || !tweenTargetIsTargetGO ? this.gameObject : targetGO;
+ tween.SetTarget(setTarget).SetDelay(delay).SetLoops(loops, loopType).SetAutoKill(autoKill)
+ .OnKill(()=> tween = null);
+ if (isSpeedBased) tween.SetSpeedBased();
+ if (easeType == Ease.INTERNAL_Custom) tween.SetEase(easeCurve);
+ else tween.SetEase(easeType);
+ if (!string.IsNullOrEmpty(id)) tween.SetId(id);
+ tween.SetUpdate(isIndependentUpdate);
+
+ if (hasOnStart) {
+ if (onStart != null) tween.OnStart(onStart.Invoke);
+ } else onStart = null;
+ if (hasOnPlay) {
+ if (onPlay != null) tween.OnPlay(onPlay.Invoke);
+ } else onPlay = null;
+ if (hasOnUpdate) {
+ if (onUpdate != null) tween.OnUpdate(onUpdate.Invoke);
+ } else onUpdate = null;
+ if (hasOnStepComplete) {
+ if (onStepComplete != null) tween.OnStepComplete(onStepComplete.Invoke);
+ } else onStepComplete = null;
+ if (hasOnComplete) {
+ if (onComplete != null) tween.OnComplete(onComplete.Invoke);
+ } else onComplete = null;
+ if (hasOnRewind) {
+ if (onRewind != null) tween.OnRewind(onRewind.Invoke);
+ } else onRewind = null;
+
+ if (autoPlay) tween.Play();
+ else tween.Pause();
+
+ if (hasOnTweenCreated && onTweenCreated != null) onTweenCreated.Invoke();
+ }
+
+ #endregion
+
+ #region Public Methods
+
+ // These methods are here so they can be called directly via Unity's UGUI event system
+
+ public override void DOPlay()
+ {
+ DOTween.Play(this.gameObject);
+ }
+
+ public override void DOPlayBackwards()
+ {
+ DOTween.PlayBackwards(this.gameObject);
+ }
+
+ public override void DOPlayForward()
+ {
+ DOTween.PlayForward(this.gameObject);
+ }
+
+ public override void DOPause()
+ {
+ DOTween.Pause(this.gameObject);
+ }
+
+ public override void DOTogglePause()
+ {
+ DOTween.TogglePause(this.gameObject);
+ }
+
+ public override void DORewind()
+ {
+ _playCount = -1;
+ // Rewind using Components order (in case there are multiple animations on the same property)
+ DOTweenAnimation[] anims = this.gameObject.GetComponents();
+ for (int i = anims.Length - 1; i > -1; --i) {
+ Tween t = anims[i].tween;
+ if (t != null && t.IsInitialized()) anims[i].tween.Rewind();
+ }
+ // DOTween.Rewind(this.gameObject);
+ }
+
+ ///
+ /// Restarts the tween
+ ///
+ public override void DORestart()
+ { DORestart(false); }
+ ///
+ /// Restarts the tween
+ ///
+ /// If TRUE, re-evaluates the tween's start and end values from its current position.
+ /// Set it to TRUE when spawning the same DOTweenAnimation in different positions (like when using a pooling system)
+ public override void DORestart(bool fromHere)
+ {
+ _playCount = -1;
+ if (tween == null) {
+ if (Debugger.logPriority > 1) Debugger.LogNullTween(tween); return;
+ }
+ if (fromHere && isRelative) ReEvaluateRelativeTween();
+ DOTween.Restart(this.gameObject);
+ }
+
+ public override void DOComplete()
+ {
+ DOTween.Complete(this.gameObject);
+ }
+
+ public override void DOKill()
+ {
+ DOTween.Kill(this.gameObject);
+ tween = null;
+ }
+
+ #region Specifics
+
+ public void DOPlayById(string id)
+ {
+ DOTween.Play(this.gameObject, id);
+ }
+ public void DOPlayAllById(string id)
+ {
+ DOTween.Play(id);
+ }
+
+ public void DOPauseAllById(string id)
+ {
+ DOTween.Pause(id);
+ }
+
+ public void DOPlayBackwardsById(string id)
+ {
+ DOTween.PlayBackwards(this.gameObject, id);
+ }
+ public void DOPlayBackwardsAllById(string id)
+ {
+ DOTween.PlayBackwards(id);
+ }
+
+ public void DOPlayForwardById(string id)
+ {
+ DOTween.PlayForward(this.gameObject, id);
+ }
+ public void DOPlayForwardAllById(string id)
+ {
+ DOTween.PlayForward(id);
+ }
+
+ public void DOPlayNext()
+ {
+ DOTweenAnimation[] anims = this.GetComponents();
+ while (_playCount < anims.Length - 1) {
+ _playCount++;
+ DOTweenAnimation anim = anims[_playCount];
+ if (anim != null && anim.tween != null && !anim.tween.IsPlaying() && !anim.tween.IsComplete()) {
+ anim.tween.Play();
+ break;
+ }
+ }
+ }
+
+ public void DORewindAndPlayNext()
+ {
+ _playCount = -1;
+ DOTween.Rewind(this.gameObject);
+ DOPlayNext();
+ }
+
+ public void DORewindAllById(string id)
+ {
+ _playCount = -1;
+ DOTween.Rewind(id);
+ }
+
+ public void DORestartById(string id)
+ {
+ _playCount = -1;
+ DOTween.Restart(this.gameObject, id);
+ }
+ public void DORestartAllById(string id)
+ {
+ _playCount = -1;
+ DOTween.Restart(id);
+ }
+
+ ///
+ /// Returns the tweens created by this DOTweenAnimation, in the same order as they appear in the Inspector (top to bottom)
+ ///
+ public List GetTweens()
+ {
+// return DOTween.TweensByTarget(this.gameObject);
+
+ List result = new List();
+ DOTweenAnimation[] anims = this.GetComponents();
+ foreach (DOTweenAnimation anim in anims) result.Add(anim.tween);
+ return result;
+ }
+
+ #endregion
+
+ #region Internal (also used by Inspector)
+
+ public static TargetType TypeToDOTargetType(Type t)
+ {
+ string str = t.ToString();
+ int dotIndex = str.LastIndexOf(".");
+ if (dotIndex != -1) str = str.Substring(dotIndex + 1);
+ if (str.IndexOf("Renderer") != -1 && (str != "SpriteRenderer")) str = "Renderer";
+//#if true // PHYSICS_MARKER
+// if (str == "Rigidbody") str = "Transform";
+//#endif
+//#if true // PHYSICS2D_MARKER
+// if (str == "Rigidbody2D") str = "Transform";
+//#endif
+#if true // UI_MARKER
+// if (str == "RectTransform") str = "Transform";
+ if (str == "RawImage") str = "Image"; // RawImages are managed like Images for DOTweenAnimation (color and fade use Graphic target anyway)
+#endif
+ return (TargetType)Enum.Parse(typeof(TargetType), str);
+ }
+
+ // Editor preview system
+ ///
+ /// Previews the tween in the editor. Only for DOTween internal usage: don't use otherwise.
+ ///
+ public Tween CreateEditorPreview()
+ {
+ if (Application.isPlaying) return null;
+
+ CreateTween();
+ return tween;
+ }
+
+ #endregion
+
+ #endregion
+
+ #region Private
+
+ // Returns the gameObject whose target component should be animated
+ GameObject GetTweenGO()
+ {
+ return targetIsSelf ? this.gameObject : targetGO;
+ }
+
+ // Re-evaluate relative position of path
+ void ReEvaluateRelativeTween()
+ {
+ GameObject tweenGO = GetTweenGO();
+ if (tweenGO == null) {
+ Debug.LogWarning(string.Format("{0} :: This DOTweenAnimation's target/GameObject is unset: the tween will not be created.", this.gameObject.name), this.gameObject);
+ return;
+ }
+ if (animationType == AnimationType.Move) {
+ ((Tweener)tween).ChangeEndValue(tweenGO.transform.position + endValueV3, true);
+ } else if (animationType == AnimationType.LocalMove) {
+ ((Tweener)tween).ChangeEndValue(tweenGO.transform.localPosition + endValueV3, true);
+ }
+ }
+
+ #endregion
+ }
+
+ public static class DOTweenAnimationExtensions
+ {
+// // Doesn't work on Win 8.1
+// public static bool IsSameOrSubclassOf(this Type t, Type tBase)
+// {
+// return t.IsSubclassOf(tBase) || t == tBase;
+// }
+
+ public static bool IsSameOrSubclassOf(this Component t)
+ {
+ return t is T;
+ }
+ }
+}
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenAnimation.cs.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenAnimation.cs.meta
new file mode 100644
index 0000000..5d92ac7
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenAnimation.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4d0390bd8b8ffd640b34fe25065ff1df
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.XML b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.XML
new file mode 100644
index 0000000..14c2bb0
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.XML
@@ -0,0 +1,62 @@
+
+
+
+ DOTweenPro
+
+
+
+
+ Restarts the tween
+
+
+
+
+ Restarts the tween
+
+ If TRUE, re-evaluates the tween's start and end values from its current position.
+ Set it to TRUE when spawning the same DOTweenPath in different positions (like when using a pooling system)
+
+
+
+ Attach this to a GameObject to create and assign a path to it
+
+
+
+ Used internally by the editor
+
+
+
+ Restarts the tween
+
+
+
+
+ Restarts the tween
+
+ If TRUE, re-evaluates the tween's start and end values from its current position.
+ Set it to TRUE when spawning the same DOTweenPath in different positions (like when using a pooling system)
+
+
+
+ Returns a list of points that are used to draw the path inside the editor.
+
+
+
+
+ Tweens a Vector3 along a spiral.
+ EndValue represents the direction of the spiral
+
+
+
+
+ Spiral tween mode
+
+
+
+ The spiral motion will expand outwards for the whole the tween
+
+
+ The spiral motion will expand outwards for half the tween and then will spiral back to the starting position
+
+
+
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.XML.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.XML.meta
new file mode 100644
index 0000000..a396828
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.XML.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: db7d7ef84c388bc4fbc3835d31a15306
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll
new file mode 100644
index 0000000..deeda1d
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll.mdb b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll.mdb
new file mode 100644
index 0000000..30c2296
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll.mdb differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll.mdb.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll.mdb.meta
new file mode 100644
index 0000000..c40cf1b
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll.mdb.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d719ed2e2c87eae4e8dd520e2df659c1
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll.meta
new file mode 100644
index 0000000..6bcf817
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenPro.dll.meta
@@ -0,0 +1,21 @@
+fileFormatVersion: 2
+guid: aa0b1eebb5db27a419fa4564bbe5c9c5
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenProShortcuts.cs b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenProShortcuts.cs
new file mode 100644
index 0000000..12ee7ef
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenProShortcuts.cs
@@ -0,0 +1,90 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2018/07/13
+
+using System;
+using DG.Tweening.Core;
+using DG.Tweening.Plugins;
+using UnityEngine;
+
+#pragma warning disable 1591
+namespace DG.Tweening
+{
+ public static class DOTweenProShortcuts
+ {
+ static DOTweenProShortcuts()
+ {
+ // Create stub instances of custom plugins, in order to allow IL2CPP to understand they must be included in the build
+#pragma warning disable 219
+ SpiralPlugin stub = new SpiralPlugin();
+#pragma warning restore 219
+ }
+
+ #region Shortcuts
+
+ #region Transform
+
+ /// Tweens a Transform's localPosition in a spiral shape.
+ /// Also stores the transform as the tween's target so it can be used for filtered operations
+ /// The duration of the tween
+ /// The axis around which the spiral will rotate
+ /// The type of spiral movement
+ /// Speed of the rotations
+ /// Frequency of the rotation. Lower values lead to wider spirals
+ /// Indicates how much the tween should move along the spiral's axis
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DOSpiral(
+ this Transform target, float duration, Vector3? axis = null, SpiralMode mode = SpiralMode.Expand,
+ float speed = 1, float frequency = 10, float depth = 0, bool snapping = false
+ ) {
+ if (Mathf.Approximately(speed, 0)) speed = 1;
+ if (axis == null || axis == Vector3.zero) axis = Vector3.forward;
+
+ TweenerCore t = DOTween.To(SpiralPlugin.Get(), () => target.localPosition, x => target.localPosition = x, (Vector3)axis, duration)
+ .SetTarget(target);
+
+ t.plugOptions.mode = mode;
+ t.plugOptions.speed = speed;
+ t.plugOptions.frequency = frequency;
+ t.plugOptions.depth = depth;
+ t.plugOptions.snapping = snapping;
+ return t;
+ }
+
+ #endregion
+
+#if true // PHYSICS_MARKER
+ #region Rigidbody
+
+ /// Tweens a Rigidbody's position in a spiral shape.
+ /// Also stores the transform as the tween's target so it can be used for filtered operations
+ /// The duration of the tween
+ /// The axis around which the spiral will rotate
+ /// The type of spiral movement
+ /// Speed of the rotations
+ /// Frequency of the rotation. Lower values lead to wider spirals
+ /// Indicates how much the tween should move along the spiral's axis
+ /// If TRUE the tween will smoothly snap all values to integers
+ public static Tweener DOSpiral(
+ this Rigidbody target, float duration, Vector3? axis = null, SpiralMode mode = SpiralMode.Expand,
+ float speed = 1, float frequency = 10, float depth = 0, bool snapping = false
+ ) {
+ if (Mathf.Approximately(speed, 0)) speed = 1;
+ if (axis == null || axis == Vector3.zero) axis = Vector3.forward;
+
+ TweenerCore t = DOTween.To(SpiralPlugin.Get(), () => target.position, target.MovePosition, (Vector3)axis, duration)
+ .SetTarget(target);
+
+ t.plugOptions.mode = mode;
+ t.plugOptions.speed = speed;
+ t.plugOptions.frequency = frequency;
+ t.plugOptions.depth = depth;
+ t.plugOptions.snapping = snapping;
+ return t;
+ }
+
+ #endregion
+#endif
+
+ #endregion
+ }
+}
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenProShortcuts.cs.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenProShortcuts.cs.meta
new file mode 100644
index 0000000..99f8a2e
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenProShortcuts.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1c3190a1a1c53f449926f6d5542b4ce5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs
new file mode 100644
index 0000000..d685556
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs
@@ -0,0 +1,141 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/03/27 19:02
+//
+// License Copyright (c) Daniele Giardini.
+// This work is subject to the terms at http://dotween.demigiant.com/license.php
+
+#if false // MODULE_MARKER
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+using TMPro;
+
+namespace DG.Tweening
+{
+ ///
+ /// Methods that extend TMP_Text objects and allow to directly create and control tweens from their instances.
+ ///
+ public static class ShortcutExtensionsTMPText
+ {
+ #region Colors
+
+ /// Tweens a TextMeshPro's color to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this TMP_Text target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's faceColor to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFaceColor(this TMP_Text target, Color32 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.faceColor, x => target.faceColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's outlineColor to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOOutlineColor(this TMP_Text target, Color32 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.outlineColor, x => target.outlineColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's glow color to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE will use the fontSharedMaterial instead than the fontMaterial
+ public static TweenerCore DOGlowColor(this TMP_Text target, Color endValue, float duration, bool useSharedMaterial = false)
+ {
+ TweenerCore t = useSharedMaterial
+ ? target.fontSharedMaterial.DOColor(endValue, "_GlowColor", duration)
+ : target.fontMaterial.DOColor(endValue, "_GlowColor", duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's alpha color to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this TMP_Text target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro faceColor's alpha to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFaceFade(this TMP_Text target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.faceColor, x => target.faceColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Other
+
+ /// Tweens a TextMeshPro's scale to the given value (using correct uniform scale as TMP requires).
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScale(this TMP_Text target, float endValue, float duration)
+ {
+ Transform trans = target.transform;
+ Vector3 endValueV3 = new Vector3(endValue, endValue, endValue);
+ TweenerCore t = DOTween.To(() => trans.localScale, x => trans.localScale = x, endValueV3, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's fontSize to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFontSize(this TMP_Text target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.fontSize, x => target.fontSize = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's maxVisibleCharacters to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOMaxVisibleCharacters(this TMP_Text target, int endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.maxVisibleCharacters, x => target.maxVisibleCharacters = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's text to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end string to tween toThe duration of the tween
+ /// If TRUE (default), rich text will be interpreted correctly while animated,
+ /// otherwise all tags will be considered as normal text
+ /// The type of scramble mode to use, if any
+ /// A string containing the characters to use for scrambling.
+ /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
+ /// Leave it to NULL (default) to use default ones
+ public static TweenerCore DOText(this TMP_Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
+ {
+ TweenerCore t = DOTween.To(() => target.text, x => target.text = x, endValue, duration);
+ t.SetOptions(richTextEnabled, scrambleMode, scrambleChars)
+ .SetTarget(target);
+ return t;
+ }
+
+ #endregion
+ }
+}
+#endif
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs.addon b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs.addon
new file mode 100644
index 0000000..d685556
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs.addon
@@ -0,0 +1,141 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/03/27 19:02
+//
+// License Copyright (c) Daniele Giardini.
+// This work is subject to the terms at http://dotween.demigiant.com/license.php
+
+#if false // MODULE_MARKER
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+using TMPro;
+
+namespace DG.Tweening
+{
+ ///
+ /// Methods that extend TMP_Text objects and allow to directly create and control tweens from their instances.
+ ///
+ public static class ShortcutExtensionsTMPText
+ {
+ #region Colors
+
+ /// Tweens a TextMeshPro's color to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this TMP_Text target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's faceColor to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFaceColor(this TMP_Text target, Color32 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.faceColor, x => target.faceColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's outlineColor to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOOutlineColor(this TMP_Text target, Color32 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.outlineColor, x => target.outlineColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's glow color to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ /// If TRUE will use the fontSharedMaterial instead than the fontMaterial
+ public static TweenerCore DOGlowColor(this TMP_Text target, Color endValue, float duration, bool useSharedMaterial = false)
+ {
+ TweenerCore t = useSharedMaterial
+ ? target.fontSharedMaterial.DOColor(endValue, "_GlowColor", duration)
+ : target.fontMaterial.DOColor(endValue, "_GlowColor", duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's alpha color to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this TMP_Text target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro faceColor's alpha to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFaceFade(this TMP_Text target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.faceColor, x => target.faceColor = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region Other
+
+ /// Tweens a TextMeshPro's scale to the given value (using correct uniform scale as TMP requires).
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScale(this TMP_Text target, float endValue, float duration)
+ {
+ Transform trans = target.transform;
+ Vector3 endValueV3 = new Vector3(endValue, endValue, endValue);
+ TweenerCore t = DOTween.To(() => trans.localScale, x => trans.localScale = x, endValueV3, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's fontSize to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFontSize(this TMP_Text target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.fontSize, x => target.fontSize = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's maxVisibleCharacters to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOMaxVisibleCharacters(this TMP_Text target, int endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.maxVisibleCharacters, x => target.maxVisibleCharacters = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a TextMeshPro's text to the given value.
+ /// Also stores the TextMeshPro as the tween's target so it can be used for filtered operations
+ /// The end string to tween toThe duration of the tween
+ /// If TRUE (default), rich text will be interpreted correctly while animated,
+ /// otherwise all tags will be considered as normal text
+ /// The type of scramble mode to use, if any
+ /// A string containing the characters to use for scrambling.
+ /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
+ /// Leave it to NULL (default) to use default ones
+ public static TweenerCore DOText(this TMP_Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
+ {
+ TweenerCore t = DOTween.To(() => target.text, x => target.text = x, endValue, duration);
+ t.SetOptions(richTextEnabled, scrambleMode, scrambleChars)
+ .SetTarget(target);
+ return t;
+ }
+
+ #endregion
+ }
+}
+#endif
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs.addon.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs.addon.meta
new file mode 100644
index 0000000..16c94f5
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs.addon.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2a5935d4c3cbf544e8dec8f08ac0d540
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs.meta
new file mode 100644
index 0000000..66ff6cd
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTextMeshPro.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8fb0d65aa5b048649a3a785b82b8f8db
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs
new file mode 100644
index 0000000..7b7c988
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs
@@ -0,0 +1,245 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2014/10/27 15:59
+//
+// License Copyright (c) Daniele Giardini.
+// This work is subject to the terms at http://dotween.demigiant.com/license.php
+
+#if false // MODULE_MARKER
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+namespace DG.Tweening
+{
+ ///
+ /// Methods that extend 2D Toolkit objects and allow to directly create and control tweens from their instances.
+ ///
+ public static class ShortcutExtensionsTk2d
+ {
+ #region Sprite
+
+ /// Tweens a 2D Toolkit Sprite's dimensions to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScale(this tk2dBaseSprite target, Vector3 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+ /// Tweens a Sprite's dimensions to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleX(this tk2dBaseSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(endValue, 0, 0), duration);
+ t.SetOptions(AxisConstraint.X)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a Sprite's dimensions to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleY(this tk2dBaseSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(0, endValue, 0), duration);
+ t.SetOptions(AxisConstraint.Y)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a Sprite's dimensions to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleZ(this tk2dBaseSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(0, 0, endValue), duration);
+ t.SetOptions(AxisConstraint.Z)
+ .SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit Sprite's color to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this tk2dBaseSprite target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit Sprite's alpha color to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this tk2dBaseSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit Sprite's color using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to useThe duration of the tween
+ public static Sequence DOGradientColor(this tk2dBaseSprite target, Gradient gradient, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.color = c.color;
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
+ }
+ return s;
+ }
+
+ #endregion
+
+ #region tk2dSlicedSprite
+
+ /// Tweens a 2D Toolkit SlicedSprite's dimensions to the given value.
+ /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleDimensions(this tk2dSlicedSprite target, Vector2 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.dimensions, x => target.dimensions = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+ /// Tweens a SlicedSprite's dimensions to the given value.
+ /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleDimensionsX(this tk2dSlicedSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.dimensions, x => target.dimensions = x, new Vector2(endValue, 0), duration);
+ t.SetOptions(AxisConstraint.X)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a SlicedSprite's dimensions to the given value.
+ /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleDimensionsY(this tk2dSlicedSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.dimensions, x => target.dimensions = x, new Vector2(0, endValue), duration);
+ t.SetOptions(AxisConstraint.Y)
+ .SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region TextMesh
+
+ /// Tweens a 2D Toolkit TextMesh's dimensions to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScale(this tk2dTextMesh target, Vector3 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+ /// Tweens a 2D Toolkit TextMesh's dimensions to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleX(this tk2dTextMesh target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(endValue, 0, 0), duration);
+ t.SetOptions(AxisConstraint.X)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a 2D Toolkit TextMesh's dimensions to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleY(this tk2dTextMesh target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(0, endValue, 0), duration);
+ t.SetOptions(AxisConstraint.Y)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a 2D Toolkit TextMesh's dimensions to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleZ(this tk2dTextMesh target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(0, 0, endValue), duration);
+ t.SetOptions(AxisConstraint.Z)
+ .SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit TextMesh's color to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this tk2dTextMesh target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit TextMesh's alpha color to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this tk2dTextMesh target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit TextMesh's color using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to useThe duration of the tween
+ public static Sequence DOGradientColor(this tk2dTextMesh target, Gradient gradient, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.color = c.color;
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
+ }
+ return s;
+ }
+
+ /// Tweens a tk2dTextMesh's text to the given value.
+ /// Also stores the tk2dTextMesh as the tween's target so it can be used for filtered operations
+ /// The end string to tween toThe duration of the tween
+ /// If TRUE (default), rich text will be interpreted correctly while animated,
+ /// otherwise all tags will be considered as normal text
+ /// The type of scramble mode to use, if any
+ /// A string containing the characters to use for scrambling.
+ /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
+ /// Leave it to NULL (default) to use default ones
+ public static TweenerCore DOText(this tk2dTextMesh target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
+ {
+ TweenerCore t = DOTween.To(() => target.text, x => target.text = x, endValue, duration);
+ t.SetOptions(richTextEnabled, scrambleMode, scrambleChars)
+ .SetTarget(target);
+ return t;
+ }
+
+ #endregion
+ }
+}
+#endif
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs.addon b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs.addon
new file mode 100644
index 0000000..7b7c988
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs.addon
@@ -0,0 +1,245 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2014/10/27 15:59
+//
+// License Copyright (c) Daniele Giardini.
+// This work is subject to the terms at http://dotween.demigiant.com/license.php
+
+#if false // MODULE_MARKER
+using DG.Tweening.Core;
+using DG.Tweening.Plugins.Options;
+using UnityEngine;
+
+namespace DG.Tweening
+{
+ ///
+ /// Methods that extend 2D Toolkit objects and allow to directly create and control tweens from their instances.
+ ///
+ public static class ShortcutExtensionsTk2d
+ {
+ #region Sprite
+
+ /// Tweens a 2D Toolkit Sprite's dimensions to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScale(this tk2dBaseSprite target, Vector3 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+ /// Tweens a Sprite's dimensions to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleX(this tk2dBaseSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(endValue, 0, 0), duration);
+ t.SetOptions(AxisConstraint.X)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a Sprite's dimensions to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleY(this tk2dBaseSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(0, endValue, 0), duration);
+ t.SetOptions(AxisConstraint.Y)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a Sprite's dimensions to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleZ(this tk2dBaseSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(0, 0, endValue), duration);
+ t.SetOptions(AxisConstraint.Z)
+ .SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit Sprite's color to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this tk2dBaseSprite target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit Sprite's alpha color to the given value.
+ /// Also stores the Sprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this tk2dBaseSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit Sprite's color using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to useThe duration of the tween
+ public static Sequence DOGradientColor(this tk2dBaseSprite target, Gradient gradient, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.color = c.color;
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
+ }
+ return s;
+ }
+
+ #endregion
+
+ #region tk2dSlicedSprite
+
+ /// Tweens a 2D Toolkit SlicedSprite's dimensions to the given value.
+ /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleDimensions(this tk2dSlicedSprite target, Vector2 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.dimensions, x => target.dimensions = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+ /// Tweens a SlicedSprite's dimensions to the given value.
+ /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleDimensionsX(this tk2dSlicedSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.dimensions, x => target.dimensions = x, new Vector2(endValue, 0), duration);
+ t.SetOptions(AxisConstraint.X)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a SlicedSprite's dimensions to the given value.
+ /// Also stores the SlicedSprite as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleDimensionsY(this tk2dSlicedSprite target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.dimensions, x => target.dimensions = x, new Vector2(0, endValue), duration);
+ t.SetOptions(AxisConstraint.Y)
+ .SetTarget(target);
+ return t;
+ }
+
+ #endregion
+
+ #region TextMesh
+
+ /// Tweens a 2D Toolkit TextMesh's dimensions to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScale(this tk2dTextMesh target, Vector3 endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+ /// Tweens a 2D Toolkit TextMesh's dimensions to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleX(this tk2dTextMesh target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(endValue, 0, 0), duration);
+ t.SetOptions(AxisConstraint.X)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a 2D Toolkit TextMesh's dimensions to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleY(this tk2dTextMesh target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(0, endValue, 0), duration);
+ t.SetOptions(AxisConstraint.Y)
+ .SetTarget(target);
+ return t;
+ }
+ /// Tweens a 2D Toolkit TextMesh's dimensions to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOScaleZ(this tk2dTextMesh target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.scale, x => target.scale = x, new Vector3(0, 0, endValue), duration);
+ t.SetOptions(AxisConstraint.Z)
+ .SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit TextMesh's color to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOColor(this tk2dTextMesh target, Color endValue, float duration)
+ {
+ TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit TextMesh's alpha color to the given value.
+ /// Also stores the TextMesh as the tween's target so it can be used for filtered operations
+ /// The end value to reachThe duration of the tween
+ public static TweenerCore DOFade(this tk2dTextMesh target, float endValue, float duration)
+ {
+ TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration);
+ t.SetTarget(target);
+ return t;
+ }
+
+ /// Tweens a 2D Toolkit TextMesh's color using the given gradient
+ /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
+ /// Also stores the image as the tween's target so it can be used for filtered operations
+ /// The gradient to useThe duration of the tween
+ public static Sequence DOGradientColor(this tk2dTextMesh target, Gradient gradient, float duration)
+ {
+ Sequence s = DOTween.Sequence();
+ GradientColorKey[] colors = gradient.colorKeys;
+ int len = colors.Length;
+ for (int i = 0; i < len; ++i) {
+ GradientColorKey c = colors[i];
+ if (i == 0 && c.time <= 0) {
+ target.color = c.color;
+ continue;
+ }
+ float colorDuration = i == len - 1
+ ? duration - s.Duration(false) // Verifies that total duration is correct
+ : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
+ s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
+ }
+ return s;
+ }
+
+ /// Tweens a tk2dTextMesh's text to the given value.
+ /// Also stores the tk2dTextMesh as the tween's target so it can be used for filtered operations
+ /// The end string to tween toThe duration of the tween
+ /// If TRUE (default), rich text will be interpreted correctly while animated,
+ /// otherwise all tags will be considered as normal text
+ /// The type of scramble mode to use, if any
+ /// A string containing the characters to use for scrambling.
+ /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters.
+ /// Leave it to NULL (default) to use default ones
+ public static TweenerCore DOText(this tk2dTextMesh target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null)
+ {
+ TweenerCore t = DOTween.To(() => target.text, x => target.text = x, endValue, duration);
+ t.SetOptions(richTextEnabled, scrambleMode, scrambleChars)
+ .SetTarget(target);
+ return t;
+ }
+
+ #endregion
+ }
+}
+#endif
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs.addon.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs.addon.meta
new file mode 100644
index 0000000..68cd794
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs.addon.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6ec99626716d95c4ba56a6d6f9dec583
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs.meta
new file mode 100644
index 0000000..d9c7902
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/DOTweenTk2d.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b590cd7c24ffa5d4faa5b6fa993cccad
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor.meta
new file mode 100644
index 0000000..41df57d
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 28e8461ca32a2714bb02d855fd4efd0c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenAnimationInspector.cs b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenAnimationInspector.cs
new file mode 100644
index 0000000..dde83c9
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenAnimationInspector.cs
@@ -0,0 +1,745 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/03/12 16:03
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using DG.DemiEditor;
+using DG.DOTweenEditor.Core;
+using DG.DOTweenEditor.UI;
+using DG.Tweening;
+using DG.Tweening.Core;
+using UnityEditor;
+using UnityEngine;
+using DOTweenSettings = DG.Tweening.Core.DOTweenSettings;
+#if true // UI_MARKER
+using UnityEngine.UI;
+#endif
+#if false // TEXTMESHPRO_MARKER
+ using TMPro;
+#endif
+
+namespace DG.DOTweenEditor
+{
+ [CustomEditor(typeof(DOTweenAnimation))]
+ public class DOTweenAnimationInspector : ABSAnimationInspector
+ {
+ enum FadeTargetType
+ {
+ CanvasGroup,
+ Image
+ }
+
+ enum ChooseTargetMode
+ {
+ None,
+ BetweenCanvasGroupAndImage
+ }
+
+ static readonly Dictionary _AnimationTypeToComponent = new Dictionary() {
+ { DOTweenAnimation.AnimationType.Move, new[] {
+#if true // PHYSICS_MARKER
+ typeof(Rigidbody),
+#endif
+#if true // PHYSICS2D_MARKER
+ typeof(Rigidbody2D),
+#endif
+#if true // UI_MARKER
+ typeof(RectTransform),
+#endif
+ typeof(Transform)
+ }},
+ { DOTweenAnimation.AnimationType.Rotate, new[] {
+#if true // PHYSICS_MARKER
+ typeof(Rigidbody),
+#endif
+#if true // PHYSICS2D_MARKER
+ typeof(Rigidbody2D),
+#endif
+ typeof(Transform)
+ }},
+ { DOTweenAnimation.AnimationType.LocalMove, new[] { typeof(Transform) } },
+ { DOTweenAnimation.AnimationType.LocalRotate, new[] { typeof(Transform) } },
+ { DOTweenAnimation.AnimationType.Scale, new[] { typeof(Transform) } },
+ { DOTweenAnimation.AnimationType.Color, new[] {
+ typeof(Light),
+#if true // SPRITE_MARKER
+ typeof(SpriteRenderer),
+#endif
+#if true // UI_MARKER
+ typeof(Image), typeof(Text), typeof(RawImage),
+#endif
+ typeof(Renderer),
+ }},
+ { DOTweenAnimation.AnimationType.Fade, new[] {
+ typeof(Light),
+#if true // SPRITE_MARKER
+ typeof(SpriteRenderer),
+#endif
+#if true // UI_MARKER
+ typeof(Image), typeof(Text), typeof(CanvasGroup), typeof(RawImage),
+#endif
+ typeof(Renderer),
+ }},
+#if true // UI_MARKER
+ { DOTweenAnimation.AnimationType.Text, new[] { typeof(Text) } },
+#endif
+ { DOTweenAnimation.AnimationType.PunchPosition, new[] {
+#if true // UI_MARKER
+ typeof(RectTransform),
+#endif
+ typeof(Transform)
+ }},
+ { DOTweenAnimation.AnimationType.PunchRotation, new[] { typeof(Transform) } },
+ { DOTweenAnimation.AnimationType.PunchScale, new[] { typeof(Transform) } },
+ { DOTweenAnimation.AnimationType.ShakePosition, new[] {
+#if true // UI_MARKER
+ typeof(RectTransform),
+#endif
+ typeof(Transform)
+ }},
+ { DOTweenAnimation.AnimationType.ShakeRotation, new[] { typeof(Transform) } },
+ { DOTweenAnimation.AnimationType.ShakeScale, new[] { typeof(Transform) } },
+ { DOTweenAnimation.AnimationType.CameraAspect, new[] { typeof(Camera) } },
+ { DOTweenAnimation.AnimationType.CameraBackgroundColor, new[] { typeof(Camera) } },
+ { DOTweenAnimation.AnimationType.CameraFieldOfView, new[] { typeof(Camera) } },
+ { DOTweenAnimation.AnimationType.CameraOrthoSize, new[] { typeof(Camera) } },
+ { DOTweenAnimation.AnimationType.CameraPixelRect, new[] { typeof(Camera) } },
+ { DOTweenAnimation.AnimationType.CameraRect, new[] { typeof(Camera) } },
+#if true // UI_MARKER
+ { DOTweenAnimation.AnimationType.UIWidthHeight, new[] { typeof(RectTransform) } },
+#endif
+ };
+
+#if false // TK2D_MARKER
+ static readonly Dictionary _Tk2dAnimationTypeToComponent = new Dictionary() {
+ { DOTweenAnimation.AnimationType.Scale, new[] { typeof(tk2dBaseSprite), typeof(tk2dTextMesh) } },
+ { DOTweenAnimation.AnimationType.Color, new[] { typeof(tk2dBaseSprite), typeof(tk2dTextMesh) } },
+ { DOTweenAnimation.AnimationType.Fade, new[] { typeof(tk2dBaseSprite), typeof(tk2dTextMesh) } },
+ { DOTweenAnimation.AnimationType.Text, new[] { typeof(tk2dTextMesh) } }
+ };
+#endif
+#if false // TEXTMESHPRO_MARKER
+ static readonly Dictionary _TMPAnimationTypeToComponent = new Dictionary() {
+ { DOTweenAnimation.AnimationType.Color, new[] { typeof(TextMeshPro), typeof(TextMeshProUGUI) } },
+ { DOTweenAnimation.AnimationType.Fade, new[] { typeof(TextMeshPro), typeof(TextMeshProUGUI) } },
+ { DOTweenAnimation.AnimationType.Text, new[] { typeof(TextMeshPro), typeof(TextMeshProUGUI) } }
+ };
+#endif
+
+ static readonly string[] _AnimationType = new[] {
+ "None",
+ "Move", "LocalMove",
+ "Rotate", "LocalRotate",
+ "Scale",
+ "Color", "Fade",
+#if true // UI_MARKER
+ "Text",
+#endif
+#if false // TK2D_MARKER
+ "Text",
+#endif
+#if false // TEXTMESHPRO_MARKER
+ "Text",
+#endif
+#if true // UI_MARKER
+ "UIWidthHeight",
+#endif
+ "Punch/Position", "Punch/Rotation", "Punch/Scale",
+ "Shake/Position", "Shake/Rotation", "Shake/Scale",
+ "Camera/Aspect", "Camera/BackgroundColor", "Camera/FieldOfView", "Camera/OrthoSize", "Camera/PixelRect", "Camera/Rect"
+ };
+ static string[] _animationTypeNoSlashes; // _AnimationType list without slashes in values
+ static string[] _datString; // String representation of DOTweenAnimation enum (here for caching reasons)
+
+ DOTweenAnimation _src;
+ DOTweenSettings _settings;
+ bool _runtimeEditMode; // If TRUE allows to change and save stuff at runtime
+ bool _refreshRequired; // If TRUE refreshes components data
+ int _totComponentsOnSrc; // Used to determine if a Component is added or removed from the source
+ bool _isLightSrc; // Used to determine if we're tweening a Light, to set the max Fade value to more than 1
+#pragma warning disable 414
+ ChooseTargetMode _chooseTargetMode = ChooseTargetMode.None;
+#pragma warning restore 414
+
+ static readonly GUIContent _GuiC_selfTarget_true = new GUIContent(
+ "SELF", "Will animate components on this gameObject"
+ );
+ static readonly GUIContent _GuiC_selfTarget_false = new GUIContent(
+ "OTHER", "Will animate components on the given gameObject instead than on this one"
+ );
+ static readonly GUIContent _GuiC_tweenTargetIsTargetGO_true = new GUIContent(
+ "Use As Tween Target", "Will set the tween target (via SetTarget, used to control a tween directly from a target) to the \"OTHER\" gameObject"
+ );
+ static readonly GUIContent _GuiC_tweenTargetIsTargetGO_false = new GUIContent(
+ "Use As Tween Target", "Will set the tween target (via SetTarget, used to control a tween directly from a target) to the gameObject containing this animation, not the \"OTHER\" one"
+ );
+
+ #region MonoBehaviour Methods
+
+ void OnEnable()
+ {
+ _src = target as DOTweenAnimation;
+ _settings = DOTweenUtilityWindow.GetDOTweenSettings();
+
+ onStartProperty = base.serializedObject.FindProperty("onStart");
+ onPlayProperty = base.serializedObject.FindProperty("onPlay");
+ onUpdateProperty = base.serializedObject.FindProperty("onUpdate");
+ onStepCompleteProperty = base.serializedObject.FindProperty("onStepComplete");
+ onCompleteProperty = base.serializedObject.FindProperty("onComplete");
+ onRewindProperty = base.serializedObject.FindProperty("onRewind");
+ onTweenCreatedProperty = base.serializedObject.FindProperty("onTweenCreated");
+
+ // Convert _AnimationType to _animationTypeNoSlashes
+ int len = _AnimationType.Length;
+ _animationTypeNoSlashes = new string[len];
+ for (int i = 0; i < len; ++i) {
+ string a = _AnimationType[i];
+ a = a.Replace("/", "");
+ _animationTypeNoSlashes[i] = a;
+ }
+ }
+
+ void OnDisable()
+ {
+ DOTweenPreviewManager.StopAllPreviews();
+ }
+
+ override public void OnInspectorGUI()
+ {
+ base.OnInspectorGUI();
+
+ GUILayout.Space(3);
+ EditorGUIUtils.SetGUIStyles();
+
+ bool playMode = Application.isPlaying;
+ _runtimeEditMode = _runtimeEditMode && playMode;
+
+ GUILayout.BeginHorizontal();
+ EditorGUIUtils.InspectorLogo();
+ GUILayout.Label(_src.animationType.ToString() + (string.IsNullOrEmpty(_src.id) ? "" : " [" + _src.id + "]"), EditorGUIUtils.sideLogoIconBoldLabelStyle);
+ // Up-down buttons
+ GUILayout.FlexibleSpace();
+ if (GUILayout.Button("▲", DeGUI.styles.button.toolIco)) UnityEditorInternal.ComponentUtility.MoveComponentUp(_src);
+ if (GUILayout.Button("▼", DeGUI.styles.button.toolIco)) UnityEditorInternal.ComponentUtility.MoveComponentDown(_src);
+ GUILayout.EndHorizontal();
+
+ if (playMode) {
+ if (_runtimeEditMode) {
+
+ } else {
+ GUILayout.Space(8);
+ GUILayout.Label("Animation Editor disabled while in play mode", EditorGUIUtils.wordWrapLabelStyle);
+ if (!_src.isActive) {
+ GUILayout.Label("This animation has been toggled as inactive and won't be generated", EditorGUIUtils.wordWrapLabelStyle);
+ GUI.enabled = false;
+ }
+ if (GUILayout.Button(new GUIContent("Activate Edit Mode", "Switches to Runtime Edit Mode, where you can change animations values and restart them"))) {
+ _runtimeEditMode = true;
+ }
+ GUILayout.Label("NOTE: when using DOPlayNext, the sequence is determined by the DOTweenAnimation Components order in the target GameObject's Inspector", EditorGUIUtils.wordWrapLabelStyle);
+ GUILayout.Space(10);
+ if (!_runtimeEditMode) return;
+ }
+ }
+
+ Undo.RecordObject(_src, "DOTween Animation");
+ Undo.RecordObject(_settings, "DOTween Animation");
+
+// _src.isValid = Validate(); // Moved down
+
+ EditorGUIUtility.labelWidth = 110;
+
+ if (playMode) {
+ GUILayout.Space(4);
+ DeGUILayout.Toolbar("Edit Mode Commands");
+ DeGUILayout.BeginVBox(DeGUI.styles.box.stickyTop);
+ GUILayout.BeginHorizontal();
+ if (GUILayout.Button("TogglePause")) _src.tween.TogglePause();
+ if (GUILayout.Button("Rewind")) _src.tween.Rewind();
+ if (GUILayout.Button("Restart")) _src.tween.Restart();
+ GUILayout.EndHorizontal();
+ if (GUILayout.Button("Commit changes and restart")) {
+ _src.tween.Rewind();
+ _src.tween.Kill();
+ if (_src.isValid) {
+ _src.CreateTween();
+ _src.tween.Play();
+ }
+ }
+ GUILayout.Label("To apply your changes when exiting Play mode, use the Component's upper right menu and choose \"Copy Component\", then \"Paste Component Values\" after exiting Play mode", DeGUI.styles.label.wordwrap);
+ DeGUILayout.EndVBox();
+ } else {
+ GUILayout.BeginHorizontal();
+ bool hasManager = _src.GetComponent() != null;
+ EditorGUI.BeginChangeCheck();
+ _settings.showPreviewPanel = hasManager
+ ? DeGUILayout.ToggleButton(_settings.showPreviewPanel, "Preview Controls", styles.custom.inlineToggle)
+ : DeGUILayout.ToggleButton(_settings.showPreviewPanel, "Preview Controls", styles.custom.inlineToggle, GUILayout.Width(120));
+ if (EditorGUI.EndChangeCheck()) {
+ EditorUtility.SetDirty(_settings);
+ DOTweenPreviewManager.StopAllPreviews();
+ }
+ if (!hasManager) {
+ if (GUILayout.Button(new GUIContent("Add Manager", "Adds a manager component which allows you to choose additional options for this gameObject"))) {
+ _src.gameObject.AddComponent();
+ }
+ }
+ GUILayout.EndHorizontal();
+ }
+
+ // Preview in editor
+ bool isPreviewing = _settings.showPreviewPanel ? DOTweenPreviewManager.PreviewGUI(_src) : false;
+
+ EditorGUI.BeginDisabledGroup(isPreviewing);
+ // Choose target
+ GUILayout.BeginHorizontal();
+ _src.isActive = EditorGUILayout.Toggle(new GUIContent("", "If unchecked, this animation will not be created"), _src.isActive, GUILayout.Width(14));
+ EditorGUI.BeginChangeCheck();
+ EditorGUI.BeginChangeCheck();
+ _src.targetIsSelf = DeGUILayout.ToggleButton(
+ _src.targetIsSelf, _src.targetIsSelf ? _GuiC_selfTarget_true : _GuiC_selfTarget_false,
+ new Color(1f, 0.78f, 0f), DeGUI.colors.bg.toggleOn, new Color(0.33f, 0.14f, 0.02f), DeGUI.colors.content.toggleOn,
+ null, GUILayout.Width(47)
+ );
+ bool innerChanged = EditorGUI.EndChangeCheck();
+ if (innerChanged) {
+ _src.targetGO = null;
+ GUI.changed = true;
+ }
+ if (_src.targetIsSelf) GUILayout.Label(_GuiC_selfTarget_true.tooltip);
+ else {
+ using (new DeGUI.ColorScope(null, null, _src.targetGO == null ? Color.red : Color.white)) {
+ _src.targetGO = (GameObject)EditorGUILayout.ObjectField(_src.targetGO, typeof(GameObject), true);
+ }
+ _src.tweenTargetIsTargetGO = DeGUILayout.ToggleButton(
+ _src.tweenTargetIsTargetGO, _src.tweenTargetIsTargetGO ? _GuiC_tweenTargetIsTargetGO_true : _GuiC_tweenTargetIsTargetGO_false,
+ GUILayout.Width(131)
+ );
+ }
+ bool check = EditorGUI.EndChangeCheck();
+ if (check) _refreshRequired = true;
+ GUILayout.EndHorizontal();
+
+ GameObject targetGO = _src.targetIsSelf ? _src.gameObject : _src.targetGO;
+
+ if (targetGO == null) {
+ // Uses external target gameObject but it's not set
+ if (_src.targetGO != null || _src.target != null) {
+ _src.targetGO = null;
+ _src.target = null;
+ GUI.changed = true;
+ }
+ } else {
+ GUILayout.BeginHorizontal();
+ DOTweenAnimation.AnimationType prevAnimType = _src.animationType;
+// _src.animationType = (DOTweenAnimation.AnimationType)EditorGUILayout.EnumPopup(_src.animationType, EditorGUIUtils.popupButton);
+ GUI.enabled = GUI.enabled && _src.isActive;
+ _src.animationType = AnimationToDOTweenAnimationType(_AnimationType[EditorGUILayout.Popup(DOTweenAnimationTypeToPopupId(_src.animationType), _AnimationType)]);
+ _src.autoPlay = DeGUILayout.ToggleButton(_src.autoPlay, new GUIContent("AutoPlay", "If selected, the tween will play automatically"));
+ _src.autoKill = DeGUILayout.ToggleButton(_src.autoKill, new GUIContent("AutoKill", "If selected, the tween will be killed when it completes, and won't be reusable"));
+ GUILayout.EndHorizontal();
+ if (prevAnimType != _src.animationType) {
+ // Set default optional values based on animation type
+ _src.endValueTransform = null;
+ _src.useTargetAsV3 = false;
+ switch (_src.animationType) {
+ case DOTweenAnimation.AnimationType.Move:
+ case DOTweenAnimation.AnimationType.LocalMove:
+ case DOTweenAnimation.AnimationType.Rotate:
+ case DOTweenAnimation.AnimationType.LocalRotate:
+ case DOTweenAnimation.AnimationType.Scale:
+ _src.endValueV3 = Vector3.zero;
+ _src.endValueFloat = 0;
+ _src.optionalBool0 = _src.animationType == DOTweenAnimation.AnimationType.Scale;
+ break;
+ case DOTweenAnimation.AnimationType.UIWidthHeight:
+ _src.endValueV3 = Vector3.zero;
+ _src.endValueFloat = 0;
+ _src.optionalBool0 = _src.animationType == DOTweenAnimation.AnimationType.UIWidthHeight;
+ break;
+ case DOTweenAnimation.AnimationType.Color:
+ case DOTweenAnimation.AnimationType.Fade:
+ _isLightSrc = targetGO.GetComponent() != null;
+ _src.endValueFloat = 0;
+ break;
+ case DOTweenAnimation.AnimationType.Text:
+ _src.optionalBool0 = true;
+ break;
+ case DOTweenAnimation.AnimationType.PunchPosition:
+ case DOTweenAnimation.AnimationType.PunchRotation:
+ case DOTweenAnimation.AnimationType.PunchScale:
+ _src.endValueV3 = _src.animationType == DOTweenAnimation.AnimationType.PunchRotation ? new Vector3(0, 180, 0) : Vector3.one;
+ _src.optionalFloat0 = 1;
+ _src.optionalInt0 = 10;
+ _src.optionalBool0 = false;
+ break;
+ case DOTweenAnimation.AnimationType.ShakePosition:
+ case DOTweenAnimation.AnimationType.ShakeRotation:
+ case DOTweenAnimation.AnimationType.ShakeScale:
+ _src.endValueV3 = _src.animationType == DOTweenAnimation.AnimationType.ShakeRotation ? new Vector3(90, 90, 90) : Vector3.one;
+ _src.optionalInt0 = 10;
+ _src.optionalFloat0 = 90;
+ _src.optionalBool0 = false;
+ break;
+ case DOTweenAnimation.AnimationType.CameraAspect:
+ case DOTweenAnimation.AnimationType.CameraFieldOfView:
+ case DOTweenAnimation.AnimationType.CameraOrthoSize:
+ _src.endValueFloat = 0;
+ break;
+ case DOTweenAnimation.AnimationType.CameraPixelRect:
+ case DOTweenAnimation.AnimationType.CameraRect:
+ _src.endValueRect = new Rect(0, 0, 0, 0);
+ break;
+ }
+ }
+ if (_src.animationType == DOTweenAnimation.AnimationType.None) {
+ _src.isValid = false;
+ if (GUI.changed) EditorUtility.SetDirty(_src);
+ return;
+ }
+
+ if (_refreshRequired || prevAnimType != _src.animationType || ComponentsChanged()) {
+ _refreshRequired = false;
+ _src.isValid = Validate(targetGO);
+ // See if we need to choose between multiple targets
+#if true // UI_MARKER
+ if (_src.animationType == DOTweenAnimation.AnimationType.Fade && targetGO.GetComponent() != null && targetGO.GetComponent() != null) {
+ _chooseTargetMode = ChooseTargetMode.BetweenCanvasGroupAndImage;
+ // Reassign target and forcedTargetType if lost
+ if (_src.forcedTargetType == DOTweenAnimation.TargetType.Unset) _src.forcedTargetType = _src.targetType;
+ switch (_src.forcedTargetType) {
+ case DOTweenAnimation.TargetType.CanvasGroup:
+ _src.target = targetGO.GetComponent();
+ break;
+ case DOTweenAnimation.TargetType.Image:
+ _src.target = targetGO.GetComponent();
+ break;
+ }
+ } else {
+#endif
+ _chooseTargetMode = ChooseTargetMode.None;
+ _src.forcedTargetType = DOTweenAnimation.TargetType.Unset;
+#if true // UI_MARKER
+ }
+#endif
+ }
+
+ if (!_src.isValid) {
+ GUI.color = Color.red;
+ GUILayout.BeginVertical(GUI.skin.box);
+ GUILayout.Label("No valid Component was found for the selected animation", EditorGUIUtils.wordWrapLabelStyle);
+ GUILayout.EndVertical();
+ GUI.color = Color.white;
+ if (GUI.changed) EditorUtility.SetDirty(_src);
+ return;
+ }
+
+#if true // UI_MARKER
+ // Special cases in which multiple target types could be used (set after validation)
+ if (_chooseTargetMode == ChooseTargetMode.BetweenCanvasGroupAndImage && _src.forcedTargetType != DOTweenAnimation.TargetType.Unset) {
+ FadeTargetType fadeTargetType = (FadeTargetType)Enum.Parse(typeof(FadeTargetType), _src.forcedTargetType.ToString());
+ DOTweenAnimation.TargetType prevTargetType = _src.forcedTargetType;
+ _src.forcedTargetType = (DOTweenAnimation.TargetType)Enum.Parse(typeof(DOTweenAnimation.TargetType), EditorGUILayout.EnumPopup(_src.animationType + " Target", fadeTargetType).ToString());
+ if (_src.forcedTargetType != prevTargetType) {
+ // Target type change > assign correct target
+ switch (_src.forcedTargetType) {
+ case DOTweenAnimation.TargetType.CanvasGroup:
+ _src.target = targetGO.GetComponent();
+ break;
+ case DOTweenAnimation.TargetType.Image:
+ _src.target = targetGO.GetComponent();
+ break;
+ }
+ }
+ }
+#endif
+
+ GUILayout.BeginHorizontal();
+ _src.duration = EditorGUILayout.FloatField("Duration", _src.duration);
+ if (_src.duration < 0) _src.duration = 0;
+ _src.isSpeedBased = DeGUILayout.ToggleButton(_src.isSpeedBased, new GUIContent("SpeedBased", "If selected, the duration will count as units/degree x second"), DeGUI.styles.button.tool, GUILayout.Width(75));
+ GUILayout.EndHorizontal();
+ _src.delay = EditorGUILayout.FloatField("Delay", _src.delay);
+ if (_src.delay < 0) _src.delay = 0;
+ _src.isIndependentUpdate = EditorGUILayout.Toggle("Ignore TimeScale", _src.isIndependentUpdate);
+ _src.easeType = EditorGUIUtils.FilteredEasePopup(_src.easeType);
+ if (_src.easeType == Ease.INTERNAL_Custom) {
+ _src.easeCurve = EditorGUILayout.CurveField(" Ease Curve", _src.easeCurve);
+ }
+ _src.loops = EditorGUILayout.IntField(new GUIContent("Loops", "Set to -1 for infinite loops"), _src.loops);
+ if (_src.loops < -1) _src.loops = -1;
+ if (_src.loops > 1 || _src.loops == -1)
+ _src.loopType = (LoopType)EditorGUILayout.EnumPopup(" Loop Type", _src.loopType);
+ _src.id = EditorGUILayout.TextField("ID", _src.id);
+
+ bool canBeRelative = true;
+ // End value and eventual specific options
+ switch (_src.animationType) {
+ case DOTweenAnimation.AnimationType.Move:
+ case DOTweenAnimation.AnimationType.LocalMove:
+ GUIEndValueV3(targetGO, _src.animationType == DOTweenAnimation.AnimationType.Move);
+ _src.optionalBool0 = EditorGUILayout.Toggle(" Snapping", _src.optionalBool0);
+ canBeRelative = !_src.useTargetAsV3;
+ break;
+ case DOTweenAnimation.AnimationType.Rotate:
+ case DOTweenAnimation.AnimationType.LocalRotate:
+ bool isRigidbody2D = DOTweenModuleUtils.Physics.HasRigidbody2D(_src);
+ if (isRigidbody2D) GUIEndValueFloat();
+ else {
+ GUIEndValueV3(targetGO);
+ _src.optionalRotationMode = (RotateMode)EditorGUILayout.EnumPopup(" Rotation Mode", _src.optionalRotationMode);
+ }
+ break;
+ case DOTweenAnimation.AnimationType.Scale:
+ if (_src.optionalBool0) GUIEndValueFloat();
+ else GUIEndValueV3(targetGO);
+ _src.optionalBool0 = EditorGUILayout.Toggle("Uniform Scale", _src.optionalBool0);
+ break;
+ case DOTweenAnimation.AnimationType.UIWidthHeight:
+ if (_src.optionalBool0) GUIEndValueFloat();
+ else GUIEndValueV2();
+ _src.optionalBool0 = EditorGUILayout.Toggle("Uniform Scale", _src.optionalBool0);
+ break;
+ case DOTweenAnimation.AnimationType.Color:
+ GUIEndValueColor();
+ canBeRelative = false;
+ break;
+ case DOTweenAnimation.AnimationType.Fade:
+ GUIEndValueFloat();
+ if (_src.endValueFloat < 0) _src.endValueFloat = 0;
+ if (!_isLightSrc && _src.endValueFloat > 1) _src.endValueFloat = 1;
+ canBeRelative = false;
+ break;
+ case DOTweenAnimation.AnimationType.Text:
+ GUIEndValueString();
+ _src.optionalBool0 = EditorGUILayout.Toggle("Rich Text Enabled", _src.optionalBool0);
+ _src.optionalScrambleMode = (ScrambleMode)EditorGUILayout.EnumPopup("Scramble Mode", _src.optionalScrambleMode);
+ _src.optionalString = EditorGUILayout.TextField(new GUIContent("Custom Scramble", "Custom characters to use in case of ScrambleMode.Custom"), _src.optionalString);
+ break;
+ case DOTweenAnimation.AnimationType.PunchPosition:
+ case DOTweenAnimation.AnimationType.PunchRotation:
+ case DOTweenAnimation.AnimationType.PunchScale:
+ GUIEndValueV3(targetGO);
+ canBeRelative = false;
+ _src.optionalInt0 = EditorGUILayout.IntSlider(new GUIContent(" Vibrato", "How much will the punch vibrate"), _src.optionalInt0, 1, 50);
+ _src.optionalFloat0 = EditorGUILayout.Slider(new GUIContent(" Elasticity", "How much the vector will go beyond the starting position when bouncing backwards"), _src.optionalFloat0, 0, 1);
+ if (_src.animationType == DOTweenAnimation.AnimationType.PunchPosition) _src.optionalBool0 = EditorGUILayout.Toggle(" Snapping", _src.optionalBool0);
+ break;
+ case DOTweenAnimation.AnimationType.ShakePosition:
+ case DOTweenAnimation.AnimationType.ShakeRotation:
+ case DOTweenAnimation.AnimationType.ShakeScale:
+ GUIEndValueV3(targetGO);
+ canBeRelative = false;
+ _src.optionalInt0 = EditorGUILayout.IntSlider(new GUIContent(" Vibrato", "How much will the shake vibrate"), _src.optionalInt0, 1, 50);
+ _src.optionalFloat0 = EditorGUILayout.Slider(new GUIContent(" Randomness", "The shake randomness"), _src.optionalFloat0, 0, 90);
+ if (_src.animationType == DOTweenAnimation.AnimationType.ShakePosition) _src.optionalBool0 = EditorGUILayout.Toggle(" Snapping", _src.optionalBool0);
+ break;
+ case DOTweenAnimation.AnimationType.CameraAspect:
+ case DOTweenAnimation.AnimationType.CameraFieldOfView:
+ case DOTweenAnimation.AnimationType.CameraOrthoSize:
+ GUIEndValueFloat();
+ canBeRelative = false;
+ break;
+ case DOTweenAnimation.AnimationType.CameraBackgroundColor:
+ GUIEndValueColor();
+ canBeRelative = false;
+ break;
+ case DOTweenAnimation.AnimationType.CameraPixelRect:
+ case DOTweenAnimation.AnimationType.CameraRect:
+ GUIEndValueRect();
+ canBeRelative = false;
+ break;
+ }
+
+ // Final settings
+ if (canBeRelative) _src.isRelative = EditorGUILayout.Toggle(" Relative", _src.isRelative);
+
+ // Events
+ AnimationInspectorGUI.AnimationEvents(this, _src);
+ }
+ EditorGUI.EndDisabledGroup();
+
+ if (GUI.changed) EditorUtility.SetDirty(_src);
+ }
+
+ #endregion
+
+ #region Methods
+
+ // Returns TRUE if the Component layout on the src gameObject changed (a Component was added or removed)
+ bool ComponentsChanged()
+ {
+ int prevTotComponentsOnSrc = _totComponentsOnSrc;
+ _totComponentsOnSrc = _src.gameObject.GetComponents().Length;
+ return prevTotComponentsOnSrc != _totComponentsOnSrc;
+ }
+
+ // Checks if a Component that can be animated with the given animationType is attached to the src
+ bool Validate(GameObject targetGO)
+ {
+ if (_src.animationType == DOTweenAnimation.AnimationType.None) return false;
+
+ Component srcTarget;
+ // First check for external plugins
+#if false // TK2D_MARKER
+ if (_Tk2dAnimationTypeToComponent.ContainsKey(_src.animationType)) {
+ foreach (Type t in _Tk2dAnimationTypeToComponent[_src.animationType]) {
+ srcTarget = targetGO.GetComponent(t);
+ if (srcTarget != null) {
+ _src.target = srcTarget;
+ _src.targetType = DOTweenAnimation.TypeToDOTargetType(t);
+ return true;
+ }
+ }
+ }
+#endif
+#if false // TEXTMESHPRO_MARKER
+ if (_TMPAnimationTypeToComponent.ContainsKey(_src.animationType)) {
+ foreach (Type t in _TMPAnimationTypeToComponent[_src.animationType]) {
+ srcTarget = targetGO.GetComponent(t);
+ if (srcTarget != null) {
+ _src.target = srcTarget;
+ _src.targetType = DOTweenAnimation.TypeToDOTargetType(t);
+ return true;
+ }
+ }
+ }
+#endif
+ // Then check for regular stuff
+ if (_AnimationTypeToComponent.ContainsKey(_src.animationType)) {
+ foreach (Type t in _AnimationTypeToComponent[_src.animationType]) {
+ srcTarget = targetGO.GetComponent(t);
+ if (srcTarget != null) {
+ _src.target = srcTarget;
+ _src.targetType = DOTweenAnimation.TypeToDOTargetType(t);
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ DOTweenAnimation.AnimationType AnimationToDOTweenAnimationType(string animation)
+ {
+ if (_datString == null) _datString = Enum.GetNames(typeof(DOTweenAnimation.AnimationType));
+ animation = animation.Replace("/", "");
+ return (DOTweenAnimation.AnimationType)(Array.IndexOf(_datString, animation));
+ }
+ int DOTweenAnimationTypeToPopupId(DOTweenAnimation.AnimationType animation)
+ {
+ return Array.IndexOf(_animationTypeNoSlashes, animation.ToString());
+ }
+
+ #endregion
+
+ #region GUI Draw Methods
+
+ void GUIEndValueFloat()
+ {
+ GUILayout.BeginHorizontal();
+ GUIToFromButton();
+ _src.endValueFloat = EditorGUILayout.FloatField(_src.endValueFloat);
+ GUILayout.EndHorizontal();
+ }
+
+ void GUIEndValueColor()
+ {
+ GUILayout.BeginHorizontal();
+ GUIToFromButton();
+ _src.endValueColor = EditorGUILayout.ColorField(_src.endValueColor);
+ GUILayout.EndHorizontal();
+ }
+
+ void GUIEndValueV3(GameObject targetGO, bool optionalTransform = false)
+ {
+ GUILayout.BeginHorizontal();
+ GUIToFromButton();
+ if (_src.useTargetAsV3) {
+ Transform prevT = _src.endValueTransform;
+ _src.endValueTransform = EditorGUILayout.ObjectField(_src.endValueTransform, typeof(Transform), true) as Transform;
+ if (_src.endValueTransform != prevT && _src.endValueTransform != null) {
+#if true // UI_MARKER
+ // Check that it's a Transform for a Transform or a RectTransform for a RectTransform
+ if (targetGO.GetComponent() != null) {
+ if (_src.endValueTransform.GetComponent() == null) {
+ EditorUtility.DisplayDialog("DOTween Pro", "For Unity UI elements, the target must also be a UI element", "Ok");
+ _src.endValueTransform = null;
+ }
+ } else if (_src.endValueTransform.GetComponent() != null) {
+ EditorUtility.DisplayDialog("DOTween Pro", "You can't use a UI target for a non UI object", "Ok");
+ _src.endValueTransform = null;
+ }
+#endif
+ }
+ } else {
+ _src.endValueV3 = EditorGUILayout.Vector3Field("", _src.endValueV3, GUILayout.Height(16));
+ }
+ if (optionalTransform) {
+ if (GUILayout.Button(_src.useTargetAsV3 ? "target" : "value", EditorGUIUtils.sideBtStyle, GUILayout.Width(44))) _src.useTargetAsV3 = !_src.useTargetAsV3;
+ }
+ GUILayout.EndHorizontal();
+#if true // UI_MARKER
+ if (_src.useTargetAsV3 && _src.endValueTransform != null && _src.target is RectTransform) {
+ EditorGUILayout.HelpBox("NOTE: when using a UI target, the tween will be created during Start instead of Awake", MessageType.Info);
+ }
+#endif
+ }
+
+ void GUIEndValueV2()
+ {
+ GUILayout.BeginHorizontal();
+ GUIToFromButton();
+ _src.endValueV2 = EditorGUILayout.Vector2Field("", _src.endValueV2, GUILayout.Height(16));
+ GUILayout.EndHorizontal();
+ }
+
+ void GUIEndValueString()
+ {
+ GUILayout.BeginHorizontal();
+ GUIToFromButton();
+ _src.endValueString = EditorGUILayout.TextArea(_src.endValueString, EditorGUIUtils.wordWrapTextArea);
+ GUILayout.EndHorizontal();
+ }
+
+ void GUIEndValueRect()
+ {
+ GUILayout.BeginHorizontal();
+ GUIToFromButton();
+ _src.endValueRect = EditorGUILayout.RectField(_src.endValueRect);
+ GUILayout.EndHorizontal();
+ }
+
+ void GUIToFromButton()
+ {
+ if (GUILayout.Button(_src.isFrom ? "FROM" : "TO", EditorGUIUtils.sideBtStyle, GUILayout.Width(90))) _src.isFrom = !_src.isFrom;
+ GUILayout.Space(16);
+ }
+
+ #endregion
+ }
+
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+
+ [InitializeOnLoad]
+ static class Initializer
+ {
+ static Initializer()
+ {
+ DOTweenAnimation.OnReset += OnReset;
+ }
+
+ static void OnReset(DOTweenAnimation src)
+ {
+ DOTweenSettings settings = DOTweenUtilityWindow.GetDOTweenSettings();
+ if (settings == null) return;
+
+ Undo.RecordObject(src, "DOTweenAnimation");
+ src.autoPlay = settings.defaultAutoPlay == AutoPlay.All || settings.defaultAutoPlay == AutoPlay.AutoPlayTweeners;
+ src.autoKill = settings.defaultAutoKill;
+ EditorUtility.SetDirty(src);
+ }
+ }
+}
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenAnimationInspector.cs.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenAnimationInspector.cs.meta
new file mode 100644
index 0000000..a3905ce
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenAnimationInspector.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e0203fd81362bab4d842d87ad09ee76e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenPreviewManager.cs b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenPreviewManager.cs
new file mode 100644
index 0000000..e607979
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenPreviewManager.cs
@@ -0,0 +1,263 @@
+// Author: Daniele Giardini - http://www.demigiant.com
+// Created: 2015/03/12 16:03
+
+using System;
+using System.Collections.Generic;
+using DG.DemiEditor;
+using DG.DemiLib;
+using DG.Tweening;
+using DG.Tweening.Core;
+using UnityEditor;
+using UnityEditorInternal;
+using UnityEngine;
+using Object = UnityEngine.Object;
+
+namespace DG.DOTweenEditor
+{
+ public static class DOTweenPreviewManager
+ {
+ static bool _previewOnlyIfSetToAutoPlay = true;
+ static readonly Dictionary _AnimationToTween = new Dictionary();
+ static readonly List _TmpKeys = new List();
+
+ #region Public Methods & GUI
+
+ ///
+ /// Returns TRUE if its actually previewing animations
+ ///
+ public static bool PreviewGUI(DOTweenAnimation src)
+ {
+ if (EditorApplication.isPlaying) return false;
+
+ Styles.Init();
+
+ bool isPreviewing = _AnimationToTween.Count > 0;
+ bool isPreviewingThis = isPreviewing && _AnimationToTween.ContainsKey(src);
+
+ // Preview in editor
+ GUI.backgroundColor = isPreviewing
+ ? new DeSkinColor(new Color(0.49f, 0.8f, 0.86f), new Color(0.15f, 0.26f, 0.35f))
+ : new DeSkinColor(Color.white, new Color(0.13f, 0.13f, 0.13f));
+ GUILayout.BeginVertical(Styles.previewBox);
+ DeGUI.ResetGUIColors();
+ GUILayout.BeginHorizontal();
+ GUILayout.Label("Preview Mode - Experimental", Styles.previewLabel);
+ _previewOnlyIfSetToAutoPlay = DeGUILayout.ToggleButton(
+ _previewOnlyIfSetToAutoPlay,
+ new GUIContent("AutoPlay only", "If toggled only previews animations that have AutoPlay turned ON"),
+ Styles.btOption
+ );
+ GUILayout.EndHorizontal();
+ GUILayout.Space(1);
+ // Preview - Play
+ GUILayout.BeginHorizontal();
+ EditorGUI.BeginDisabledGroup(
+ isPreviewingThis || src.animationType == DOTweenAnimation.AnimationType.None
+ || !src.isActive || _previewOnlyIfSetToAutoPlay && !src.autoPlay
+ );
+ if (GUILayout.Button("► Play", Styles.btPreview)) {
+ if (!isPreviewing) StartupGlobalPreview();
+ AddAnimationToGlobalPreview(src);
+ }
+ EditorGUI.EndDisabledGroup();
+ EditorGUI.BeginDisabledGroup(isPreviewing);
+ if (GUILayout.Button("► Play All on GameObject", Styles.btPreview)) {
+ if (!isPreviewing) StartupGlobalPreview();
+ DOTweenAnimation[] anims = src.gameObject.GetComponents();
+ foreach (DOTweenAnimation anim in anims) AddAnimationToGlobalPreview(anim);
+ }
+ if (GUILayout.Button("► Play All in Scene", Styles.btPreview)) {
+ if (!isPreviewing) StartupGlobalPreview();
+ DOTweenAnimation[] anims = Object.FindObjectsOfType();
+ foreach (DOTweenAnimation anim in anims) AddAnimationToGlobalPreview(anim);
+ }
+ EditorGUI.EndDisabledGroup();
+ GUILayout.EndHorizontal();
+ // Preview - Stop
+ GUILayout.BeginHorizontal();
+ EditorGUI.BeginDisabledGroup(!isPreviewingThis);
+ if (GUILayout.Button("■ Stop", Styles.btPreview)) {
+ if (_AnimationToTween.ContainsKey(src)) StopPreview(_AnimationToTween[src].tween);
+ }
+ EditorGUI.EndDisabledGroup();
+ EditorGUI.BeginDisabledGroup(!isPreviewing);
+ if (GUILayout.Button("■ Stop All on GameObject", Styles.btPreview)) {
+ StopPreview(src.gameObject);
+ }
+ if (GUILayout.Button("■ Stop All in Scene", Styles.btPreview)) {
+ StopAllPreviews();
+ }
+ EditorGUI.EndDisabledGroup();
+ GUILayout.EndHorizontal();
+ if (isPreviewing) {
+ int playingTweens = 0;
+ int completedTweens = 0;
+ int pausedTweens = 0;
+ foreach (KeyValuePair kvp in _AnimationToTween) {
+ Tween t = kvp.Value.tween;
+ if (t.IsPlaying()) playingTweens++;
+ else if (t.IsComplete()) completedTweens++;
+ else pausedTweens++;
+ }
+ GUILayout.Label("Playing Tweens: " + playingTweens, Styles.previewStatusLabel);
+ GUILayout.Label("Completed Tweens: " + completedTweens, Styles.previewStatusLabel);
+// GUILayout.Label("Paused Tweens: " + playingTweens);
+ }
+ GUILayout.EndVertical();
+
+ return isPreviewing;
+ }
+
+#if !(UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5)
+ public static void StopAllPreviews(PlayModeStateChange state)
+ {
+ StopAllPreviews();
+ }
+#endif
+
+ public static void StopAllPreviews()
+ {
+ _TmpKeys.Clear();
+ foreach (KeyValuePair kvp in _AnimationToTween) {
+ _TmpKeys.Add(kvp.Key);
+ }
+ StopPreview(_TmpKeys);
+ _TmpKeys.Clear();
+ _AnimationToTween.Clear();
+
+ DOTweenEditorPreview.Stop();
+#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5
+ UnityEditor.EditorApplication.playmodeStateChanged -= StopAllPreviews;
+#else
+ UnityEditor.EditorApplication.playModeStateChanged -= StopAllPreviews;
+#endif
+// EditorApplication.playmodeStateChanged -= StopAllPreviews;
+
+ InternalEditorUtility.RepaintAllViews();
+ }
+
+#endregion
+
+#region Methods
+
+ static void StartupGlobalPreview()
+ {
+ DOTweenEditorPreview.Start();
+#if UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5
+ UnityEditor.EditorApplication.playmodeStateChanged += StopAllPreviews;
+#else
+ UnityEditor.EditorApplication.playModeStateChanged += StopAllPreviews;
+#endif
+// EditorApplication.playmodeStateChanged += StopAllPreviews;
+ }
+
+ static void AddAnimationToGlobalPreview(DOTweenAnimation src)
+ {
+ if (!src.isActive) return; // Ignore sources whose tweens have been set to inactive
+ if (_previewOnlyIfSetToAutoPlay && !src.autoPlay) return;
+
+ Tween t = src.CreateEditorPreview();
+ _AnimationToTween.Add(src, new TweenInfo(src, t, src.isFrom));
+ // Tween setup
+ DOTweenEditorPreview.PrepareTweenForPreview(t);
+ }
+
+ static void StopPreview(GameObject go)
+ {
+ _TmpKeys.Clear();
+ foreach (KeyValuePair kvp in _AnimationToTween) {
+ if (kvp.Key.gameObject != go) continue;
+ _TmpKeys.Add(kvp.Key);
+ }
+ StopPreview(_TmpKeys);
+ _TmpKeys.Clear();
+
+ if (_AnimationToTween.Count == 0) StopAllPreviews();
+ else InternalEditorUtility.RepaintAllViews();
+ }
+
+ static void StopPreview(Tween t)
+ {
+ TweenInfo tInfo = null;
+ foreach (KeyValuePair kvp in _AnimationToTween) {
+ if (kvp.Value.tween != t) continue;
+ tInfo = kvp.Value;
+ _AnimationToTween.Remove(kvp.Key);
+ break;
+ }
+ if (tInfo == null) {
+ Debug.LogWarning("DOTween Preview ► Couldn't find tween to stop");
+ return;
+ }
+ if (tInfo.isFrom) {
+ int totLoops = tInfo.tween.Loops();
+ if (totLoops < 0 || totLoops > 1) {
+ tInfo.tween.Goto(tInfo.tween.Duration(false));
+ } else tInfo.tween.Complete();
+ } else tInfo.tween.Rewind();
+ tInfo.tween.Kill();
+ EditorUtility.SetDirty(tInfo.animation); // Refresh views
+
+ if (_AnimationToTween.Count == 0) StopAllPreviews();
+ else InternalEditorUtility.RepaintAllViews();
+ }
+
+ // Stops while iterating inversely, which deals better with tweens that overwrite each other
+ static void StopPreview(List keys)
+ {
+ for (int i = keys.Count - 1; i > -1; --i) {
+ DOTweenAnimation anim = keys[i];
+ TweenInfo tInfo = _AnimationToTween[anim];
+ if (tInfo.isFrom) {
+ int totLoops = tInfo.tween.Loops();
+ if (totLoops < 0 || totLoops > 1) {
+ tInfo.tween.Goto(tInfo.tween.Duration(false));
+ } else tInfo.tween.Complete();
+ } else tInfo.tween.Rewind();
+ tInfo.tween.Kill();
+ EditorUtility.SetDirty(anim); // Refresh views
+ _AnimationToTween.Remove(anim);
+ }
+ }
+
+#endregion
+
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+ // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
+ // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
+
+ class TweenInfo
+ {
+ public DOTweenAnimation animation;
+ public Tween tween;
+ public bool isFrom;
+ public TweenInfo(DOTweenAnimation animation, Tween tween, bool isFrom)
+ {
+ this.animation = animation;
+ this.tween = tween;
+ this.isFrom = isFrom;
+ }
+ }
+
+ static class Styles
+ {
+ static bool _initialized;
+
+ public static GUIStyle previewBox, previewLabel, btOption, btPreview, previewStatusLabel;
+
+ public static void Init()
+ {
+ if (_initialized) return;
+
+ _initialized = true;
+
+ previewBox = new GUIStyle(GUI.skin.box).Clone().Padding(1, 1, 0, 3)
+ .Background(DeStylePalette.squareBorderCurved_darkBorders).Border(7, 7, 7, 7);
+ previewLabel = new GUIStyle(GUI.skin.label).Clone(10, FontStyle.Bold).Padding(1, 0, 3, 0).Margin(3, 6, 0, 0).StretchWidth(false);
+ btOption = DeGUI.styles.button.bBlankBorderCompact.MarginBottom(2).MarginRight(4);
+ btPreview = EditorStyles.miniButton.Clone(Format.RichText);
+ previewStatusLabel = EditorStyles.miniLabel.Clone().Padding(4, 0, 0, 0).Margin(0);
+ }
+ }
+ }
+}
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenPreviewManager.cs.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenPreviewManager.cs.meta
new file mode 100644
index 0000000..1586a48
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenPreviewManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 22292a5f27a9a644ba9e6ad1bf863531
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.XML b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.XML
new file mode 100644
index 0000000..ad80aef
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.XML
@@ -0,0 +1,18 @@
+
+
+
+ DOTweenProEditor
+
+
+
+
+ Custom colors
+
+
+
+
+ Needs to be overridden in order to initialize new styles added from inherited classes
+
+
+
+
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.XML.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.XML.meta
new file mode 100644
index 0000000..5328cb8
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.XML.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 753a4f4ed73b17143923101226957756
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll
new file mode 100644
index 0000000..e0e8a0f
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll.mdb b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll.mdb
new file mode 100644
index 0000000..c18d815
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll.mdb differ
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll.mdb.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll.mdb.meta
new file mode 100644
index 0000000..dc73eda
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll.mdb.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ee3a420017f129443896310d9fab256b
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll.meta
new file mode 100644
index 0000000..c980e74
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/Editor/DOTweenProEditor.dll.meta
@@ -0,0 +1,21 @@
+fileFormatVersion: 2
+guid: a6402d4311c862b4eb1325590d6466af
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/readme.txt b/WuHu_touming/Assets/Demigiant/DOTweenPro/readme.txt
new file mode 100644
index 0000000..9837c95
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/readme.txt
@@ -0,0 +1,35 @@
+DOTween and DOTween Pro are copyright (c) 2014-2018 Daniele Giardini - Demigiant
+
+// IMPORTANT!!! /////////////////////////////////////////////
+// Upgrading DOTween from versions older than 1.2.000 ///////
+// (or DOTween Pro older than 1.0.000) //////////////////////
+-------------------------------------------------------------
+If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully.
+1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry
+2) Close and reopen Unity (and your project). This is fundamental: skipping this step will cause a bloodbath
+3) Open DOTween's Utility Panel (Tools > Demigiant > DOTween Utility Panel) if it doesn't open automatically, then press "Setup DOTween...": this will run the upgrade setup
+4) From the Add/Remove Modules panel that opens, activate/deactivate Modules for Unity systems and for external assets (like TextMesh Pro)
+
+// GET STARTED //////////////////////////////////////////////
+
+- After importing a new DOTween update, select DOTween's Utility Panel from the "Tools/Demigiant" menu (if it doesn't open automatically) and press the "Setup DOTween..." button to activate/deactivate Modules. You can also access a Preferences Tab from there to choose default settings for DOTween.
+
+// VISUAL SCRIPTING (PRO ONLY)
+- To animate a gameObject, select it and choose "Add Component > DOTween > DOTween Animation"
+- To animate a gameObject along a path, select it and choose "Add Component > DOTween > DOTween Path"
+
+// SCRIPTING
+- In your code, add "using DG.Tweening" to each class where you want to use DOTween.
+- You're ready to tween. Check out the links below for full documentation and license info.
+
+
+// LINKS ///////////////////////////////////////////////////////
+
+DOTween website (documentation, examples, etc): http://dotween.demigiant.com
+DOTween license: http://dotween.demigiant.com/license.php
+DOTween repository (Google Code): https://code.google.com/p/dotween/
+Demigiant website (documentation, examples, etc): http://www.demigiant.com
+
+// NOTES //////////////////////////////////////////////////////
+
+- DOTween's Utility Panel can be found under "Tools > Demigiant > DOTween Utility Panel" and also contains other useful options, plus a tab to set DOTween's preferences
\ No newline at end of file
diff --git a/WuHu_touming/Assets/Demigiant/DOTweenPro/readme.txt.meta b/WuHu_touming/Assets/Demigiant/DOTweenPro/readme.txt.meta
new file mode 100644
index 0000000..17911b4
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DOTweenPro/readme.txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: aa8f07903bf128e44a7d0b91a63dedab
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib.meta b/WuHu_touming/Assets/Demigiant/DemiLib.meta
new file mode 100644
index 0000000..b389ec3
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bd0a0abdc4173774ab31235f76cabda9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core.meta b/WuHu_touming/Assets/Demigiant/DemiLib/Core.meta
new file mode 100644
index 0000000..4433285
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib/Core.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f707b7f4a1581fb488bcfb232fe32fd1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll
new file mode 100644
index 0000000..5886418
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll differ
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll.mdb b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll.mdb
new file mode 100644
index 0000000..469cb99
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll.mdb differ
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll.mdb.meta b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll.mdb.meta
new file mode 100644
index 0000000..4b7d047
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll.mdb.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 995cf2d9b4a41f840b3a41712e9b3bc0
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll.meta b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll.meta
new file mode 100644
index 0000000..c99073f
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.dll.meta
@@ -0,0 +1,21 @@
+fileFormatVersion: 2
+guid: 54be29b67d0d29a478da2c6e5c62f091
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.xml b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.xml
new file mode 100644
index 0000000..932e119
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.xml
@@ -0,0 +1,183 @@
+
+
+
+ DemiLib
+
+
+
+
+ Set when calling DeGUI.BeginGUI
+
+
+
+
+ Stores a color palette, which can be passed to default DeGUI layouts when calling DeGUI.BeginGUI
,
+ and changed at any time by calling DeGUI.ChangePalette
.
+ You can inherit from this class to create custom color palettes with more hColor options.
+
+
+
+
+ Converts a HEX color to a Unity Color and returns it
+
+ The HEX color, either with or without the initial # (accepts both regular and short format)
+
+
+
+ Global colors
+
+
+
+
+ Background colors
+
+
+
+ Editor background color
+
+
+
+ Content colors
+
+
+
+
+ Various Input utils
+
+
+
+
+ Returns a number key int if a number key was pressed in this frame, or -1 otherwise
+
+
+
+
+
+ Extend this to replicate Unity's Scope system with any Unity version.
+ Thanks to Dmitriy Yukhanov for pointing this out and creating an initial version.
+ Expand this class to create scopes.
+ Example:
+ public class VBoxScope : DeScope
+ {
+ public VBoxScope(GUIStyle style)
+ {
+ BeginVBox(style);
+ }
+
+ protected override void CloseScope()
+ {
+ EndVBox();
+ }
+ }
+ Usage:
+ using (new VBoxScope(myStyle) {
+ // Do something
+ }
+
+
+
+
+ Contains both free and pro skins color variations,
+ and automatically returns the correct one when converted to Color
+
+
+
+
+ Used by DeHierarchy
+
+
+
+
+ Returns a list of all items whose gameObject is NULL, or NULL if there's no missing gameObjects.
+
+
+
+
+ If the item exists sets it, otherwise first creates it and then sets it
+
+
+
+
+ If the item exists sets it, otherwise first creates it and then sets it
+
+
+
+
+ If the item exists sets it, otherwise first creates it and then sets it
+
+
+
+
+ Returns TRUE if the item existed and was removed.
+
+
+
+
+ Returns TRUE if the item existed and was changed.
+
+
+
+
+ Returns the customizedItem for the given gameObject, or NULL if none was found
+
+
+
+ Must be univocal
+
+
+ Node position in editor GUI
+
+
+ Ids of all forward connected nodes. Length indicates how many forward connections are allowed.
+ Min length represents available connections from node.
+
+
+
+ A serializable struct including a min and a max int value
+
+
+
+ Min value
+
+
+ Max value
+
+
+
+ Creates a new Range
+
+
+
+
+ Returns a random value within this range (min/max included)
+
+
+
+
+
+
+
+ A serializable struct including a min and a max float value
+
+
+
+ Min value
+
+
+ Max value
+
+
+
+ Creates a new Range
+
+
+
+
+ Returns a random value within this range (min/max included)
+
+
+
+
+
+
+
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.xml.meta b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.xml.meta
new file mode 100644
index 0000000..2192b21
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib/Core/DemiLib.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9bf2564c9817bb34988453ae948954d2
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor.meta b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor.meta
new file mode 100644
index 0000000..c23686f
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a217383fa8813914fbdf4b828e2c4534
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll
new file mode 100644
index 0000000..04a32dd
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll differ
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll.mdb b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll.mdb
new file mode 100644
index 0000000..1c328e6
Binary files /dev/null and b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll.mdb differ
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll.mdb.meta b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll.mdb.meta
new file mode 100644
index 0000000..d7b402f
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll.mdb.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2c20a7b4db3cd0a4a99bcf6218f92860
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll.meta b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll.meta
new file mode 100644
index 0000000..75149a3
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.dll.meta
@@ -0,0 +1,21 @@
+fileFormatVersion: 2
+guid: 202f9ddaf2c1a8a429504f7f3cd7b84f
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.xml b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.xml
new file mode 100644
index 0000000..b1ef298
--- /dev/null
+++ b/WuHu_touming/Assets/Demigiant/DemiLib/Core/Editor/DemiEditor.xml
@@ -0,0 +1,1602 @@
+
+
+
+ DemiEditor
+
+
+
+
+ Utils to use he correct method based on Unity's version
+
+
+
+
+ Encodes to PNG using reflection to use correct method depending if editor is version 2017 or earlier
+
+
+
+
+ Returns the prefab parent by using different code on Unity 2018 or later
+
+
+
+
+
+
+ Starts an editor coroutine. You can't use normal yield new WaitFor
methods because
+ those are Unity runtime, but you can instead use
+
+
+
+
+ File utils
+
+
+
+ Path slash for AssetDatabase format
+
+
+ Path slash to replace for AssetDatabase format
+
+
+ Current OS path slash
+
+
+ Path slash to replace on current OS
+
+
+
+ Full path to project directory, without final slash.
+
+
+
+
+ Full path to project's Assets directory, without final slash.
+
+
+
+
+ Returns TRUE if the given path is an absolute path
+
+
+
+
+ Returns TRUE if the given path is an AssetDatabase path
+
+
+
+
+ Returns TRUE if the given GUID refers to a valid and existing project folder
+
+
+
+
+ Converts the given project-relative path to a full path
+
+
+
+
+ Converts the given full path to a project-relative path
+
+
+
+
+ Returns TRUE if the file/directory at the given path exists.
+
+ Path, relative to Unity's project folder
+
+
+
+ Validates the string as a valid fileName
+ (uses commonly accepted characters an all systems instead of system-specific ones).
+ BEWARE: doesn't check for reserved words
+
+ string to replace
+ Minimum length for considering the string valid
+
+
+
+ Returns the given string stripped of any invalid filename characters.
+ BEWARE: doesn't check for reserved words
+
+ string to replace
+ Character to use as replacement for invalid ones
+
+
+
+ Returns the given path with all slashes converted to the correct ones used by the system
+
+
+
+
+ Returns the asset path of the given GUID (relative to Unity project's folder),
+ or an empty string if either the GUID is invalid or the related path doesn't exist.
+
+
+
+
+ Checks if the given directory (full path) is empty or not
+
+
+
+
+ Deletes all files and subdirectories from the given directory
+
+
+
+ Returns the adb path to the given ScriptableObject
+
+
+ Returns the adb path to the given MonoBehaviour
+
+
+ Returns the adb directory that contains the given ScriptableObject without final slash
+
+
+ Returns the adb directory that contains the given MonoBehaviour without final slash
+
+
+
+ Returns the adb paths to the selected folders in the Project panel, or NULL if there is none.
+ Contrary to Selection.activeObject, which only returns folders selected in the right side of the panel,
+ this method also works with folders selected in the left side.
+
+
+
+
+ Sets the script execution order of the given MonoBehaviour
+
+
+
+
+ Gets the script execution order of the given MonoBehaviour
+
+
+
+
+ Precisely returns the last controlId assigned to a GUI element
+
+
+
+
+ Utilities for Editor Panels.
+
+
+
+
+ Connects to a asset.
+ If the asset already exists at the given path, loads it and returns it.
+ Otherwise, depending on the given parameters, either returns NULL or automatically creates it before loading and returning it.
+
+ Asset type
+ File path (relative to Unity's project folder)
+ If TRUE and the requested asset doesn't exist, forces its creation
+ If TRUE also creates the path folders if they don't exist
+
+
+
+ Check if the at the given path exists and eventually if it's available
+
+ File path (relative to Unity's project folder)
+ If TRUE also check if the file is available
+ (file can be unavailable if it was deleted outside Unity, or if Unity is just starting)
+
+
+
+
+ Returns TRUE if the given is dockable, FALSE if instead it's a utility window
+
+
+
+
+
+
+ Sets the icon and title of an editor window. Works with older versions of Unity, where the titleContent property wasn't available.
+
+ Reference to the editor panel whose icon to set
+ Icon to apply
+ Title. If NULL doesn't change it
+
+
+
+ Prefab utilities
+
+
+
+
+ Behaves as the Inspector's Apply button, applying any modification of this instance to the prefab parent
+
+
+
+
+
+ Returns TRUe if a prefab instance has unapplied modifications, ignoring any modifications applied to the transform.
+ NOTE: this a somehow costly operation (since it generates GC)
+
+
+
+
+ Completely removes any prefab connection from the given prefab instances, by desotroing the original object and recreating it.
+ Returns a list with all the new elements created.
+
+ Based on RodGreen's method (http://forum.unity3d.com/threads/82883-Breaking-connection-from-gameObject-to-prefab-for-good.?p=726602&viewfull=1#post726602)
+
+
+
+
+
+ Completely removes any prefab connection from the given prefab instance, by desotroing the original object and recreating it.
+
+ Based on RodGreen's method (http://forum.unity3d.com/threads/82883-Breaking-connection-from-gameObject-to-prefab-for-good.?p=726602&viewfull=1#post726602)
+
+
+
+
+ Calls the given action after the given delay
+
+
+
+ Return the size of the editor game view, eventual extra bars excluded (meaning the true size of the game area)
+
+
+
+
+ Clears all logs from Unity's console
+
+
+
+
+ Adds the given global define (if it's not already present) to all the
+ or only to the given , depending on passed parameters,
+ and returns TRUE if it was added, FALSE otherwise.
+ NOTE: when adding to all of them some legacy warnings might appear, which you can ignore.
+
+
+ to use. Leave NULL to add to all of them.
+
+
+
+ Removes the given global define (if present) from all the
+ or only from the given , depending on passed parameters,
+ and returns TRUE if it was removed, FALSE otherwise.
+ NOTE: when removing from all of them some legacy warnings might appear, which you can ignore.
+
+
+ to use. Leave NULL to remove from all of them.
+
+
+
+ Returns TRUE if the given global define is present in all the
+ or only in the given , depending on passed parameters.
+
+
+ to use. Leave NULL to check in all of them.
+
+
+
+ Sets the gizmos icon visibility in the Scene and Game view for the given class names
+
+ Visibility
+ Class names (no namespace), as many as you want separated by a comma
+
+
+
+ Sets the gizmos icon visibility in the Scene and Game view for all custom icons
+ (for example icons created with HOTools)
+
+ Visibility
+
+
+
+ Returns all components of type T in the currently open scene, or NULL if none could be found.
+ If you're on Unity 5 or later, and have DeEditorTools
, use DeEditorToolsUtils.FindAllComponentsOfType
+ instead, which is more efficient.
+
+
+
+ Nothing is being dragged
+
+
+ Dragging
+
+
+ Dragging concluced and accepted
+
+
+ Dragging concluced but item position didn't change
+
+
+ Dragging canceled
+
+
+ Dragging concluced but not accepted because too short
+
+
+ Automatically determines if dragged elements are horizontal, vertical, or both
+
+
+ Forces vertical drag
+
+
+ Forces horizontal drag (useful to avoid initial wrong drag indicators
+ if the users starts dragging an horizontal system vertically)
+
+
+
+ Manages the dragging of GUI elements
+
+
+
+
+ True if a GUI element is currently being dragged
+
+
+
+
+ Return the current item being dragged, or NULL if there is none
+
+
+
+
+ Type of current item being dragged, or NULL if there is none
+
+
+
+
+ Starting index of current item being dragged, or NULL if there is none
+
+
+
+
+ Retrieves the eventual optional data stored via the StartDrag method
+
+
+
+
+ Starts a drag operation on a GUI element.
+
+ Reference to the current editor drawing the GUI (used when a Repaint is needed)
+ List containing the dragged item and all other relative draggable items
+ DraggableList index of the item being dragged
+ Optional data that can be retrieved via the static property
+
+
+
+ Starts a drag operation on a GUI element.
+
+ ID for this drag operation (must be the same for both StartDrag and Drag
+ Reference to the current editor drawing the GUI (used when a Repaint is needed)
+ List containing the dragged item and all other relative draggable items
+ DraggableList index of the item being dragged
+ Optional data that can be retrieved via the static property
+
+
+
+ Starts a drag operation on a GUI element.
+
+ Reference to the current editor drawing the GUI (used when a Repaint is needed)
+ List containing the dragged item and all other relative draggable items
+ DraggableList index of the item being dragged
+ Optional data that can be retrieved via the static property
+
+
+
+ Starts a drag operation on a GUI element.
+
+ ID for this drag operation (must be the same for both StartDrag and Drag
+ Reference to the current editor drawing the GUI (used when a Repaint is needed)
+ List containing the dragged item and all other relative draggable items
+ DraggableList index of the item being dragged
+ Optional data that can be retrieved via the static property
+
+
+
+ Call this after each draggable GUI block, to calculate and draw the current drag state
+ (or complete it if the mouse was released).
+
+ ID for this drag operation (must be the same for both StartDrag and Drag
+ List containing the draggable item and all other relative draggable items
+ Current index of the draggable item being drawn
+ If NULL will calculate this automatically using .
+ Pass this if you're creating a drag between elements that don't use GUILayout
+ Drag direction. You can leave it to
+ unless you want to skip eventual layout calculations
+
+
+
+ Call this after each draggable GUI block, to calculate and draw the current drag state
+ (or complete it if the mouse was released).
+
+ List containing the draggable item and all other relative draggable items
+ Current index of the draggable item being drawn
+ If NULL will calculate this automatically using .
+ Pass this if you're creating a drag between elements that don't use GUILayout
+ Drag direction. You can leave it to
+ unless you want to skip eventual layout calculations
+
+
+
+ Call this after each draggable GUI block, to calculate and draw the current drag state
+ (or complete it if the mouse was released).
+
+ ID for this drag operation (must be the same for both StartDrag and Drag
+ List containing the draggable item and all other relative draggable items
+ Current index of the draggable item being drawn
+ Color to use for drag divider and selection
+ If NULL will calculate this automatically using .
+ Pass this if you're creating a drag between elements that don't use GUILayout
+ Drag direction. You can leave it to
+ unless you want to skip eventual layout calculations
+
+
+
+ Call this after each draggable GUI block, to calculate and draw the current drag state
+ (or complete it if the mouse was released).
+
+ List containing the draggable item and all other relative draggable items
+ Current index of the draggable item being drawn
+ Color to use for drag divider and selection
+ If NULL will calculate this automatically using .
+ Pass this if you're creating a drag between elements that don't use GUILayout
+ Drag direction. You can leave it to
+ unless you want to skip eventual layout calculations
+
+
+
+ Ends the drag operations, and eventually applies the drag outcome.
+ Returns TRUE if the position of the dragged item actually changed.
+ Called automatically by Drag method. Use it only if you want to force the end of a drag operation.
+
+ If TRUE applies the drag results, otherwise simply cancels the drag
+
+
+
+ Abstract dynamic class used for every node of the same type
+ (meaning there is only a single recycled instance for all same-type nodes)
+
+
+
+ Used to fill
+
+
+ Called when the node needs to be drawn
+
+
+
+ The connectedNodesIds list will be automatically increased/decreased when adding/removing connections
+ (otherwise connectedNodesIds will have to be increased via custom code)
+
+
+
+
+ Requires only two connectedNodesIds (no more, no less),
+ uses regular CTRL+Drag to connect connection 0, CTRL+SPACE+Drag to connect connection 1
+
+
+
+
+ Like , but with an extra connection as a last extra index, which is set when pressing CTRL+SPACE+Drag.
+ Must always have at least one element in connectedNodesIds
+
+
+
+ Layout, Repaint, LayoutAndRepaint
+
+
+
+ Stores cloned nodes for pasting
+
+
+
+
+ Returns a list of pasteable nodes, with their GUID recreated and their connections adapted
+
+
+
+
+
+ Returns a deep clone of the given node but doesn't clone UnityEngine references.
+ A new ID will be automatically generated.
+
+
+
+
+ Always connects a node from BottomOrRight side to TopOrLeft side
+
+
+
+
+ Always connects from BottomOrRight side to TopOrLeft side.
+ If ALT is pressed shows the delete connection button.
+ Called during Repaint or MouseDown/Up.
+ Returns TRUE if the connection was deleted using the delete connection button.
+
+
+
+
+ Always connects a node from BottomOrRight side to TopOrLeft side
+
+
+
+
+ Always connects from BottomOrRight side to TopOrLeft side.
+ If ALT is pressed shows the delete connection button.
+ Called during Repaint or MouseDown/Up.
+ Returns TRUE if the connection was deleted using the delete connection button.
+
+
+
+
+ You can attach to this
+
+
+
+
+ Use this to add a content group to the Help Panel
+
+
+
+ Regular note
+
+
+ Editable note (activated by setting to TRUE
+ (but you will have to save the result somewhere yourself)
+
+
+ If TRUE shows the textArea
+
+
+
+ Add definition. Supports rich-text but also these special tags:
+ - [b][/b]
+
+
+
+
+ Add key, automatically formatting these special keys:
+ /
+ +
+ →
+
+ If TRUE and there's other keys/targets, adds the new key on a new line preceded by a comma
+
+
+
+ Recalculates all rects based on the given Y shift
+
+
+
+
+ One per .
+ Partially independent, mainly controlled by process.
+
+
+
+ TRUE when read-to or dragging nodes
+
+
+ Returns TRUE if the given node is currently being dragged
+
+
+
+ Returns TRUE if a repaint is required
+
+
+
+
+
+ Main class for DeGUI Node system.
+ Create it, then enclose your GUI node calls inside a .
+ CODING ORDER:
+ - Create a to use for your node system (create it once, obviously)
+ - Inside OnGUI, write all your nodes GUI code inside a
+ - To draw the nodes, loop through the list and call for each node
+
+
+
+ Distance at which nodes will be placed when snapping next to each other
+
+
+ Full area without zeroed coordinates
+
+
+ Position with zeroed coordinates (used by all node GUI since it's inside a GUILayout(area))
+
+
+ Contains the nodes passed to NodeProcessScope ordered by depth.
+ You should loop through this list when drawing nodes
+
+
+
+ Creates a new NodeProcess.
+
+ EditorWindow for this process
+ Callback called when one or more nodes are going to be deleted.
+ Return FALSE if you want the deletion to be canceled.
+ Can be NULL, in which case it will be ignored
+ Callback called when a node is cloned.
+ Return FALSE if you want the cloning to be canceled.
+ Can be NULL, in which case it will be ignored
+
+
+
+ Needs to be called when loading a complete new series of nodes
+
+
+
+
+ Call this when the layout/size of one or more nodes changed because of external intervention
+ (if a whole new range of nodes has been loaded, just call instead)
+
+
+
+
+ Forces the refresh of the area calculations. Useful if you need them before the first GUI call has run
+
+
+
+
+ Shifts the visible are to the given coordinates and repaints on end
+
+
+
+
+ Shifts the visible are to the given coordinates and repaints on end
+
+
+
+
+ Tells the process to repaint once the process has ended.
+ Calling this
+
+
+
+
+ Draws the given node using the given T editor GUINode type.
+ Returns the full area of the node
+
+
+
+
+ Opens the Help Panel
+
+
+
+
+ Closes the Help Panel
+
+
+
+
+ Opens or closes the Help panel based on its current state
+
+
+
+
+ Returns TRUE if the given area is visible (even if partially) inside the current nodeProcess area
+
+
+
+
+ Captures a screenshot of the node editor area and returns it when calling the onComplete method.
+ Sadly this requires a callback because if called immediately the capture will fail
+ with a "[d3d11] attempting to ReadPixels outside of RenderTexture bounds!" error in most cases
+
+ Screenshot mode
+ A callback that accepts the generated Texture2D object
+ Screenshot scale factor (only used if screenshotMode is set to )
+ If TRUE (default) displays a progress bar during the operation.
+ You'll want to set this to FALSE when you're already using a custom progressBar
+ and the screenshot is only part of a larger queue of operations
+
+
+
+ Use this to encapsulate node GUI operations.
+ Automatically manages various operations (press F1 to see them).
+ Sets GUI.changed
to TRUE if the area is panned, a node is dragged, controlNodes change sorting or are deleted.
+ Wraps all content inside a GUILayout Area (nodeArea).
+
+ The to use
+ Area within which the nodes will be drawn
+ Area shift (caused by dragging)
+ This list will be sorted based on current node draw order,
+ and changed in case one of its nodes is deleted.
+ IMPORTANT:
this list should be part of your serialized class (MonoBehaviour or ScriptableObject),
+ so it will be stored as a reference and modifying one will modify the other.
+ Usually you want to pass all nodes to this except the eventual start node (or nodes that can't be sorted nor deleted).
+
+
+
+ Set automatically when a selection ends up selecting a single node,
+ reset when deselecting all nodes, selecting multiple nodes, or resetting the
+
+
+
+
+ Returns TRUE if something was actually deselected, FALSE if there were no selected nodes
+
+
+
+
+
+ Returns key modifiers currently pressed.
+ Requires to be updated at the beginning of every GUI call.
+
+
+
+
+ Call this method to update data required by softCtrl calculations.
+ Automatically called from within a .
+ Returns a object with the keys that were just pressed and just released
+
+ Required to have the correct for the given target call
+
+
+
+ Returns the given as an int, or -1 if it's not a number
+
+
+
+
+ Returns by .
+ Contains properties and methods to manage non-layout scrollview better.
+ Remember to use or to increase or set the full content height
+
+
+
+ Area used by ScrollView and its content
+
+
+ Full content area regardless if visible or not. Its height should be set manually based on the contents' height
+
+
+ Content area currently visible (scroll bars excluded)
+
+
+ Current scrollPosition
+
+
+
+ Returns the current open, or an empty one if none is open.
+
+
+
+
+ Sets the height
+
+
+
+
+
+ Increase the height by the given amount
+
+
+
+
+
+ Returns a Rect for a single line at the current scrollView yMax
+
+ If less than 0 uses default line height, otherwise the value passed
+ if TRUE (default) automatically increases the height of the accordingly
+
+
+
+
+ Returns TRUE if the given rect is at least partially visible in the displayed scroll area
+
+
+
+
+ Contains both free and pro skins GUIStyle variations,
+ and automatically returns the correct one when converted to GUIStyle
+
+
+
+
+ Plays the given clip in the Editor
+
+
+
+
+ Stops playing the given clip.
+
+
+
+
+ Stops all clips playing.
+
+
+
+
+ Util to determine Unity editor version and store them as comparable numbers
+
+
+
+ Full major version + first minor version (ex: 2018.1f)
+
+
+ Major version
+
+
+ First minor version (ex: in 2018.1 it would be 1)
+
+
+
+ Assembly extensions
+
+
+
+
+ Full path to the assembly directory, without final slash
+
+
+
+
+ AssetDatabase path to the assembly directory, without final slash
+
+
+
+
+ GUI extension methods
+
+
+
+
+ Clones the style and adds the given formats to it. You can pass any of these types of values:
+
+