Browse Source

提交批量种植操作

master
star\zhenghan 3 years ago
parent
commit
60ad92b68f
  1. 252
      Config/StructureConfigCategory.bytes
  2. BIN
      Config/SynthesisConfigCategory.bytes
  3. 3
      Config/TextConfigCategory.bytes
  4. 84
      Excel/Json/c/StructureConfig.txt
  5. 1
      Excel/Json/c/SynthesisConfig.txt
  6. 3
      Excel/Json/c/TextConfig.txt
  7. 84
      Excel/Json/s/StructureConfig.txt
  8. 1
      Excel/Json/s/SynthesisConfig.txt
  9. 3
      Excel/Json/s/TextConfig.txt
  10. BIN
      Excel/StructureConfig.xlsx
  11. BIN
      Excel/SynthesisConfig.xlsx
  12. BIN
      Excel/TextConfig.xlsx
  13. 4
      FGUIProject/FUI_ET/assets/Building/BuildingItem.xml
  14. 102
      FGUIProject/FUI_ET/assets/Building/Farmland/FarmlandBatchWindow.xml
  15. BIN
      FGUIProject/FUI_ET/assets/Building/Images/plant-seed.png
  16. BIN
      FGUIProject/FUI_ET/assets/Building/Images/sickle.png
  17. 3
      FGUIProject/FUI_ET/assets/Building/package.xml
  18. 1
      Server/Hotfix/Demo/Unit/UnitFactory.cs
  19. 32
      Server/Model/Base/StructBsonSerialize.cs
  20. 27
      Server/Model/Generate/Config/StructureConfig.cs
  21. 4
      ThirdParty/UnityEngine/UnityEngine.csproj
  22. 4
      ThirdParty/UnityEngine/Vector2.cs
  23. 11
      Unity/Animancer.FSM.csproj
  24. 11
      Unity/Animancer.csproj
  25. 6
      Unity/Assets/AssetBundleCollectorSetting.asset
  26. 123
      Unity/Assets/Bundles/Building/Build_2007.prefab
  27. 251
      Unity/Assets/Bundles/Building/Build_4015.prefab
  28. 7
      Unity/Assets/Bundles/Building/Build_4015.prefab.meta
  29. 252
      Unity/Assets/Bundles/Config/StructureConfigCategory.bytes
  30. BIN
      Unity/Assets/Bundles/Config/SynthesisConfigCategory.bytes
  31. 3
      Unity/Assets/Bundles/Config/TextConfigCategory.bytes
  32. 8
      Unity/Assets/Bundles/Crop.meta
  33. 118
      Unity/Assets/Bundles/Crop/Sprout.prefab
  34. 7
      Unity/Assets/Bundles/Crop/Sprout.prefab.meta
  35. 118
      Unity/Assets/Bundles/Crop/Wheat.prefab
  36. 7
      Unity/Assets/Bundles/Crop/Wheat.prefab.meta
  37. BIN
      Unity/Assets/Bundles/FUI/Building_atlas0.png
  38. BIN
      Unity/Assets/Bundles/FUI/Building_fui.bytes
  39. 14
      Unity/Assets/Mono/Module/Mongo/BsonRepresentation.cs
  40. 11
      Unity/Assets/Mono/Module/Mongo/BsonRepresentation.cs.meta
  41. 57
      Unity/Assets/Mono/Module/Mongo/BsonType.cs
  42. 11
      Unity/Assets/Mono/Module/Mongo/BsonType.cs.meta
  43. 4
      Unity/Assets/Res/Images/Buildings/Build_1001.png.meta
  44. 16
      Unity/Assets/Res/Images/Buildings/Build_1002.png.meta
  45. 16
      Unity/Assets/Res/Images/Buildings/Build_1004.png.meta
  46. 16
      Unity/Assets/Res/Images/Buildings/Build_1005.png.meta
  47. 16
      Unity/Assets/Res/Images/Buildings/Build_1006.png.meta
  48. 4
      Unity/Assets/Res/Images/Buildings/Build_2001.png.meta
  49. 4
      Unity/Assets/Res/Images/Buildings/Build_2002.png.meta
  50. 4
      Unity/Assets/Res/Images/Buildings/Build_2003.png.meta
  51. 4
      Unity/Assets/Res/Images/Buildings/Build_2006.png.meta
  52. BIN
      Unity/Assets/Res/Images/Buildings/Build_2007.png
  53. 4
      Unity/Assets/Res/Images/Buildings/Build_2007.png.meta
  54. 4
      Unity/Assets/Res/Images/Buildings/Build_3001.png.meta
  55. 4
      Unity/Assets/Res/Images/Buildings/Build_3002.png.meta
  56. 4
      Unity/Assets/Res/Images/Buildings/Build_3003.png.meta
  57. 4
      Unity/Assets/Res/Images/Buildings/Build_3004.png.meta
  58. 4
      Unity/Assets/Res/Images/Buildings/Build_3005.png.meta
  59. 4
      Unity/Assets/Res/Images/Buildings/Build_3006.png.meta
  60. 4
      Unity/Assets/Res/Images/Buildings/Build_3007.png.meta
  61. 4
      Unity/Assets/Res/Images/Buildings/Build_3008.png.meta
  62. 4
      Unity/Assets/Res/Images/Buildings/Build_3009.png.meta
  63. BIN
      Unity/Assets/Res/Images/Buildings/Build_4015.png
  64. 134
      Unity/Assets/Res/Images/Buildings/Build_4015.png.meta
  65. 2
      Unity/Assets/Res/Images/Buildings/BuildingAtlas.spriteatlas
  66. 4
      Unity/Assets/Res/Images/Crops/CropAtlas.spriteatlas
  67. BIN
      Unity/Assets/Res/Images/Crops/Sprout.png
  68. 134
      Unity/Assets/Res/Images/Crops/Sprout.png.meta
  69. BIN
      Unity/Assets/Res/Images/Crops/Wheat.png
  70. 134
      Unity/Assets/Res/Images/Crops/Wheat.png.meta
  71. 43
      Unity/Codes/Hotfix/Demo/Cabin/CabinSystem.cs
  72. 4
      Unity/Codes/Hotfix/Demo/Construct/Handler/M2C_NofityConstructFinishHandler.cs
  73. 14
      Unity/Codes/Hotfix/Demo/Farmland/FarmlandSystem.cs
  74. 1
      Unity/Codes/Hotfix/Demo/Unit/UnitFactory.cs
  75. 21
      Unity/Codes/Hotfix/Demo/Unit/UnitSystem.cs
  76. 4
      Unity/Codes/HotfixView/Demo/Battle/BattleActionSegmentHelper.cs
  77. 95
      Unity/Codes/HotfixView/Demo/Building/AfterCreateBuilding_AddComponent.cs
  78. 52
      Unity/Codes/HotfixView/Demo/Building/BuildingViewComponentSystem.cs
  79. 3
      Unity/Codes/HotfixView/Demo/Building/BuildingViewHelper.cs
  80. 17
      Unity/Codes/HotfixView/Demo/Building/CreateBuildingViewComponentSystem.cs
  81. 14
      Unity/Codes/HotfixView/Demo/Building/FarmlandStateChanged_UpdateView.cs
  82. 58
      Unity/Codes/HotfixView/Demo/Building/FarmlandViewComponent.cs
  83. 24
      Unity/Codes/HotfixView/Demo/Building/PeopleMoveEnd_InCabin.cs
  84. 175
      Unity/Codes/HotfixView/Demo/FUI/AutoGeneratedCode/Building/FUI_FarmlandBatchWindow.cs
  85. 22
      Unity/Codes/HotfixView/Demo/FUI/AutoGeneratedCode/Building/Friend/FUIFarmlandBatchWindowComponentSystemFriend.cs
  86. 542
      Unity/Codes/HotfixView/Demo/FUI/Logic/Building/FUIFarmlandBatchWindowComponentSystem.cs
  87. 1
      Unity/Codes/HotfixView/Demo/FUI/Logic/Building/FUIFarmlandWindowComponentSystem.cs
  88. 14
      Unity/Codes/HotfixView/Demo/FUI/Logic/Building/FarmlandStateChanged_RefreshWindow.cs
  89. 2
      Unity/Codes/HotfixView/Demo/FUI/Logic/UnitName/FUIUnitNamePanelComponentSystem.cs
  90. 5
      Unity/Codes/HotfixView/Demo/Operation/MapUnitOperationComponentSystem.cs
  91. 23
      Unity/Codes/HotfixView/Demo/People/Behave/Behave_Cabin.cs
  92. 7
      Unity/Codes/HotfixView/Demo/People/Behave/Behave_Idle.cs
  93. 40
      Unity/Codes/HotfixView/Demo/People/Behave/Behave_Prepare_Cabin.cs
  94. 5
      Unity/Codes/HotfixView/Demo/People/PeopleViewComponentSystem.cs
  95. 6
      Unity/Codes/HotfixView/Demo/Resource/AutoResLoaderComponent.cs
  96. 20
      Unity/Codes/HotfixView/Demo/Resource/YooAssetComponent.cs
  97. 12
      Unity/Codes/HotfixView/Demo/Resource/YooAssetHelper.cs
  98. 18
      Unity/Codes/HotfixView/Demo/ResourceView/ResourceViewComponentSystem.cs
  99. 67
      Unity/Codes/HotfixView/Demo/Scene/MapComponentSystem.cs
  100. 2
      Unity/Codes/Model/Demo/Cabin/Cabin.cs
  101. Some files were not shown because too many files have changed in this diff Show More

252
Config/StructureConfigCategory.bytes

@ -1,129 +1,129 @@
·é 大è<EFBFBD>‰æ£š ¬(0d8dP`
h
²
Build_1001¸Â
Build_1001Êu使用木头和è<EFBFBD>‰æ–™å¿«é€Ÿæ<EFBFBD>­å»ºè€Œæˆ<EFBFBD>çš„è<EFBFBD>‰æ£šï¼Œè™½ç„¶çœ‹èµ·æ<EFBFBD>¥å<EFBFBD><EFBFBD>分简陋但也是åˆ<EFBFBD>期ä¸<EFBFBD>错的临时居所。Ð
Àê 竹è<EFBFBD>‰å±‹  (0d8dP`h²
Build_1002¸Â
Build_1002Ê~竹æ<EFBFBD>¡æ<EFBFBD>­å»ºå»ºç­‘的框架使其更加å<EFBFBD>šå›ºï¼ŒæŸ”软的è<EFBFBD>‰æ–™å’Œæ¸…新的竹å<EFBFBD>¶è®©æ•´ä¸ªå±…所都散å<EFBFBD>‘ç<EFBFBD>€æ·¡æ·¡çš„香气。Ð
Hë 茅è<EFBFBD>‰å±‹ è(0d8dP`(h(²
Build_1003Â
Build_1003Ê 茅è<EFBFBD>‰å±‹Ð
Hì è<EFBFBD>‰æœ¨å±‹ è(0d8dP`2h2²
Build_1004Â
Build_1004Ê è<EFBFBD>‰æœ¨å±‹Ð
Hí 木瓦房 è(0d8dP`<h<²
Build_1005Â
Build_1005Ê 木瓦房Ð
ÑÑ åˆ<EFBFBD>级水井  (0d8d@h²
Build_2001¸Â
Build_2001Ê简陋的水井,从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ð
ÑÒ 中级水井 è(0d8d@h²
Build_2002¸Â
Build_2002Ê普通的水井,从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ð
¾Ó 高级水井 Ü (0d8d@h²
Build_2003¸Â
Build_2003Êu从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ð
Ô 采矿房 ÿÿÿÿÿÿÿÿÿ0d8d@hˆ²
Build_2004Â
Build_2004Ê6在矿洞上建造å<EFBFBD>Žï¼Œå°±å<EFBFBD>¯ä»¥èŽ·å<EFBFBD>–矿洞的资æº<EFBFBD>
ŽÕ中级采矿房 ÿÿÿÿÿÿÿÿÿ0d8d@hˆ²
Build_2005Â
Build_2005Ê<EFBFBD>‡çº§å<EFBFBD>Žçš„采矿房,å<EFBFBD>¯ä»¥è¿›å…¥çŸ¿æ´žæ›´æ·±å¤„获å<EFBFBD>–资æº<EFBFBD>
MÖ石磨 Ü (0d8dh²
Build_2006¸Â
Build_2006Ê用于磨米磨é<EFBFBD>¢Ð
i×农田 ÿÿÿÿÿÿÿÿÿ(0d8d@h²
Build_2007¸Â
Build_2007Ê$开垦好的农田,å<EFBFBD>¯ç§<EFBFBD>æ¤<EFBFBD>作物Ð
QØ åˆ<EFBFBD>级渔屋 ÿÿÿÿÿÿÿÿÿ@h²
Build_2008Â
Build_2008Ê åˆ<EFBFBD>级鱼塘
QÙ 中级渔屋 ÿÿÿÿÿÿÿÿÿ@h²
Build_2009Â
Build_2009Ê 中级渔屋
QÚ 高级渔屋 ÿÿÿÿÿÿÿÿÿ@h²
Build_2010Â
Build_2010Ê 高级渔屋
w¹ 朴素工å<EFBFBD>° è(0d8dh²
Build_3001¸Â
Build_3001Ê3简易工作å<EFBFBD>°ï¼Œç”¨æ<EFBFBD>¥åˆ¶é€ åˆ<EFBFBD>期所需的工具Ð
¤º工房 Ð(0d8dh²
Build_3002¸Â
Build_3002Êf制作工具的场所,å<EFBFBD>¯è§£é”<EFBFBD>地图中级的资æº<EFBFBD>。并能制造木质ã€<EFBFBD>竹质和石质工具。Ð
}» é“<EFBFBD>匠铺 ¬(0d8dh²
Build_3003¸Â
Build_3003Ê<用于锻造é“<EFBFBD>质工具,å<EFBFBD>¯è§£é”<EFBFBD>地图高级的资æº<EFBFBD>。Ð
b¼ ç²—è¡£å<EFBFBD>Š Ü (0d8dh²
Build_3004¸Â
Build_3004Ê!生产制造åˆ<EFBFBD>级æœ<EFBFBD>饰的建筑Ð
b½织å<EFBFBD>Š Ð(0d8dh²
Build_3005¸Â
Build_3005Ê$生产高级布料ã€<EFBFBD>衣物的场所Ð
v¾ 朴素石ç<EFBFBD> è(0d8d@h²
Build_3006¸Â
Build_3006Ê0临时æ<EFBFBD>­å»ºçš„ç<EFBFBD>¶å<EFBFBD>°ï¼Œå<EFBFBD>¯åˆ¶ä½œç®€å<EFBFBD>•的饭è<EFBFBD>œÐ
U¿炊房 Ü (0d8d@h²
Build_3007¸Â
Build_3007Ê制作饭è<EFBFBD>œçš„场所Ð
yÀè<EFBFBD>¯ç‚‰ è(0d8d@h²
Build_3008¸Â
Build_3008Ê9临时堆砌的è<EFBFBD>¯ç‚‰ï¼Œå<EFBFBD>¯æ»¡è¶³ä½Žçº§è<EFBFBD>¯å“<EFBFBD>制作æ<EFBFBD>¡ä»¶Ð
UÁè<EFBFBD>¯å®¤ Ü (0d8d@h²
Build_3009¸Â
Build_3009Ê制作è<EFBFBD>¯å“<EFBFBD>的场所Ð
hÂ蚕室 Ü (0d8dh²
Build_3010¸Â
Build_3010Ê-柔ä¸<EFBFBD>å<EFBFBD><EFBFBD>尽三å<EFBFBD>ƒä¸ˆï¼Œç•™ä¸‹ç›¸æ€<EFBFBD>几百层Ð
AÃ瓷窑 Ü (0d8dh²
Build_3011¸Â
Build_3011Ê瓷窑Ð
PÄ地窖 Ü (0d8dh²
Build_3012¸Â
Build_3012Ê地窖,腌制食物Ð
U¡ 简易粮仓 è(0d8d@h²
Build_4001¸Â
Build_4001Ê åˆ<EFBFBD>级粮仓Ð
O¢粮仓 Ü (0d8d@h²
Build_4002¸Â
Build_4002Ê 中级粮仓Ð
U£ 高级粮仓 Ä(0d8d@h²
Build_4003¸Â
Build_4003Ê 高级粮仓Ð
J¤邮楼 Ä(0d8dh²
Build_4004¸Â
Build_4004Ê邮楼,è¿<EFBFBD>输Ð
A¥木桥 Ä(0d8dh²
Build_4005¸Â
Build_4005Ê木桥
A¦石桥 Ä(0d8dh²
Build_4006¸Â
Build_4006Ê石桥
A§犬èˆ<EFBFBD> Ä(0d8dh²
Build_4007¸Â
Build_4007Ê犬èˆ<EFBFBD>Ð
A¨鸡圈 Ä(0d8dh²
Build_4008¸Â
Build_4008Ê鸡圈Ð
A©禽èˆ<EFBFBD> Ä(0d8dh²
Build_4009¸Â
Build_4009Ê禽èˆ<EFBFBD>Ð
Aªå­¦èˆ<EFBFBD> Ä(0d8dh²
Build_4010¸Â
Build_4010Êå­¦èˆ<EFBFBD>Ð
A«酒楼 Ä(0d8dh²
Build_4011¸Â
Build_4011Ê酒楼Ð
A¬水车 Ä(0d8dh²
Build_4012¸Â
Build_4012Ê水车Ð
A­武庄 Ä(0d8dh²
Build_4013¸Â
Build_4013Ê武庄Ð
A®宗厅 Ä(0d8dh²
Build_4014¸Â
Build_4014Ê宗厅Ð
Q¯ ç”°é—´å°<EFBFBD>屋 Ä(0d8d@Hh²
Build_4015¸Â
Build_4015Ê ç”°é—´å°<EFBFBD>屋Ð
º
Build_1001ÀÊ
Build_1001Òu使用木头和è<EFBFBD>‰æ–™å¿«é€Ÿæ<EFBFBD>­å»ºè€Œæˆ<EFBFBD>çš„è<EFBFBD>‰æ£šï¼Œè™½ç„¶çœ‹èµ·æ<EFBFBD>¥å<EFBFBD><EFBFBD>分简陋但也是åˆ<EFBFBD>期ä¸<EFBFBD>错的临时居所。Ø
Àê 竹è<EFBFBD>‰å±‹  (0d8dP`hº
Build_1002ÀÊ
Build_1002Ò~竹æ<EFBFBD>¡æ<EFBFBD>­å»ºå»ºç­‘的框架使其更加å<EFBFBD>šå›ºï¼ŒæŸ”软的è<EFBFBD>‰æ–™å’Œæ¸…新的竹å<EFBFBD>¶è®©æ•´ä¸ªå±…所都散å<EFBFBD>‘ç<EFBFBD>€æ·¡æ·¡çš„香气。Ø
Hë 茅è<EFBFBD>‰å±‹ è(0d8dP`(h(º
Build_1003Ê
Build_1003Ò 茅è<EFBFBD>‰å±‹Ø
Hì è<EFBFBD>‰æœ¨å±‹ è(0d8dP`2h2º
Build_1004Ê
Build_1004Ò è<EFBFBD>‰æœ¨å±‹Ø
Hí 木瓦房 è(0d8dP`<h<º
Build_1005Ê
Build_1005Ò 木瓦房Ø
ÑÑ åˆ<EFBFBD>级水井  (0d8d@hº
Build_2001ÀÊ
Build_2001Ò简陋的水井,从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ø
ÑÒ 中级水井 è(0d8d@hº
Build_2002ÀÊ
Build_2002Ò普通的水井,从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ø
¾Ó 高级水井 Ü (0d8d@hº
Build_2003ÀÊ
Build_2003Òu从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ø
Ô 采矿房 ÿÿÿÿÿÿÿÿÿ0d8d@h<EFBFBD>º
Build_2004Ê
Build_2004Ò6在矿洞上建造å<EFBFBD>Žï¼Œå°±å<EFBFBD>¯ä»¥èŽ·å<EFBFBD>–矿洞的资æº<EFBFBD>
ŽÕ中级采矿房 ÿÿÿÿÿÿÿÿÿ0d8d@h<EFBFBD>º
Build_2005Ê
Build_2005Ò<EFBFBD>‡çº§å<EFBFBD>Žçš„采矿房,å<EFBFBD>¯ä»¥è¿›å…¥çŸ¿æ´žæ›´æ·±å¤„获å<EFBFBD>–资æº<EFBFBD>
MÖ石磨 Ü (0d8dhº
Build_2006ÀÊ
Build_2006Ò用于磨米磨é<EFBFBD>¢Ø
i×农田 ÿÿÿÿÿÿÿÿÿ(0d8d@hº
Build_2007ÀÊ
Build_2007Ò$开垦好的农田,å<EFBFBD>¯ç§<EFBFBD>æ¤<EFBFBD>作物Ø
QØ åˆ<EFBFBD>级渔屋 ÿÿÿÿÿÿÿÿÿ@hº
Build_2008Ê
Build_2008Ò åˆ<EFBFBD>级鱼塘
QÙ 中级渔屋 ÿÿÿÿÿÿÿÿÿ@hº
Build_2009Ê
Build_2009Ò 中级渔屋
QÚ 高级渔屋 ÿÿÿÿÿÿÿÿÿ@hº
Build_2010Ê
Build_2010Ò 高级渔屋
w¹ 朴素工å<EFBFBD>° è(0d8dhº
Build_3001ÀÊ
Build_3001Ò3简易工作å<EFBFBD>°ï¼Œç”¨æ<EFBFBD>¥åˆ¶é€ åˆ<EFBFBD>期所需的工具Ø
¤º工房 Ð(0d8dhº
Build_3002ÀÊ
Build_3002Òf制作工具的场所,å<EFBFBD>¯è§£é”<EFBFBD>地图中级的资æº<EFBFBD>。并能制造木质ã€<EFBFBD>竹质和石质工具。Ø
}» é“<EFBFBD>匠铺 ¬(0d8dhº
Build_3003ÀÊ
Build_3003Ò<用于锻造é“<EFBFBD>质工具,å<EFBFBD>¯è§£é”<EFBFBD>地图高级的资æº<EFBFBD>。Ø
b¼ ç²—è¡£å<EFBFBD>Š Ü (0d8dhº
Build_3004ÀÊ
Build_3004Ò!生产制造åˆ<EFBFBD>级æœ<EFBFBD>饰的建筑Ø
b½织å<EFBFBD>Š Ð(0d8dhº
Build_3005ÀÊ
Build_3005Ò$生产高级布料ã€<EFBFBD>衣物的场所Ø
v¾ 朴素石ç<EFBFBD> è(0d8d@hº
Build_3006ÀÊ
Build_3006Ò0临时æ<EFBFBD>­å»ºçš„ç<EFBFBD>¶å<EFBFBD>°ï¼Œå<EFBFBD>¯åˆ¶ä½œç®€å<EFBFBD>•的饭è<EFBFBD>œØ
U¿炊房 Ü (0d8d@hº
Build_3007ÀÊ
Build_3007Ò制作饭è<EFBFBD>œçš„场所Ø
yÀè<EFBFBD>¯ç‚‰ è(0d8d@hº
Build_3008ÀÊ
Build_3008Ò9临时堆砌的è<EFBFBD>¯ç‚‰ï¼Œå<EFBFBD>¯æ»¡è¶³ä½Žçº§è<EFBFBD>¯å“<EFBFBD>制作æ<EFBFBD>¡ä»¶Ø
UÁè<EFBFBD>¯å®¤ Ü (0d8d@hº
Build_3009ÀÊ
Build_3009Ò制作è<EFBFBD>¯å“<EFBFBD>的场所Ø
hÂ蚕室 Ü (0d8dhº
Build_3010ÀÊ
Build_3010Ò-柔ä¸<EFBFBD>å<EFBFBD><EFBFBD>尽三å<EFBFBD>ƒä¸ˆï¼Œç•™ä¸‹ç›¸æ€<EFBFBD>几百层Ø
AÃ瓷窑 Ü (0d8dhº
Build_3011ÀÊ
Build_3011Ò瓷窑Ø
PÄ地窖 Ü (0d8dhº
Build_3012ÀÊ
Build_3012Ò地窖,腌制食物Ø
U¡ 简易粮仓 è(0d8d@hº
Build_4001ÀÊ
Build_4001Ò åˆ<EFBFBD>级粮仓Ø
O¢粮仓 Ü (0d8d@hº
Build_4002ÀÊ
Build_4002Ò 中级粮仓Ø
U£ 高级粮仓 Ä(0d8d@hº
Build_4003ÀÊ
Build_4003Ò 高级粮仓Ø
J¤邮楼 Ä(0d8dhº
Build_4004ÀÊ
Build_4004Ò邮楼,è¿<EFBFBD>输Ø
A¥木桥 Ä(0d8dhº
Build_4005ÀÊ
Build_4005Ò木桥
A¦石桥 Ä(0d8dhº
Build_4006ÀÊ
Build_4006Ò石桥
A§犬èˆ<EFBFBD> Ä(0d8dhº
Build_4007ÀÊ
Build_4007Ò犬èˆ<EFBFBD>Ø
A¨鸡圈 Ä(0d8dhº
Build_4008ÀÊ
Build_4008Ò鸡圈Ø
A©禽èˆ<EFBFBD> Ä(0d8dhº
Build_4009ÀÊ
Build_4009Ò禽èˆ<EFBFBD>Ø
Aªå­¦èˆ<EFBFBD> Ä(0d8dhº
Build_4010ÀÊ
Build_4010Òå­¦èˆ<EFBFBD>Ø
A«酒楼 Ä(0d8dhº
Build_4011ÀÊ
Build_4011Ò酒楼Ø
A¬水车 Ä(0d8dhº
Build_4012ÀÊ
Build_4012Ò水车Ø
A­武庄 Ä(0d8dhº
Build_4013ÀÊ
Build_4013Ò武庄Ø
A®宗厅 Ä(0d8dhº
Build_4014ÀÊ
Build_4014Ò宗厅Ø
Q¯ ç”°é—´å°<EFBFBD>屋 Ä(0d8d@Hhº
Build_4015ÀÊ
Build_4015Ò ç”°é—´å°<EFBFBD>屋Ø

BIN
Config/SynthesisConfigCategory.bytes

Binary file not shown.

3
Config/TextConfigCategory.bytes

@ -5,7 +5,7 @@
ì已完æˆ<EFBFBD>制作
)í$该建筑已达到建造数é‡<EFBFBD>上é™<EFBFBD>
)î<EFBFBD><EFBFBD>æ–™ä¸<EFBFBD>足或规模æ<EFBFBD>¡ä»¶æœªè¾¾æˆ<EFBFBD>
&<EFBFBD>!您的修复零件或金币不足
ïæ<EFBFBD><EFBFBD>料或铜å¸<EFBFBD>ä¸<EFBFBD>è¶³
ð é<EFBFBD>“å…·ä¸<EFBFBD>è¶³
ñ{主角}ä¸<EFBFBD>在桃谷中
ò ç§<EFBFBD>å­<EFBFBD>ä¸<EFBFBD>è¶³
@ -68,6 +68,7 @@ A
&«!当å‰<EFBFBD>季节无法ç§<EFBFBD>æ¤<EFBFBD>该作物
&¬!粮仓已满,无法收获作物
­请先设置农夫
®è€<EFBFBD>久已满,无需修缮
Ñ 抵达中...
\ÒWæ¯<EFBFBD>日起床å<EFBFBD>Žä¸€ä¸ªæ—¶è¾°ã€<EFBFBD>下雨时以å<EFBFBD>Šé›¨å<EFBFBD>Žä¸€ä¸ªæ—¶è¾°æ¤<EFBFBD>物上会蓄满露水
%Ó 已枯竭,{å†<EFBFBD>生æ<EFBFBD>¡ä»¶}å†<EFBFBD>生

84
Excel/Json/c/StructureConfig.txt

@ -1,44 +1,44 @@
{"list":[
{"_t":"StructureConfig","_id":1001,"Name":"大草棚","Type":1,"Durable":300,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":2,"PoultryNum":0,"Comfortable":10,"Boom":10,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1001","CanMove":1,"Picture":"Build_1001","Describe":"使用木头和草料快速搭建而成的草棚,虽然看起来十分简陋但也是初期不错的临时居所。","Remove":1},
{"_t":"StructureConfig","_id":1002,"Name":"竹草屋","Type":1,"Durable":800,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":3,"PoultryNum":0,"Comfortable":30,"Boom":30,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1002","CanMove":1,"Picture":"Build_1002","Describe":"竹条搭建建筑的框架使其更加坚固,柔软的草料和清新的竹叶让整个居所都散发着淡淡的香气。","Remove":1},
{"_t":"StructureConfig","_id":1003,"Name":"茅草屋","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":40,"Boom":40,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1003","CanMove":0,"Picture":"Build_1003","Describe":"茅草屋","Remove":1},
{"_t":"StructureConfig","_id":1004,"Name":"草木屋","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":50,"Boom":50,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1004","CanMove":0,"Picture":"Build_1004","Describe":"草木屋","Remove":1},
{"_t":"StructureConfig","_id":1005,"Name":"木瓦房","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":60,"Boom":60,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1005","CanMove":0,"Picture":"Build_1005","Describe":"木瓦房","Remove":1},
{"_t":"StructureConfig","_id":2001,"Name":"初级水井","Type":2,"Durable":800,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1001,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2001","CanMove":1,"Picture":"Build_2001","Describe":"简陋的水井,从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2002,"Name":"中级水井","Type":2,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2002","CanMove":1,"Picture":"Build_2002","Describe":"普通的水井,从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2003,"Name":"高级水井","Type":2,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2003","CanMove":1,"Picture":"Build_2003","Describe":"从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2004,"Name":"采矿房","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":2,"Function":3001,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1004,"State":0,"StateAffection":0,"SpecificPoint":1,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2004","CanMove":0,"Picture":"Build_2004","Describe":"在矿洞上建造后,就可以获取矿洞的资源","Remove":0},
{"_t":"StructureConfig","_id":2005,"Name":"中级采矿房","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":2,"Function":3002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1004,"State":0,"StateAffection":0,"SpecificPoint":1,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2005","CanMove":0,"Picture":"Build_2005","Describe":"升级后的采矿房,可以进入矿洞更深处获取资源","Remove":0},
{"_t":"StructureConfig","_id":2006,"Name":"石磨","Type":2,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2006","CanMove":1,"Picture":"Build_2006","Describe":"用于磨米磨面","Remove":1},
{"_t":"StructureConfig","_id":2007,"Name":"农田","Type":2,"Durable":-1,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":3,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2007","CanMove":1,"Picture":"Build_2007","Describe":"开垦好的农田,可种植作物","Remove":1},
{"_t":"StructureConfig","_id":2008,"Name":"初级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3003,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2008","CanMove":0,"Picture":"Build_2008","Describe":"初级鱼塘","Remove":0},
{"_t":"StructureConfig","_id":2009,"Name":"中级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3004,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2009","CanMove":0,"Picture":"Build_2009","Describe":"中级渔屋","Remove":0},
{"_t":"StructureConfig","_id":2010,"Name":"高级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3005,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2010","CanMove":0,"Picture":"Build_2010","Describe":"高级渔屋","Remove":0},
{"_t":"StructureConfig","_id":3001,"Name":"朴素工台","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3001","CanMove":1,"Picture":"Build_3001","Describe":"简易工作台,用来制造初期所需的工具","Remove":1},
{"_t":"StructureConfig","_id":3002,"Name":"工房","Type":3,"Durable":2000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3002","CanMove":1,"Picture":"Build_3002","Describe":"制作工具的场所,可解锁地图中级的资源。并能制造木质、竹质和石质工具。","Remove":1},
{"_t":"StructureConfig","_id":3003,"Name":"铁匠铺","Type":3,"Durable":3500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3003","CanMove":1,"Picture":"Build_3003","Describe":"用于锻造铁质工具,可解锁地图高级的资源。","Remove":1},
{"_t":"StructureConfig","_id":3004,"Name":"粗衣坊","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1003,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3004","CanMove":1,"Picture":"Build_3004","Describe":"生产制造初级服饰的建筑","Remove":1},
{"_t":"StructureConfig","_id":3005,"Name":"织坊","Type":3,"Durable":2000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1003,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3005","CanMove":1,"Picture":"Build_3005","Describe":"生产高级布料、衣物的场所","Remove":1},
{"_t":"StructureConfig","_id":3006,"Name":"朴素石灶","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":4,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1005,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3006","CanMove":1,"Picture":"Build_3006","Describe":"临时搭建的灶台,可制作简单的饭菜","Remove":1},
{"_t":"StructureConfig","_id":3007,"Name":"炊房","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":4,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1005,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3007","CanMove":1,"Picture":"Build_3007","Describe":"制作饭菜的场所","Remove":1},
{"_t":"StructureConfig","_id":3008,"Name":"药炉","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":5,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1006,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3008","CanMove":1,"Picture":"Build_3008","Describe":"临时堆砌的药炉,可满足低级药品制作条件","Remove":1},
{"_t":"StructureConfig","_id":3009,"Name":"药室","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":5,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1006,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3009","CanMove":1,"Picture":"Build_3009","Describe":"制作药品的场所","Remove":1},
{"_t":"StructureConfig","_id":3010,"Name":"蚕室","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3010","CanMove":1,"Picture":"Build_3010","Describe":"柔丝吐尽三千丈,留下相思几百层","Remove":1},
{"_t":"StructureConfig","_id":3011,"Name":"瓷窑","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3011","CanMove":1,"Picture":"Build_3011","Describe":"瓷窑","Remove":1},
{"_t":"StructureConfig","_id":3012,"Name":"地窖","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3012","CanMove":1,"Picture":"Build_3012","Describe":"地窖,腌制食物","Remove":1},
{"_t":"StructureConfig","_id":4001,"Name":"简易粮仓","Type":4,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":1000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4001","CanMove":1,"Picture":"Build_4001","Describe":"初级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4002,"Name":"粮仓","Type":4,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":2000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4002","CanMove":1,"Picture":"Build_4002","Describe":"中级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4003,"Name":"高级粮仓","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":3000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4003","CanMove":1,"Picture":"Build_4003","Describe":"高级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4004,"Name":"邮楼","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4004","CanMove":1,"Picture":"Build_4004","Describe":"邮楼,运输","Remove":1},
{"_t":"StructureConfig","_id":4005,"Name":"木桥","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1009,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4005","CanMove":1,"Picture":"Build_4005","Describe":"木桥","Remove":0},
{"_t":"StructureConfig","_id":4006,"Name":"石桥","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1009,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4006","CanMove":1,"Picture":"Build_4006","Describe":"石桥","Remove":0},
{"_t":"StructureConfig","_id":4007,"Name":"犬舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4007","CanMove":1,"Picture":"Build_4007","Describe":"犬舍","Remove":1},
{"_t":"StructureConfig","_id":4008,"Name":"鸡圈","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4008","CanMove":1,"Picture":"Build_4008","Describe":"鸡圈","Remove":1},
{"_t":"StructureConfig","_id":4009,"Name":"禽舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4009","CanMove":1,"Picture":"Build_4009","Describe":"禽舍","Remove":1},
{"_t":"StructureConfig","_id":4010,"Name":"学舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4010","CanMove":1,"Picture":"Build_4010","Describe":"学舍","Remove":1},
{"_t":"StructureConfig","_id":4011,"Name":"酒楼","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4011","CanMove":1,"Picture":"Build_4011","Describe":"酒楼","Remove":1},
{"_t":"StructureConfig","_id":4012,"Name":"水车","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4012","CanMove":1,"Picture":"Build_4012","Describe":"水车","Remove":1},
{"_t":"StructureConfig","_id":4013,"Name":"武庄","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4013","CanMove":1,"Picture":"Build_4013","Describe":"武庄","Remove":1},
{"_t":"StructureConfig","_id":4014,"Name":"宗厅","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4014","CanMove":1,"Picture":"Build_4014","Describe":"宗厅","Remove":1},
{"_t":"StructureConfig","_id":4015,"Name":"田间小屋","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":7,"Function":5,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4015","CanMove":1,"Picture":"Build_4015","Describe":"田间小屋","Remove":1},
{"_t":"StructureConfig","_id":1001,"Name":"大草棚","Type":1,"Durable":300,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":2,"PoultryNum":0,"Comfortable":10,"Boom":10,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1001","CanMove":1,"Picture":"Build_1001","Describe":"使用木头和草料快速搭建而成的草棚,虽然看起来十分简陋但也是初期不错的临时居所。","Remove":1},
{"_t":"StructureConfig","_id":1002,"Name":"竹草屋","Type":1,"Durable":800,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":3,"PoultryNum":0,"Comfortable":30,"Boom":30,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1002","CanMove":1,"Picture":"Build_1002","Describe":"竹条搭建建筑的框架使其更加坚固,柔软的草料和清新的竹叶让整个居所都散发着淡淡的香气。","Remove":1},
{"_t":"StructureConfig","_id":1003,"Name":"茅草屋","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":40,"Boom":40,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1003","CanMove":0,"Picture":"Build_1003","Describe":"茅草屋","Remove":1},
{"_t":"StructureConfig","_id":1004,"Name":"草木屋","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":50,"Boom":50,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1004","CanMove":0,"Picture":"Build_1004","Describe":"草木屋","Remove":1},
{"_t":"StructureConfig","_id":1005,"Name":"木瓦房","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":60,"Boom":60,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1005","CanMove":0,"Picture":"Build_1005","Describe":"木瓦房","Remove":1},
{"_t":"StructureConfig","_id":2001,"Name":"初级水井","Type":2,"Durable":800,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1001,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2001","CanMove":1,"Picture":"Build_2001","Describe":"简陋的水井,从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2002,"Name":"中级水井","Type":2,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2002","CanMove":1,"Picture":"Build_2002","Describe":"普通的水井,从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2003,"Name":"高级水井","Type":2,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2003","CanMove":1,"Picture":"Build_2003","Describe":"从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2004,"Name":"采矿房","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":2,"Function":3001,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1004,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":1,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2004","CanMove":0,"Picture":"Build_2004","Describe":"在矿洞上建造后,就可以获取矿洞的资源","Remove":0},
{"_t":"StructureConfig","_id":2005,"Name":"中级采矿房","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":2,"Function":3002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1004,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":1,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2005","CanMove":0,"Picture":"Build_2005","Describe":"升级后的采矿房,可以进入矿洞更深处获取资源","Remove":0},
{"_t":"StructureConfig","_id":2006,"Name":"石磨","Type":2,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2006","CanMove":1,"Picture":"Build_2006","Describe":"用于磨米磨面","Remove":1},
{"_t":"StructureConfig","_id":2007,"Name":"农田","Type":2,"Durable":-1,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":3,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2007","CanMove":1,"Picture":"Build_2007","Describe":"开垦好的农田,可种植作物","Remove":1},
{"_t":"StructureConfig","_id":2008,"Name":"初级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3003,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2008","CanMove":0,"Picture":"Build_2008","Describe":"初级鱼塘","Remove":0},
{"_t":"StructureConfig","_id":2009,"Name":"中级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3004,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2009","CanMove":0,"Picture":"Build_2009","Describe":"中级渔屋","Remove":0},
{"_t":"StructureConfig","_id":2010,"Name":"高级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3005,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2010","CanMove":0,"Picture":"Build_2010","Describe":"高级渔屋","Remove":0},
{"_t":"StructureConfig","_id":3001,"Name":"朴素工台","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3001","CanMove":1,"Picture":"Build_3001","Describe":"简易工作台,用来制造初期所需的工具","Remove":1},
{"_t":"StructureConfig","_id":3002,"Name":"工房","Type":3,"Durable":2000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3002","CanMove":1,"Picture":"Build_3002","Describe":"制作工具的场所,可解锁地图中级的资源。并能制造木质、竹质和石质工具。","Remove":1},
{"_t":"StructureConfig","_id":3003,"Name":"铁匠铺","Type":3,"Durable":3500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3003","CanMove":1,"Picture":"Build_3003","Describe":"用于锻造铁质工具,可解锁地图高级的资源。","Remove":1},
{"_t":"StructureConfig","_id":3004,"Name":"粗衣坊","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1003,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3004","CanMove":1,"Picture":"Build_3004","Describe":"生产制造初级服饰的建筑","Remove":1},
{"_t":"StructureConfig","_id":3005,"Name":"织坊","Type":3,"Durable":2000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1003,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3005","CanMove":1,"Picture":"Build_3005","Describe":"生产高级布料、衣物的场所","Remove":1},
{"_t":"StructureConfig","_id":3006,"Name":"朴素石灶","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":4,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1005,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3006","CanMove":1,"Picture":"Build_3006","Describe":"临时搭建的灶台,可制作简单的饭菜","Remove":1},
{"_t":"StructureConfig","_id":3007,"Name":"炊房","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":4,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1005,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3007","CanMove":1,"Picture":"Build_3007","Describe":"制作饭菜的场所","Remove":1},
{"_t":"StructureConfig","_id":3008,"Name":"药炉","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":5,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1006,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3008","CanMove":1,"Picture":"Build_3008","Describe":"临时堆砌的药炉,可满足低级药品制作条件","Remove":1},
{"_t":"StructureConfig","_id":3009,"Name":"药室","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":5,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1006,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3009","CanMove":1,"Picture":"Build_3009","Describe":"制作药品的场所","Remove":1},
{"_t":"StructureConfig","_id":3010,"Name":"蚕室","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3010","CanMove":1,"Picture":"Build_3010","Describe":"柔丝吐尽三千丈,留下相思几百层","Remove":1},
{"_t":"StructureConfig","_id":3011,"Name":"瓷窑","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3011","CanMove":1,"Picture":"Build_3011","Describe":"瓷窑","Remove":1},
{"_t":"StructureConfig","_id":3012,"Name":"地窖","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3012","CanMove":1,"Picture":"Build_3012","Describe":"地窖,腌制食物","Remove":1},
{"_t":"StructureConfig","_id":4001,"Name":"简易粮仓","Type":4,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":1000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4001","CanMove":1,"Picture":"Build_4001","Describe":"初级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4002,"Name":"粮仓","Type":4,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":2000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4002","CanMove":1,"Picture":"Build_4002","Describe":"中级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4003,"Name":"高级粮仓","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":3000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4003","CanMove":1,"Picture":"Build_4003","Describe":"高级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4004,"Name":"邮楼","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4004","CanMove":1,"Picture":"Build_4004","Describe":"邮楼,运输","Remove":1},
{"_t":"StructureConfig","_id":4005,"Name":"木桥","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1009,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4005","CanMove":1,"Picture":"Build_4005","Describe":"木桥","Remove":0},
{"_t":"StructureConfig","_id":4006,"Name":"石桥","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1009,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4006","CanMove":1,"Picture":"Build_4006","Describe":"石桥","Remove":0},
{"_t":"StructureConfig","_id":4007,"Name":"犬舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4007","CanMove":1,"Picture":"Build_4007","Describe":"犬舍","Remove":1},
{"_t":"StructureConfig","_id":4008,"Name":"鸡圈","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4008","CanMove":1,"Picture":"Build_4008","Describe":"鸡圈","Remove":1},
{"_t":"StructureConfig","_id":4009,"Name":"禽舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4009","CanMove":1,"Picture":"Build_4009","Describe":"禽舍","Remove":1},
{"_t":"StructureConfig","_id":4010,"Name":"学舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4010","CanMove":1,"Picture":"Build_4010","Describe":"学舍","Remove":1},
{"_t":"StructureConfig","_id":4011,"Name":"酒楼","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4011","CanMove":1,"Picture":"Build_4011","Describe":"酒楼","Remove":1},
{"_t":"StructureConfig","_id":4012,"Name":"水车","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4012","CanMove":1,"Picture":"Build_4012","Describe":"水车","Remove":1},
{"_t":"StructureConfig","_id":4013,"Name":"武庄","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4013","CanMove":1,"Picture":"Build_4013","Describe":"武庄","Remove":1},
{"_t":"StructureConfig","_id":4014,"Name":"宗厅","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4014","CanMove":1,"Picture":"Build_4014","Describe":"宗厅","Remove":1},
{"_t":"StructureConfig","_id":4015,"Name":"田间小屋","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":7,"Function":5,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4015","CanMove":1,"Picture":"Build_4015","Describe":"田间小屋","Remove":1},
]}

1
Excel/Json/c/SynthesisConfig.txt

@ -40,6 +40,7 @@
{"_t":"SynthesisConfig","_id":1039,"Name":"水车","MixtureTpye":1,"MixtureID":3024,"QualityMixtureID":0,"BodyVolume":600,"TimeConsume":-1,"Copies":1,"QualityCopies":0,"StructureID":[0],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1037,1039,1035],"ItemNum":[100,100,100],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":1040,"Name":"武庄","MixtureTpye":1,"MixtureID":3025,"QualityMixtureID":0,"BodyVolume":600,"TimeConsume":-1,"Copies":1,"QualityCopies":0,"StructureID":[0],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1037,1039,1035],"ItemNum":[100,100,100],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":1041,"Name":"宗厅","MixtureTpye":1,"MixtureID":3026,"QualityMixtureID":0,"BodyVolume":600,"TimeConsume":-1,"Copies":1,"QualityCopies":0,"StructureID":[0],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1037,1039,1035],"ItemNum":[100,100,100],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":1042,"Name":"田间小屋","MixtureTpye":1,"MixtureID":4015,"QualityMixtureID":0,"BodyVolume":100,"TimeConsume":-1,"Copies":1,"QualityCopies":0,"StructureID":[0],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1037,1039,1035],"ItemNum":[10,10,10],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":2001,"Name":"木板","MixtureTpye":2,"MixtureID":1012,"QualityMixtureID":0,"BodyVolume":0,"TimeConsume":2,"Copies":1,"QualityCopies":0,"StructureID":[3001,3002,3003],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1011],"ItemNum":[5],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":2002,"Name":"石块","MixtureTpye":2,"MixtureID":1014,"QualityMixtureID":0,"BodyVolume":0,"TimeConsume":2,"Copies":1,"QualityCopies":0,"StructureID":[3001,3002,3003],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1013],"ItemNum":[5],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":2003,"Name":"亚麻布","MixtureTpye":2,"MixtureID":1016,"QualityMixtureID":0,"BodyVolume":0,"TimeConsume":2,"Copies":1,"QualityCopies":0,"StructureID":[3003,3004],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1015],"ItemNum":[10],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},

3
Excel/Json/c/TextConfig.txt

@ -5,7 +5,7 @@
{"_t":"TextConfig","_id":1004,"Text":"已完成制作"},
{"_t":"TextConfig","_id":1005,"Text":"该建筑已达到建造数量上限"},
{"_t":"TextConfig","_id":1006,"Text":"材料不足或规模条件未达成"},
{"_t":"TextConfig","_id":1007,"Text":"您的修复零件或金币不足"},
{"_t":"TextConfig","_id":1007,"Text":"材料或铜币不足"},
{"_t":"TextConfig","_id":1008,"Text":"道具不足"},
{"_t":"TextConfig","_id":1009,"Text":"{主角}不在桃谷中"},
{"_t":"TextConfig","_id":1010,"Text":"种子不足"},
@ -68,6 +68,7 @@
{"_t":"TextConfig","_id":1067,"Text":"当前季节无法种植该作物"},
{"_t":"TextConfig","_id":1068,"Text":"粮仓已满,无法收获作物"},
{"_t":"TextConfig","_id":1069,"Text":"请先设置农夫"},
{"_t":"TextConfig","_id":1070,"Text":"耐久已满,无需修缮"},
{"_t":"TextConfig","_id":2001,"Text":"抵达中..."},
{"_t":"TextConfig","_id":2002,"Text":"每日起床后一个时辰、下雨时以及雨后一个时辰植物上会蓄满露水"},
{"_t":"TextConfig","_id":2003,"Text":"已枯竭,{再生条件}再生"},

84
Excel/Json/s/StructureConfig.txt

@ -1,44 +1,44 @@
{"list":[
{"_t":"StructureConfig","_id":1001,"Name":"大草棚","Type":1,"Durable":300,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":2,"PoultryNum":0,"Comfortable":10,"Boom":10,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1001","CanMove":1,"Picture":"Build_1001","Describe":"使用木头和草料快速搭建而成的草棚,虽然看起来十分简陋但也是初期不错的临时居所。","Remove":1},
{"_t":"StructureConfig","_id":1002,"Name":"竹草屋","Type":1,"Durable":800,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":3,"PoultryNum":0,"Comfortable":30,"Boom":30,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1002","CanMove":1,"Picture":"Build_1002","Describe":"竹条搭建建筑的框架使其更加坚固,柔软的草料和清新的竹叶让整个居所都散发着淡淡的香气。","Remove":1},
{"_t":"StructureConfig","_id":1003,"Name":"茅草屋","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":40,"Boom":40,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1003","CanMove":0,"Picture":"Build_1003","Describe":"茅草屋","Remove":1},
{"_t":"StructureConfig","_id":1004,"Name":"草木屋","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":50,"Boom":50,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1004","CanMove":0,"Picture":"Build_1004","Describe":"草木屋","Remove":1},
{"_t":"StructureConfig","_id":1005,"Name":"木瓦房","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":60,"Boom":60,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1005","CanMove":0,"Picture":"Build_1005","Describe":"木瓦房","Remove":1},
{"_t":"StructureConfig","_id":2001,"Name":"初级水井","Type":2,"Durable":800,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1001,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2001","CanMove":1,"Picture":"Build_2001","Describe":"简陋的水井,从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2002,"Name":"中级水井","Type":2,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2002","CanMove":1,"Picture":"Build_2002","Describe":"普通的水井,从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2003,"Name":"高级水井","Type":2,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2003","CanMove":1,"Picture":"Build_2003","Describe":"从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2004,"Name":"采矿房","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":2,"Function":3001,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1004,"State":0,"StateAffection":0,"SpecificPoint":1,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2004","CanMove":0,"Picture":"Build_2004","Describe":"在矿洞上建造后,就可以获取矿洞的资源","Remove":0},
{"_t":"StructureConfig","_id":2005,"Name":"中级采矿房","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":2,"Function":3002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1004,"State":0,"StateAffection":0,"SpecificPoint":1,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2005","CanMove":0,"Picture":"Build_2005","Describe":"升级后的采矿房,可以进入矿洞更深处获取资源","Remove":0},
{"_t":"StructureConfig","_id":2006,"Name":"石磨","Type":2,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2006","CanMove":1,"Picture":"Build_2006","Describe":"用于磨米磨面","Remove":1},
{"_t":"StructureConfig","_id":2007,"Name":"农田","Type":2,"Durable":-1,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":3,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2007","CanMove":1,"Picture":"Build_2007","Describe":"开垦好的农田,可种植作物","Remove":1},
{"_t":"StructureConfig","_id":2008,"Name":"初级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3003,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2008","CanMove":0,"Picture":"Build_2008","Describe":"初级鱼塘","Remove":0},
{"_t":"StructureConfig","_id":2009,"Name":"中级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3004,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2009","CanMove":0,"Picture":"Build_2009","Describe":"中级渔屋","Remove":0},
{"_t":"StructureConfig","_id":2010,"Name":"高级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3005,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2010","CanMove":0,"Picture":"Build_2010","Describe":"高级渔屋","Remove":0},
{"_t":"StructureConfig","_id":3001,"Name":"朴素工台","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3001","CanMove":1,"Picture":"Build_3001","Describe":"简易工作台,用来制造初期所需的工具","Remove":1},
{"_t":"StructureConfig","_id":3002,"Name":"工房","Type":3,"Durable":2000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3002","CanMove":1,"Picture":"Build_3002","Describe":"制作工具的场所,可解锁地图中级的资源。并能制造木质、竹质和石质工具。","Remove":1},
{"_t":"StructureConfig","_id":3003,"Name":"铁匠铺","Type":3,"Durable":3500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3003","CanMove":1,"Picture":"Build_3003","Describe":"用于锻造铁质工具,可解锁地图高级的资源。","Remove":1},
{"_t":"StructureConfig","_id":3004,"Name":"粗衣坊","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1003,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3004","CanMove":1,"Picture":"Build_3004","Describe":"生产制造初级服饰的建筑","Remove":1},
{"_t":"StructureConfig","_id":3005,"Name":"织坊","Type":3,"Durable":2000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1003,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3005","CanMove":1,"Picture":"Build_3005","Describe":"生产高级布料、衣物的场所","Remove":1},
{"_t":"StructureConfig","_id":3006,"Name":"朴素石灶","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":4,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1005,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3006","CanMove":1,"Picture":"Build_3006","Describe":"临时搭建的灶台,可制作简单的饭菜","Remove":1},
{"_t":"StructureConfig","_id":3007,"Name":"炊房","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":4,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1005,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3007","CanMove":1,"Picture":"Build_3007","Describe":"制作饭菜的场所","Remove":1},
{"_t":"StructureConfig","_id":3008,"Name":"药炉","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":5,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1006,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3008","CanMove":1,"Picture":"Build_3008","Describe":"临时堆砌的药炉,可满足低级药品制作条件","Remove":1},
{"_t":"StructureConfig","_id":3009,"Name":"药室","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":5,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1006,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3009","CanMove":1,"Picture":"Build_3009","Describe":"制作药品的场所","Remove":1},
{"_t":"StructureConfig","_id":3010,"Name":"蚕室","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3010","CanMove":1,"Picture":"Build_3010","Describe":"柔丝吐尽三千丈,留下相思几百层","Remove":1},
{"_t":"StructureConfig","_id":3011,"Name":"瓷窑","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3011","CanMove":1,"Picture":"Build_3011","Describe":"瓷窑","Remove":1},
{"_t":"StructureConfig","_id":3012,"Name":"地窖","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3012","CanMove":1,"Picture":"Build_3012","Describe":"地窖,腌制食物","Remove":1},
{"_t":"StructureConfig","_id":4001,"Name":"简易粮仓","Type":4,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":1000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4001","CanMove":1,"Picture":"Build_4001","Describe":"初级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4002,"Name":"粮仓","Type":4,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":2000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4002","CanMove":1,"Picture":"Build_4002","Describe":"中级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4003,"Name":"高级粮仓","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":3000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4003","CanMove":1,"Picture":"Build_4003","Describe":"高级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4004,"Name":"邮楼","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4004","CanMove":1,"Picture":"Build_4004","Describe":"邮楼,运输","Remove":1},
{"_t":"StructureConfig","_id":4005,"Name":"木桥","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1009,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4005","CanMove":1,"Picture":"Build_4005","Describe":"木桥","Remove":0},
{"_t":"StructureConfig","_id":4006,"Name":"石桥","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1009,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4006","CanMove":1,"Picture":"Build_4006","Describe":"石桥","Remove":0},
{"_t":"StructureConfig","_id":4007,"Name":"犬舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4007","CanMove":1,"Picture":"Build_4007","Describe":"犬舍","Remove":1},
{"_t":"StructureConfig","_id":4008,"Name":"鸡圈","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4008","CanMove":1,"Picture":"Build_4008","Describe":"鸡圈","Remove":1},
{"_t":"StructureConfig","_id":4009,"Name":"禽舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4009","CanMove":1,"Picture":"Build_4009","Describe":"禽舍","Remove":1},
{"_t":"StructureConfig","_id":4010,"Name":"学舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4010","CanMove":1,"Picture":"Build_4010","Describe":"学舍","Remove":1},
{"_t":"StructureConfig","_id":4011,"Name":"酒楼","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4011","CanMove":1,"Picture":"Build_4011","Describe":"酒楼","Remove":1},
{"_t":"StructureConfig","_id":4012,"Name":"水车","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4012","CanMove":1,"Picture":"Build_4012","Describe":"水车","Remove":1},
{"_t":"StructureConfig","_id":4013,"Name":"武庄","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4013","CanMove":1,"Picture":"Build_4013","Describe":"武庄","Remove":1},
{"_t":"StructureConfig","_id":4014,"Name":"宗厅","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4014","CanMove":1,"Picture":"Build_4014","Describe":"宗厅","Remove":1},
{"_t":"StructureConfig","_id":4015,"Name":"田间小屋","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":7,"Function":5,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4015","CanMove":1,"Picture":"Build_4015","Describe":"田间小屋","Remove":1},
{"_t":"StructureConfig","_id":1001,"Name":"大草棚","Type":1,"Durable":300,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":2,"PoultryNum":0,"Comfortable":10,"Boom":10,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1001","CanMove":1,"Picture":"Build_1001","Describe":"使用木头和草料快速搭建而成的草棚,虽然看起来十分简陋但也是初期不错的临时居所。","Remove":1},
{"_t":"StructureConfig","_id":1002,"Name":"竹草屋","Type":1,"Durable":800,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":3,"PoultryNum":0,"Comfortable":30,"Boom":30,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1002","CanMove":1,"Picture":"Build_1002","Describe":"竹条搭建建筑的框架使其更加坚固,柔软的草料和清新的竹叶让整个居所都散发着淡淡的香气。","Remove":1},
{"_t":"StructureConfig","_id":1003,"Name":"茅草屋","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":40,"Boom":40,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1003","CanMove":0,"Picture":"Build_1003","Describe":"茅草屋","Remove":1},
{"_t":"StructureConfig","_id":1004,"Name":"草木屋","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":50,"Boom":50,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1004","CanMove":0,"Picture":"Build_1004","Describe":"草木屋","Remove":1},
{"_t":"StructureConfig","_id":1005,"Name":"木瓦房","Type":1,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":4,"PoultryNum":0,"Comfortable":60,"Boom":60,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_1005","CanMove":0,"Picture":"Build_1005","Describe":"木瓦房","Remove":1},
{"_t":"StructureConfig","_id":2001,"Name":"初级水井","Type":2,"Durable":800,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1001,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2001","CanMove":1,"Picture":"Build_2001","Describe":"简陋的水井,从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2002,"Name":"中级水井","Type":2,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2002","CanMove":1,"Picture":"Build_2002","Describe":"普通的水井,从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2003,"Name":"高级水井","Type":2,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":1,"Function":1002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1001,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2003","CanMove":1,"Picture":"Build_2003","Describe":"从井里可以获得干净的地下水源。(注意事项:看好小孩!不要在井边追逐嬉戏打闹!)","Remove":1},
{"_t":"StructureConfig","_id":2004,"Name":"采矿房","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":2,"Function":3001,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1004,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":1,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2004","CanMove":0,"Picture":"Build_2004","Describe":"在矿洞上建造后,就可以获取矿洞的资源","Remove":0},
{"_t":"StructureConfig","_id":2005,"Name":"中级采矿房","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":2,"Function":3002,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1004,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":1,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2005","CanMove":0,"Picture":"Build_2005","Describe":"升级后的采矿房,可以进入矿洞更深处获取资源","Remove":0},
{"_t":"StructureConfig","_id":2006,"Name":"石磨","Type":2,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2006","CanMove":1,"Picture":"Build_2006","Describe":"用于磨米磨面","Remove":1},
{"_t":"StructureConfig","_id":2007,"Name":"农田","Type":2,"Durable":-1,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":3,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2007","CanMove":1,"Picture":"Build_2007","Describe":"开垦好的农田,可种植作物","Remove":1},
{"_t":"StructureConfig","_id":2008,"Name":"初级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3003,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2008","CanMove":0,"Picture":"Build_2008","Describe":"初级鱼塘","Remove":0},
{"_t":"StructureConfig","_id":2009,"Name":"中级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3004,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2009","CanMove":0,"Picture":"Build_2009","Describe":"中级渔屋","Remove":0},
{"_t":"StructureConfig","_id":2010,"Name":"高级渔屋","Type":2,"Durable":-1,"DurableCoefficient":0,"FirmCoinNum":0,"CompleteMoneyNum":0,"Special":2,"Function":3005,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1007,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_2010","CanMove":0,"Picture":"Build_2010","Describe":"高级渔屋","Remove":0},
{"_t":"StructureConfig","_id":3001,"Name":"朴素工台","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3001","CanMove":1,"Picture":"Build_3001","Describe":"简易工作台,用来制造初期所需的工具","Remove":1},
{"_t":"StructureConfig","_id":3002,"Name":"工房","Type":3,"Durable":2000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3002","CanMove":1,"Picture":"Build_3002","Describe":"制作工具的场所,可解锁地图中级的资源。并能制造木质、竹质和石质工具。","Remove":1},
{"_t":"StructureConfig","_id":3003,"Name":"铁匠铺","Type":3,"Durable":3500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1002,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3003","CanMove":1,"Picture":"Build_3003","Describe":"用于锻造铁质工具,可解锁地图高级的资源。","Remove":1},
{"_t":"StructureConfig","_id":3004,"Name":"粗衣坊","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1003,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3004","CanMove":1,"Picture":"Build_3004","Describe":"生产制造初级服饰的建筑","Remove":1},
{"_t":"StructureConfig","_id":3005,"Name":"织坊","Type":3,"Durable":2000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1003,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3005","CanMove":1,"Picture":"Build_3005","Describe":"生产高级布料、衣物的场所","Remove":1},
{"_t":"StructureConfig","_id":3006,"Name":"朴素石灶","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":4,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1005,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3006","CanMove":1,"Picture":"Build_3006","Describe":"临时搭建的灶台,可制作简单的饭菜","Remove":1},
{"_t":"StructureConfig","_id":3007,"Name":"炊房","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":4,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1005,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3007","CanMove":1,"Picture":"Build_3007","Describe":"制作饭菜的场所","Remove":1},
{"_t":"StructureConfig","_id":3008,"Name":"药炉","Type":3,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":5,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1006,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3008","CanMove":1,"Picture":"Build_3008","Describe":"临时堆砌的药炉,可满足低级药品制作条件","Remove":1},
{"_t":"StructureConfig","_id":3009,"Name":"药室","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":5,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1006,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3009","CanMove":1,"Picture":"Build_3009","Describe":"制作药品的场所","Remove":1},
{"_t":"StructureConfig","_id":3010,"Name":"蚕室","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3010","CanMove":1,"Picture":"Build_3010","Describe":"柔丝吐尽三千丈,留下相思几百层","Remove":1},
{"_t":"StructureConfig","_id":3011,"Name":"瓷窑","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3011","CanMove":1,"Picture":"Build_3011","Describe":"瓷窑","Remove":1},
{"_t":"StructureConfig","_id":3012,"Name":"地窖","Type":3,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_3012","CanMove":1,"Picture":"Build_3012","Describe":"地窖,腌制食物","Remove":1},
{"_t":"StructureConfig","_id":4001,"Name":"简易粮仓","Type":4,"Durable":1000,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":1000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4001","CanMove":1,"Picture":"Build_4001","Describe":"初级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4002,"Name":"粮仓","Type":4,"Durable":1500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":2000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4002","CanMove":1,"Picture":"Build_4002","Describe":"中级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4003,"Name":"高级粮仓","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":6,"Function":3000,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1008,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4003","CanMove":1,"Picture":"Build_4003","Describe":"高级粮仓","Remove":1},
{"_t":"StructureConfig","_id":4004,"Name":"邮楼","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4004","CanMove":1,"Picture":"Build_4004","Describe":"邮楼,运输","Remove":1},
{"_t":"StructureConfig","_id":4005,"Name":"木桥","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1009,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4005","CanMove":1,"Picture":"Build_4005","Describe":"木桥","Remove":0},
{"_t":"StructureConfig","_id":4006,"Name":"石桥","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":1009,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4006","CanMove":1,"Picture":"Build_4006","Describe":"石桥","Remove":0},
{"_t":"StructureConfig","_id":4007,"Name":"犬舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4007","CanMove":1,"Picture":"Build_4007","Describe":"犬舍","Remove":1},
{"_t":"StructureConfig","_id":4008,"Name":"鸡圈","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4008","CanMove":1,"Picture":"Build_4008","Describe":"鸡圈","Remove":1},
{"_t":"StructureConfig","_id":4009,"Name":"禽舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4009","CanMove":1,"Picture":"Build_4009","Describe":"禽舍","Remove":1},
{"_t":"StructureConfig","_id":4010,"Name":"学舍","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4010","CanMove":1,"Picture":"Build_4010","Describe":"学舍","Remove":1},
{"_t":"StructureConfig","_id":4011,"Name":"酒楼","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4011","CanMove":1,"Picture":"Build_4011","Describe":"酒楼","Remove":1},
{"_t":"StructureConfig","_id":4012,"Name":"水车","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4012","CanMove":1,"Picture":"Build_4012","Describe":"水车","Remove":1},
{"_t":"StructureConfig","_id":4013,"Name":"武庄","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4013","CanMove":1,"Picture":"Build_4013","Describe":"武庄","Remove":1},
{"_t":"StructureConfig","_id":4014,"Name":"宗厅","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":0,"Function":0,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4014","CanMove":1,"Picture":"Build_4014","Describe":"宗厅","Remove":1},
{"_t":"StructureConfig","_id":4015,"Name":"田间小屋","Type":4,"Durable":2500,"DurableCoefficient":1,"FirmCoinNum":100,"CompleteMoneyNum":100,"Special":7,"Function":5,"DwellNumber":0,"PoultryNum":0,"Comfortable":0,"Boom":20,"UpgradeSequence":0,"RelatedTechnology":[],"State":0,"StateAffection":0,"SpecificPoint":0,"ON_OFF":0,"AtcFrequency":0,"Atc":0,"TargetNum":0,"Prefab":"Build_4015","CanMove":1,"Picture":"Build_4015","Describe":"田间小屋","Remove":1},
]}

1
Excel/Json/s/SynthesisConfig.txt

@ -40,6 +40,7 @@
{"_t":"SynthesisConfig","_id":1039,"Name":"水车","MixtureTpye":1,"MixtureID":3024,"QualityMixtureID":0,"BodyVolume":600,"TimeConsume":-1,"Copies":1,"QualityCopies":0,"StructureID":[0],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1037,1039,1035],"ItemNum":[100,100,100],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":1040,"Name":"武庄","MixtureTpye":1,"MixtureID":3025,"QualityMixtureID":0,"BodyVolume":600,"TimeConsume":-1,"Copies":1,"QualityCopies":0,"StructureID":[0],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1037,1039,1035],"ItemNum":[100,100,100],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":1041,"Name":"宗厅","MixtureTpye":1,"MixtureID":3026,"QualityMixtureID":0,"BodyVolume":600,"TimeConsume":-1,"Copies":1,"QualityCopies":0,"StructureID":[0],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1037,1039,1035],"ItemNum":[100,100,100],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":1042,"Name":"田间小屋","MixtureTpye":1,"MixtureID":4015,"QualityMixtureID":0,"BodyVolume":100,"TimeConsume":-1,"Copies":1,"QualityCopies":0,"StructureID":[0],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1037,1039,1035],"ItemNum":[10,10,10],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":2001,"Name":"木板","MixtureTpye":2,"MixtureID":1012,"QualityMixtureID":0,"BodyVolume":0,"TimeConsume":2,"Copies":1,"QualityCopies":0,"StructureID":[3001,3002,3003],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1011],"ItemNum":[5],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":2002,"Name":"石块","MixtureTpye":2,"MixtureID":1014,"QualityMixtureID":0,"BodyVolume":0,"TimeConsume":2,"Copies":1,"QualityCopies":0,"StructureID":[3001,3002,3003],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1013],"ItemNum":[5],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},
{"_t":"SynthesisConfig","_id":2003,"Name":"亚麻布","MixtureTpye":2,"MixtureID":1016,"QualityMixtureID":0,"BodyVolume":0,"TimeConsume":2,"Copies":1,"QualityCopies":0,"StructureID":[3003,3004],"SkillCondition":0,"DisplayCondition":0,"Parameter":0,"UnlockCondition":1,"Parameter2":1,"BoomCondition":0,"ScienceId":0,"ItemId":[1015],"ItemNum":[10],"NeedProficiency":0,"ProficiencyPerItem":0,"QualityProficiencyPerItem":0,"ControllableFactor":0,"FactorDemand":[0]},

3
Excel/Json/s/TextConfig.txt

@ -5,7 +5,7 @@
{"_t":"TextConfig","_id":1004,"Text":"已完成制作"},
{"_t":"TextConfig","_id":1005,"Text":"该建筑已达到建造数量上限"},
{"_t":"TextConfig","_id":1006,"Text":"材料不足或规模条件未达成"},
{"_t":"TextConfig","_id":1007,"Text":"您的修复零件或金币不足"},
{"_t":"TextConfig","_id":1007,"Text":"材料或铜币不足"},
{"_t":"TextConfig","_id":1008,"Text":"道具不足"},
{"_t":"TextConfig","_id":1009,"Text":"{主角}不在桃谷中"},
{"_t":"TextConfig","_id":1010,"Text":"种子不足"},
@ -68,6 +68,7 @@
{"_t":"TextConfig","_id":1067,"Text":"当前季节无法种植该作物"},
{"_t":"TextConfig","_id":1068,"Text":"粮仓已满,无法收获作物"},
{"_t":"TextConfig","_id":1069,"Text":"请先设置农夫"},
{"_t":"TextConfig","_id":1070,"Text":"耐久已满,无需修缮"},
{"_t":"TextConfig","_id":2001,"Text":"抵达中..."},
{"_t":"TextConfig","_id":2002,"Text":"每日起床后一个时辰、下雨时以及雨后一个时辰植物上会蓄满露水"},
{"_t":"TextConfig","_id":2003,"Text":"已枯竭,{再生条件}再生"},

BIN
Excel/StructureConfig.xlsx

Binary file not shown.

BIN
Excel/SynthesisConfig.xlsx

Binary file not shown.

BIN
Excel/TextConfig.xlsx

Binary file not shown.

4
FGUIProject/FUI_ET/assets/Building/BuildingItem.xml

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="320,100" extention="Button">
<controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
<controller name="canBuild" pages="0,,1," selected="1"/>
<controller name="canBuild" pages="0,,1," selected="0"/>
<displayList>
<graph id="n0_nd6r" name="n0" xy="0,0" size="320,100" touchable="false" type="rect" lineSize="0" fillColor="#fff0f0f0">
<gearDisplay controller="button" pages="0"/>
@ -16,7 +16,7 @@
<relation target="" sidePair="width-width,height-height"/>
</graph>
<loader id="n4_nd6r" name="Icon" xy="1,-1" size="100,100" align="center" vAlign="middle" fill="scale"/>
<text id="n5_nd6r" name="Name" xy="158,1" size="98,26" fontSize="18" align="center" vAlign="middle" autoSize="none" text="Name"/>
<text id="n5_nd6r" name="Name" xy="158,2" size="98,29" fontSize="20" align="center" vAlign="middle" autoSize="none" bold="true" text="Name"/>
<text id="n6_yl2h" name="n6" xy="160,70" size="67,26" fontSize="18" autoSize="none" text="已拥有:"/>
<text id="n7_yl2h" name="OwnNum" xy="229,70" size="35,26" fontSize="18" align="center" autoSize="none" text="10"/>
<graph id="n8_yl2h" name="n8" xy="0,0" size="30,30" type="eclipse" fillColor="#ff00ff00">

102
FGUIProject/FUI_ET/assets/Building/Farmland/FarmlandBatchWindow.xml

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="1280,720" pivot="0.5,0.5">
<controller name="farmlandState" pages="0,空闲,1,已经播种,3,生长,4,成熟" selected="0"/>
<controller name="hasPeople" pages="0,,1," selected="0"/>
<controller name="isBatchOperating" alias=" 是否正在进行批量操作" pages="0,,1," selected="0"/>
<displayList>
<graph id="n1_nrka" name="n1" xy="208,570" size="1000,150" group="n4_nrka" type="rect"/>
<list id="n0_nrka" name="PlantSeedList" xy="231,591" size="800,110" group="n4_nrka" layout="row" overflow="scroll" scroll="horizontal" margin="5,5,0,0" lineGap="5" colGap="5" defaultItem="ui://2126z1eanrkav" autoClearItems="true">
<item/>
<item/>
<item/>
<item/>
<item/>
</list>
<graph id="n3_nrka" name="n3" xy="1046,596" size="2,100" group="n4_nrka" type="rect" fillColor="#ff000000"/>
<component id="n7_nrka" name="SeedInfoPopup" src="nrkaw" fileName="Farmland/SeedInfoPopup.xml" xy="210,403" group="n4_nrka"/>
<image id="n52_i9fy" name="n52" src="i9fyz" fileName="Images/plant-seed.png" xy="1073,594" size="100,100" group="n4_nrka"/>
<image id="n54_i9fy" name="PlantSeedCursor" src="i9fyz" fileName="Images/plant-seed.png" xy="637,385" size="30,30" group="n4_nrka" visible="false"/>
<group id="n4_nrka" name="SeedPanel" xy="208,385" size="1000,335" advanced="true">
<gearDisplay controller="farmlandState" pages="0"/>
<gearDisplay2 controller="isBatchOperating" pages="0" condition="0"/>
</group>
<graph id="n8_sp3r" name="n8" xy="208,570" size="1000,150" group="n9_sp3r" type="rect"/>
<graph id="n10_sp3r" name="n10" xy="872,599" size="2,100" group="n9_sp3r" type="rect" fillColor="#ff000000"/>
<loader id="n11_sp3r" name="WaitForPlant_CropIcon" xy="538,606" size="90,90" group="n9_sp3r" align="center" vAlign="middle" fill="scale"/>
<text id="n12_sp3r" name="n12" xy="645,609" size="52,24" group="n9_sp3r" fontSize="16" text="状态:"/>
<text id="n13_sp3r" name="WaitForPlantText" xy="697,609" size="52,24" group="n9_sp3r" fontSize="16" ubb="true" text="待播种"/>
<text id="n14_sp3r" name="n14" xy="645,671" size="52,24" group="n9_sp3r" fontSize="16" text="产量:"/>
<text id="n15_sp3r" name="n15" xy="698,671" size="21,24" group="n9_sp3r" fontSize="16" text="---"/>
<group id="n9_sp3r" name="WaitForPlantPanel" xy="208,570" size="1000,150" advanced="true">
<gearDisplay controller="farmlandState" pages="1"/>
<gearDisplay2 controller="isBatchOperating" pages="0" condition="0"/>
</group>
<graph id="n18_hm6k" name="n18" xy="208,570" size="1000,150" group="n26_hm6k" type="rect"/>
<graph id="n19_hm6k" name="n19" xy="872,599" size="2,100" group="n26_hm6k" type="rect" fillColor="#ff000000"/>
<loader id="n20_hm6k" name="Grow_CropIcon" xy="538,606" size="90,90" group="n26_hm6k" align="center" vAlign="middle" fill="scale"/>
<text id="n21_hm6k" name="n21" xy="645,609" size="52,24" group="n26_hm6k" fontSize="16" text="状态:"/>
<text id="n22_hm6k" name="GrowText" xy="697,609" size="52,24" group="n26_hm6k" fontSize="16" ubb="true" text="待播种"/>
<text id="n23_hm6k" name="n23" xy="645,671" size="52,24" group="n26_hm6k" fontSize="16" text="产量:"/>
<text id="n24_hm6k" name="Grow_ProductionNum" xy="698,671" size="21,24" group="n26_hm6k" fontSize="16" ubb="true" text="---"/>
<component id="n25_hm6k" name="GrowSpeedUpButton" src="nd6r3" fileName="GreenButton.xml" xy="906,622" size="100,50" group="n26_hm6k">
<Button title="加速"/>
</component>
<group id="n26_hm6k" name="GrowPanel" xy="208,570" size="1000,150" advanced="true">
<gearDisplay controller="farmlandState" pages="3"/>
<gearDisplay2 controller="isBatchOperating" pages="0" condition="0"/>
</group>
<graph id="n27_ifd4" name="n27" xy="208,570" size="1000,150" group="n35_ifd4" type="rect"/>
<graph id="n28_ifd4" name="n28" xy="872,599" size="2,100" group="n35_ifd4" type="rect" fillColor="#ff000000"/>
<loader id="n29_ifd4" name="Harvest_CropIcon" xy="538,606" size="90,90" group="n35_ifd4" align="center" vAlign="middle" fill="scale"/>
<text id="n30_ifd4" name="n30" xy="645,609" size="52,24" group="n35_ifd4" fontSize="16" text="状态:"/>
<text id="n31_ifd4" name="HarvestText" xy="697,609" size="52,24" group="n35_ifd4" fontSize="16" ubb="true" text="已成熟"/>
<text id="n32_ifd4" name="n32" xy="645,671" size="52,24" group="n35_ifd4" fontSize="16" text="产量:"/>
<text id="n33_ifd4" name="Harvest_ProductionNum" xy="698,671" size="21,24" group="n35_ifd4" fontSize="16" ubb="true" text="---"/>
<image id="n53_i9fy" name="n53" src="i9fy10" fileName="Images/sickle.png" xy="990,593" size="100,100" group="n35_ifd4"/>
<image id="n55_i9fy" name="HarvestCursor" src="i9fy10" fileName="Images/sickle.png" xy="637,385" size="30,30" group="n35_ifd4" visible="false"/>
<group id="n35_ifd4" name="HarvestPanel" xy="208,385" size="1000,335" advanced="true">
<gearDisplay controller="farmlandState" pages="4"/>
<gearDisplay2 controller="isBatchOperating" pages="0" condition="0"/>
</group>
<component id="n17_sp3r" name="RemoveButton" src="nd6r3" fileName="GreenButton.xml" xy="614,521" size="114,49">
<gearDisplay controller="isBatchOperating" pages="0"/>
<Button title="拆除"/>
</component>
<component id="n5_nrka" name="CloseButton" src="nd6r3" fileName="GreenButton.xml" xy="1172,544" size="53,49">
<gearDisplay controller="isBatchOperating" pages="0"/>
<gearXY controller="farmlandState" pages="0,1,3,4" values="1172,544|1172,547|1172,545|1172,545"/>
<Button title="X"/>
</component>
<graph id="n44_m5kw" name="n44" xy="54,498" size="50,2" group="n39_m5kw" type="rect" fillColor="#ff000000"/>
<graph id="n38_m5kw" name="n38" xy="89,492" size="120,228" group="n39_m5kw" type="rect"/>
<graph id="n51_wnqa" name="n51" xy="99,505" size="101,101" group="n39_m5kw" type="rect"/>
<loader id="n40_m5kw" name="Farmer_Icon" xy="99,505" size="100,100" group="n39_m5kw" fill="scale">
<gearDisplay controller="hasPeople" pages="1"/>
</loader>
<text id="n41_m5kw" name="Farmer_Name" xy="106,622" size="84,29" group="n39_m5kw" fontSize="20" align="center" vAlign="middle" text="农夫名字">
<gearDisplay controller="hasPeople" pages="1"/>
</text>
<text id="n42_m5kw" name="n39" xy="99,672" size="64,29" group="n39_m5kw" fontSize="20" vAlign="middle" autoSize="none" text="劳力:">
<gearDisplay controller="hasPeople" pages="1"/>
</text>
<text id="n43_m5kw" name="Farmer_Labor" xy="158,671" size="40,29" group="n39_m5kw" fontSize="20" align="center" vAlign="middle" autoSize="none" text="99">
<gearDisplay controller="hasPeople" pages="1"/>
</text>
<graph id="n45_m5kw" name="n45" xy="70,498" size="2,20" group="n39_m5kw" type="rect" fillColor="#ff000000"/>
<graph id="n46_m5kw" name="n46" xy="57,517" size="28,54" group="n39_m5kw" type="rect"/>
<text id="n47_m5kw" name="n47" xy="57,518" size="27,52" group="n39_m5kw" fontSize="18" align="center" vAlign="middle" autoSize="none" text="农夫"/>
<component id="n48_m5kw" name="CancelFarmerButton" src="kmdlp" fileName="WorkerCancelButton.xml" xy="175,489" size="40,40" group="n39_m5kw">
<gearDisplay controller="hasPeople" pages="1"/>
</component>
<component id="n49_m5kw" name="AddFarmerButton" src="nd6r3" fileName="GreenButton.xml" xy="99,505" size="100,100" group="n39_m5kw">
<gearDisplay controller="hasPeople" pages="0"/>
<Button title="+"/>
</component>
<text id="n50_wnqa" name="PeopleState" xy="124,581" size="52,24" group="n39_m5kw" fontSize="16" text="在路上">
<gearDisplay controller="hasPeople" pages="1"/>
</text>
<group id="n39_m5kw" name="FarmerInfoGroup" xy="54,489" size="161,231" advanced="true">
<gearDisplay controller="isBatchOperating" pages="0"/>
</group>
</displayList>
</component>

BIN
FGUIProject/FUI_ET/assets/Building/Images/plant-seed.png (Stored with Git LFS)

Binary file not shown.

BIN
FGUIProject/FUI_ET/assets/Building/Images/sickle.png (Stored with Git LFS)

Binary file not shown.

3
FGUIProject/FUI_ET/assets/Building/package.xml

@ -34,6 +34,9 @@
<component id="nrkav" name="PlantSeedItem.xml" path="/Farmland/" exported="true"/>
<component id="nrkaw" name="SeedInfoPopup.xml" path="/Farmland/"/>
<component id="ifd4x" name="IconButton.xml" path="/Farmland/"/>
<component id="igeqy" name="FarmlandBatchWindow.xml" path="/Farmland/" exported="true"/>
<image id="i9fyz" name="plant-seed.png" path="/Images/"/>
<image id="i9fy10" name="sickle.png" path="/Images/"/>
</resources>
<publish name="" genCode="true"/>
</packageDescription>

1
Server/Hotfix/Demo/Unit/UnitFactory.cs

@ -70,7 +70,6 @@ namespace ET
InitWeather(unit);
}
unit.InitPeopleNumberic();
return unit;
}

32
Server/Model/Base/StructBsonSerialize.cs

@ -1,9 +1,12 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using MongoDB.Bson;
using MongoDB.Bson.IO;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Bson.Serialization.Options;
using MongoDB.Bson.Serialization.Serializers;
namespace ET
@ -44,7 +47,12 @@ namespace ET
FieldInfo field = actualType.GetField(name,BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
if (field != null)
{
object value = BsonSerializer.Deserialize(bsonReader, field.FieldType);
var deserializer = BsonSerializer.LookupSerializer(field.FieldType);
deserializer = ApplyRepresentationConfig(deserializer, field);
object value = deserializer.Deserialize(BsonDeserializationContext.CreateRoot(bsonReader));
field.SetValue(obj, value);
}
}
@ -53,5 +61,27 @@ namespace ET
return (TValue) obj;
}
protected IBsonSerializer ApplyRepresentationConfig(IBsonSerializer deserializer, FieldInfo field)
{
System.Object[] myAttributes = field.GetCustomAttributes(typeof(BsonRepresentationAttribute), false);
if (myAttributes.Length > 0)
{
// 参考BsonRepresentationAttribute中的Apply的写法,那个方法是个protect的,调用不到
var representationAttr = myAttributes[0] as BsonRepresentationAttribute;
if (deserializer is IRepresentationConfigurable configurable)
{
deserializer = configurable.WithRepresentation(representationAttr.Representation);
}
if (deserializer is IRepresentationConverterConfigurable converterConfigurable)
{
RepresentationConverter converter = new RepresentationConverter(representationAttr.AllowOverflow, representationAttr.AllowTruncation);
deserializer = converterConfigurable.WithConverter(converter);
}
}
return deserializer;
}
}
}

27
Server/Model/Generate/Config/StructureConfig.cs

@ -122,41 +122,44 @@ namespace ET
/// <summary>升级序列</summary>
[ProtoMember(14)]
public int UpgradeSequence { get; set; }
/// <summary>关联BUFF</summary>
/// <summary>关联科技</summary>
[ProtoMember(15)]
public int[] RelatedTechnology { get; set; }
/// <summary>关联BUFF</summary>
[ProtoMember(16)]
public int State { get; set; }
/// <summary>BUFF效果</summary>
[ProtoMember(16)]
[ProtoMember(17)]
public int StateAffection { get; set; }
/// <summary>特定点</summary>
[ProtoMember(17)]
[ProtoMember(18)]
public int SpecificPoint { get; set; }
/// <summary>开关功能</summary>
[ProtoMember(18)]
[ProtoMember(19)]
public int ON_OFF { get; set; }
/// <summary>攻击频率</summary>
[ProtoMember(19)]
[ProtoMember(20)]
public int AtcFrequency { get; set; }
/// <summary>攻击力</summary>
[ProtoMember(20)]
[ProtoMember(21)]
public int Atc { get; set; }
/// <summary>目标数量</summary>
[ProtoMember(21)]
[ProtoMember(22)]
public int TargetNum { get; set; }
/// <summary>预置文件</summary>
[ProtoMember(22)]
[ProtoMember(23)]
public string Prefab { get; set; }
/// <summary>可否移动</summary>
[ProtoMember(23)]
[ProtoMember(24)]
public int CanMove { get; set; }
/// <summary>图标</summary>
[ProtoMember(24)]
[ProtoMember(25)]
public string Picture { get; set; }
/// <summary>描述</summary>
[ProtoMember(25)]
[ProtoMember(26)]
public string Describe { get; set; }
/// <summary>可拆除</summary>
[ProtoMember(26)]
[ProtoMember(27)]
public int Remove { get; set; }
}

4
ThirdParty/UnityEngine/UnityEngine.csproj vendored

@ -15,4 +15,8 @@
<OutputPath>..\..\Bin\</OutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MongoDB.Bson" Version="2.13.3" />
</ItemGroup>
</Project>

4
ThirdParty/UnityEngine/Vector2.cs vendored

@ -1,5 +1,7 @@
using System;
using System.Globalization;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
namespace UnityEngine
{
@ -9,7 +11,9 @@ namespace UnityEngine
public static readonly Vector2 zero = new Vector2();
public static readonly Vector2 one = new Vector2(1f, 1f);
[BsonRepresentation(BsonType.Double, AllowTruncation = true)]
public float x;
[BsonRepresentation(BsonType.Double, AllowTruncation = true)]
public float y;
public static implicit operator Vector2(Vector3 v)

11
Unity/Animancer.FSM.csproj

@ -53,7 +53,7 @@
<UnityVersion>2021.3.7f1c1</UnityVersion>
</PropertyGroup>
<ItemGroup>
<Analyzer Include="C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Visual Studio Tools for Unity\Analyzers\Microsoft.Unity.Analyzers.dll" />
<Analyzer Include="D:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Visual Studio Tools for Unity\Analyzers\Microsoft.Unity.Analyzers.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="Assets\ThirdParty\Animancer\Utilities\FSM\StateMachine1.StateSelector.cs" />
@ -310,6 +310,9 @@
<Reference Include="UnityEditor.Graphs">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\Managed\UnityEditor.Graphs.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.Android.Extensions">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.WindowsStandalone.Extensions">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll</HintPath>
</Reference>
@ -346,6 +349,12 @@
<Reference Include="NCalc">
<HintPath>Assets\ThirdParty\NCalc\NCalc.dll</HintPath>
</Reference>
<Reference Include="Unity.Android.Types">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
</Reference>
<Reference Include="Unity.Android.Gradle">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll</HintPath>
</Reference>
<Reference Include="mscorlib">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll</HintPath>
</Reference>

11
Unity/Animancer.csproj

@ -53,7 +53,7 @@
<UnityVersion>2021.3.7f1c1</UnityVersion>
</PropertyGroup>
<ItemGroup>
<Analyzer Include="C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Visual Studio Tools for Unity\Analyzers\Microsoft.Unity.Analyzers.dll" />
<Analyzer Include="D:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Visual Studio Tools for Unity\Analyzers\Microsoft.Unity.Analyzers.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="Assets\ThirdParty\Animancer\Internal\Editor\Transition Preview Window\TransitionPreviewWindow.Animations.cs" />
@ -447,6 +447,9 @@
<Reference Include="UnityEditor.Graphs">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\Managed\UnityEditor.Graphs.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.Android.Extensions">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll</HintPath>
</Reference>
<Reference Include="UnityEditor.WindowsStandalone.Extensions">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll</HintPath>
</Reference>
@ -483,6 +486,12 @@
<Reference Include="NCalc">
<HintPath>Assets\ThirdParty\NCalc\NCalc.dll</HintPath>
</Reference>
<Reference Include="Unity.Android.Types">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll</HintPath>
</Reference>
<Reference Include="Unity.Android.Gradle">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll</HintPath>
</Reference>
<Reference Include="mscorlib">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.3.7f1c1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll</HintPath>
</Reference>

6
Unity/Assets/AssetBundleCollectorSetting.asset

@ -67,6 +67,12 @@ MonoBehaviour:
PackRuleName: PackDirectory
FilterRuleName: CollectPrefab
AssetTags:
- CollectPath: Assets/Bundles/Crop
CollectorType: 0
AddressRuleName: ExtAsPrefix
PackRuleName: PackDirectory
FilterRuleName: CollectPrefab
AssetTags:
- GroupName: People
GroupDesc:
AssetTags:

123
Unity/Assets/Bundles/Building/Build_2007.prefab

@ -10,7 +10,7 @@ GameObject:
m_Component:
- component: {fileID: 5770049575758657344}
m_Layer: 0
m_Name: Build2007
m_Name: Build_2007
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -80,25 +80,45 @@ PrefabInstance:
propertyPath: m_WasSpriteAssigned
value: 1
objectReference: {fileID: 0}
- target: {fileID: 731700310857263707, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1170174872867028032, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Size.x
value: 4.956482
value: 3.98
objectReference: {fileID: 0}
- target: {fileID: 1170174872867028032, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Size.y
value: 1.2059467
value: 2.26
objectReference: {fileID: 0}
- target: {fileID: 1170174872867028032, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Offset.x
value: 1.0328364
value: 1.01
objectReference: {fileID: 0}
- target: {fileID: 1170174872867028032, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Offset.y
value: 1.2449136
value: 0.06
objectReference: {fileID: 0}
- target: {fileID: 1762022180295558516, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1762022180295558516, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2028956815253182832, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
@ -171,6 +191,11 @@ PrefabInstance:
value:
objectReference: {fileID: 21300000, guid: 9f892ed4faf117f48affb363bc364751,
type: 3}
- target: {fileID: 4180406061585001569, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001569, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_WasSpriteAssigned
@ -181,6 +206,56 @@ PrefabInstance:
propertyPath: m_Name
value: Build_Base
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_SpriteTilingProperty.newSize.x
value: 5.12
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_SpriteTilingProperty.newSize.y
value: 5.12
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.x
value: 4.41
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.y
value: 2.26
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[1].x
value: -2
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[1].y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[2].x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[2].y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[3].x
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[3].y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7285514224346109702, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Size.x
@ -221,7 +296,8 @@ PrefabInstance:
propertyPath: m_SpriteTilingProperty.oldSize.y
value: 5.12
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedComponents:
- {fileID: 1170174872867028032, guid: 6c211c43825049b49a628486db1742df, type: 3}
m_SourcePrefab: {fileID: 100100000, guid: 6c211c43825049b49a628486db1742df, type: 3}
--- !u!4 &1803081211884258168 stripped
Transform:
@ -229,3 +305,38 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 2523737510876753688}
m_PrefabAsset: {fileID: 0}
--- !u!1 &4552664905066821224 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2028956815253182832, guid: 6c211c43825049b49a628486db1742df,
type: 3}
m_PrefabInstance: {fileID: 2523737510876753688}
m_PrefabAsset: {fileID: 0}
--- !u!60 &359396039108227649
PolygonCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4552664905066821224}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0}
oldSize: {x: 4.41, y: 2.26}
newSize: {x: 5.12, y: 5.12}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
m_Points:
m_Paths:
- - {x: 0, y: 0}
- {x: -2, y: 1}
- {x: 0, y: 2}
- {x: 2, y: 1}

251
Unity/Assets/Bundles/Building/Build_4015.prefab

@ -0,0 +1,251 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5770049575758657351
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5770049575758657344}
m_Layer: 0
m_Name: Build_4015
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5770049575758657344
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5770049575758657351}
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7451362288791825510}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &6731552888226856966
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 5770049575758657344}
m_Modifications:
- target: {fileID: 71363063701118114, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Size.x
value: 3.3567417
objectReference: {fileID: 0}
- target: {fileID: 71363063701118114, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Size.y
value: 5.123616
objectReference: {fileID: 0}
- target: {fileID: 71363063701118114, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Center.x
value: 1.0730132
objectReference: {fileID: 0}
- target: {fileID: 71363063701118114, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Center.y
value: 1.5804253
objectReference: {fileID: 0}
- target: {fileID: 220319652435891486, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 3aef39dd78e395747897e0f593f078d8,
type: 3}
- target: {fileID: 220319652435891486, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_WasSpriteAssigned
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1170174872867028032, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Size.x
value: 3.31
objectReference: {fileID: 0}
- target: {fileID: 1170174872867028032, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Size.y
value: 4.96
objectReference: {fileID: 0}
- target: {fileID: 1170174872867028032, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Offset.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1170174872867028032, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Offset.y
value: 2.49
objectReference: {fileID: 0}
- target: {fileID: 1762022180295558516, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1762022180295558516, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001569, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 1dfd28bf2d622fd4598958d9968cbb90,
type: 3}
- target: {fileID: 4180406061585001569, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_WasSpriteAssigned
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4180406061585001575, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Name
value: Build_Base
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.x
value: 5.12
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.y
value: 5.12
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[1].x
value: -5
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[1].y
value: 2.5
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[2].x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[2].y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[3].x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 6016910173537287446, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Points.m_Paths.Array.data[0].Array.data[3].y
value: 2.5
objectReference: {fileID: 0}
- target: {fileID: 7285514224346109702, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Size.x
value: 9.38246
objectReference: {fileID: 0}
- target: {fileID: 7285514224346109702, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Size.y
value: 2.3156226
objectReference: {fileID: 0}
- target: {fileID: 7285514224346109702, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Offset.x
value: -0.0838356
objectReference: {fileID: 0}
- target: {fileID: 7285514224346109702, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_Offset.y
value: 2.210794
objectReference: {fileID: 0}
- target: {fileID: 7285514224346109702, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.x
value: 10.24
objectReference: {fileID: 0}
- target: {fileID: 7285514224346109702, guid: 6c211c43825049b49a628486db1742df,
type: 3}
propertyPath: m_SpriteTilingProperty.oldSize.y
value: 10.24
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 6c211c43825049b49a628486db1742df, type: 3}
--- !u!4 &7451362288791825510 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4180406061585001568, guid: 6c211c43825049b49a628486db1742df,
type: 3}
m_PrefabInstance: {fileID: 6731552888226856966}
m_PrefabAsset: {fileID: 0}

7
Unity/Assets/Bundles/Building/Build_4015.prefab.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2dad1c00862037140bcc28ebb3fc25cd
PrefabImporter:
externalObjects: {}
userData:
assetBundleName: building.unity3d
assetBundleVariant:

252
Unity/Assets/Bundles/Config/StructureConfigCategory.bytes

@ -1,129 +1,129 @@
·é 大è<EFBFBD>‰æ£š ¬(0d8dP`
h
²
Build_1001¸Â
Build_1001Êu使用木头和è<EFBFBD>‰æ–™å¿«é€Ÿæ<EFBFBD>­å»ºè€Œæˆ<EFBFBD>çš„è<EFBFBD>‰æ£šï¼Œè™½ç„¶çœ‹èµ·æ<EFBFBD>¥å<EFBFBD><EFBFBD>分简陋但也是åˆ<EFBFBD>期ä¸<EFBFBD>错的临时居所。Ð
Àê 竹è<EFBFBD>‰å±‹  (0d8dP`h²
Build_1002¸Â
Build_1002Ê~竹æ<EFBFBD>¡æ<EFBFBD>­å»ºå»ºç­‘的框架使其更加å<EFBFBD>šå›ºï¼ŒæŸ”软的è<EFBFBD>‰æ–™å’Œæ¸…新的竹å<EFBFBD>¶è®©æ•´ä¸ªå±…所都散å<EFBFBD>‘ç<EFBFBD>€æ·¡æ·¡çš„香气。Ð
Hë 茅è<EFBFBD>‰å±‹ è(0d8dP`(h(²
Build_1003Â
Build_1003Ê 茅è<EFBFBD>‰å±‹Ð
Hì è<EFBFBD>‰æœ¨å±‹ è(0d8dP`2h2²
Build_1004Â
Build_1004Ê è<EFBFBD>‰æœ¨å±‹Ð
Hí 木瓦房 è(0d8dP`<h<²
Build_1005Â
Build_1005Ê 木瓦房Ð
ÑÑ åˆ<EFBFBD>级水井  (0d8d@h²
Build_2001¸Â
Build_2001Ê简陋的水井,从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ð
ÑÒ 中级水井 è(0d8d@h²
Build_2002¸Â
Build_2002Ê普通的水井,从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ð
¾Ó 高级水井 Ü (0d8d@h²
Build_2003¸Â
Build_2003Êu从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ð
Ô 采矿房 ÿÿÿÿÿÿÿÿÿ0d8d@hˆ²
Build_2004Â
Build_2004Ê6在矿洞上建造å<EFBFBD>Žï¼Œå°±å<EFBFBD>¯ä»¥èŽ·å<EFBFBD>–矿洞的资æº<EFBFBD>
ŽÕ中级采矿房 ÿÿÿÿÿÿÿÿÿ0d8d@hˆ²
Build_2005Â
Build_2005Ê<EFBFBD>‡çº§å<EFBFBD>Žçš„采矿房,å<EFBFBD>¯ä»¥è¿›å…¥çŸ¿æ´žæ›´æ·±å¤„获å<EFBFBD>–资æº<EFBFBD>
MÖ石磨 Ü (0d8dh²
Build_2006¸Â
Build_2006Ê用于磨米磨é<EFBFBD>¢Ð
i×农田 ÿÿÿÿÿÿÿÿÿ(0d8d@h²
Build_2007¸Â
Build_2007Ê$开垦好的农田,å<EFBFBD>¯ç§<EFBFBD>æ¤<EFBFBD>作物Ð
QØ åˆ<EFBFBD>级渔屋 ÿÿÿÿÿÿÿÿÿ@h²
Build_2008Â
Build_2008Ê åˆ<EFBFBD>级鱼塘
QÙ 中级渔屋 ÿÿÿÿÿÿÿÿÿ@h²
Build_2009Â
Build_2009Ê 中级渔屋
QÚ 高级渔屋 ÿÿÿÿÿÿÿÿÿ@h²
Build_2010Â
Build_2010Ê 高级渔屋
w¹ 朴素工å<EFBFBD>° è(0d8dh²
Build_3001¸Â
Build_3001Ê3简易工作å<EFBFBD>°ï¼Œç”¨æ<EFBFBD>¥åˆ¶é€ åˆ<EFBFBD>期所需的工具Ð
¤º工房 Ð(0d8dh²
Build_3002¸Â
Build_3002Êf制作工具的场所,å<EFBFBD>¯è§£é”<EFBFBD>地图中级的资æº<EFBFBD>。并能制造木质ã€<EFBFBD>竹质和石质工具。Ð
}» é“<EFBFBD>匠铺 ¬(0d8dh²
Build_3003¸Â
Build_3003Ê<用于锻造é“<EFBFBD>质工具,å<EFBFBD>¯è§£é”<EFBFBD>地图高级的资æº<EFBFBD>。Ð
b¼ ç²—è¡£å<EFBFBD>Š Ü (0d8dh²
Build_3004¸Â
Build_3004Ê!生产制造åˆ<EFBFBD>级æœ<EFBFBD>饰的建筑Ð
b½织å<EFBFBD>Š Ð(0d8dh²
Build_3005¸Â
Build_3005Ê$生产高级布料ã€<EFBFBD>衣物的场所Ð
v¾ 朴素石ç<EFBFBD> è(0d8d@h²
Build_3006¸Â
Build_3006Ê0临时æ<EFBFBD>­å»ºçš„ç<EFBFBD>¶å<EFBFBD>°ï¼Œå<EFBFBD>¯åˆ¶ä½œç®€å<EFBFBD>•的饭è<EFBFBD>œÐ
U¿炊房 Ü (0d8d@h²
Build_3007¸Â
Build_3007Ê制作饭è<EFBFBD>œçš„场所Ð
yÀè<EFBFBD>¯ç‚‰ è(0d8d@h²
Build_3008¸Â
Build_3008Ê9临时堆砌的è<EFBFBD>¯ç‚‰ï¼Œå<EFBFBD>¯æ»¡è¶³ä½Žçº§è<EFBFBD>¯å“<EFBFBD>制作æ<EFBFBD>¡ä»¶Ð
UÁè<EFBFBD>¯å®¤ Ü (0d8d@h²
Build_3009¸Â
Build_3009Ê制作è<EFBFBD>¯å“<EFBFBD>的场所Ð
hÂ蚕室 Ü (0d8dh²
Build_3010¸Â
Build_3010Ê-柔ä¸<EFBFBD>å<EFBFBD><EFBFBD>尽三å<EFBFBD>ƒä¸ˆï¼Œç•™ä¸‹ç›¸æ€<EFBFBD>几百层Ð
AÃ瓷窑 Ü (0d8dh²
Build_3011¸Â
Build_3011Ê瓷窑Ð
PÄ地窖 Ü (0d8dh²
Build_3012¸Â
Build_3012Ê地窖,腌制食物Ð
U¡ 简易粮仓 è(0d8d@h²
Build_4001¸Â
Build_4001Ê åˆ<EFBFBD>级粮仓Ð
O¢粮仓 Ü (0d8d@h²
Build_4002¸Â
Build_4002Ê 中级粮仓Ð
U£ 高级粮仓 Ä(0d8d@h²
Build_4003¸Â
Build_4003Ê 高级粮仓Ð
J¤邮楼 Ä(0d8dh²
Build_4004¸Â
Build_4004Ê邮楼,è¿<EFBFBD>输Ð
A¥木桥 Ä(0d8dh²
Build_4005¸Â
Build_4005Ê木桥
A¦石桥 Ä(0d8dh²
Build_4006¸Â
Build_4006Ê石桥
A§犬èˆ<EFBFBD> Ä(0d8dh²
Build_4007¸Â
Build_4007Ê犬èˆ<EFBFBD>Ð
A¨鸡圈 Ä(0d8dh²
Build_4008¸Â
Build_4008Ê鸡圈Ð
A©禽èˆ<EFBFBD> Ä(0d8dh²
Build_4009¸Â
Build_4009Ê禽èˆ<EFBFBD>Ð
Aªå­¦èˆ<EFBFBD> Ä(0d8dh²
Build_4010¸Â
Build_4010Êå­¦èˆ<EFBFBD>Ð
A«酒楼 Ä(0d8dh²
Build_4011¸Â
Build_4011Ê酒楼Ð
A¬水车 Ä(0d8dh²
Build_4012¸Â
Build_4012Ê水车Ð
A­武庄 Ä(0d8dh²
Build_4013¸Â
Build_4013Ê武庄Ð
A®宗厅 Ä(0d8dh²
Build_4014¸Â
Build_4014Ê宗厅Ð
Q¯ ç”°é—´å°<EFBFBD>屋 Ä(0d8d@Hh²
Build_4015¸Â
Build_4015Ê ç”°é—´å°<EFBFBD>屋Ð
º
Build_1001ÀÊ
Build_1001Òu使用木头和è<EFBFBD>‰æ–™å¿«é€Ÿæ<EFBFBD>­å»ºè€Œæˆ<EFBFBD>çš„è<EFBFBD>‰æ£šï¼Œè™½ç„¶çœ‹èµ·æ<EFBFBD>¥å<EFBFBD><EFBFBD>分简陋但也是åˆ<EFBFBD>期ä¸<EFBFBD>错的临时居所。Ø
Àê 竹è<EFBFBD>‰å±‹  (0d8dP`hº
Build_1002ÀÊ
Build_1002Ò~竹æ<EFBFBD>¡æ<EFBFBD>­å»ºå»ºç­‘的框架使其更加å<EFBFBD>šå›ºï¼ŒæŸ”软的è<EFBFBD>‰æ–™å’Œæ¸…新的竹å<EFBFBD>¶è®©æ•´ä¸ªå±…所都散å<EFBFBD>‘ç<EFBFBD>€æ·¡æ·¡çš„香气。Ø
Hë 茅è<EFBFBD>‰å±‹ è(0d8dP`(h(º
Build_1003Ê
Build_1003Ò 茅è<EFBFBD>‰å±‹Ø
Hì è<EFBFBD>‰æœ¨å±‹ è(0d8dP`2h2º
Build_1004Ê
Build_1004Ò è<EFBFBD>‰æœ¨å±‹Ø
Hí 木瓦房 è(0d8dP`<h<º
Build_1005Ê
Build_1005Ò 木瓦房Ø
ÑÑ åˆ<EFBFBD>级水井  (0d8d@hº
Build_2001ÀÊ
Build_2001Ò简陋的水井,从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ø
ÑÒ 中级水井 è(0d8d@hº
Build_2002ÀÊ
Build_2002Ò普通的水井,从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ø
¾Ó 高级水井 Ü (0d8d@hº
Build_2003ÀÊ
Build_2003Òu从井里å<EFBFBD>¯ä»¥èŽ·å¾—å¹²å‡€çš„åœ°ä¸‹æ°´æº<EFBFBD>。(注æ„<EFBFBD>事项:看好å°<EFBFBD>å­©ï¼<EFBFBD>ä¸<EFBFBD>è¦<EFBFBD>在井边追é€<EFBFBD>嬉æˆ<EFBFBD>打闹ï¼<EFBFBD>)Ø
Ô 采矿房 ÿÿÿÿÿÿÿÿÿ0d8d@h<EFBFBD>º
Build_2004Ê
Build_2004Ò6在矿洞上建造å<EFBFBD>Žï¼Œå°±å<EFBFBD>¯ä»¥èŽ·å<EFBFBD>–矿洞的资æº<EFBFBD>
ŽÕ中级采矿房 ÿÿÿÿÿÿÿÿÿ0d8d@h<EFBFBD>º
Build_2005Ê
Build_2005Ò<EFBFBD>‡çº§å<EFBFBD>Žçš„采矿房,å<EFBFBD>¯ä»¥è¿›å…¥çŸ¿æ´žæ›´æ·±å¤„获å<EFBFBD>–资æº<EFBFBD>
MÖ石磨 Ü (0d8dhº
Build_2006ÀÊ
Build_2006Ò用于磨米磨é<EFBFBD>¢Ø
i×农田 ÿÿÿÿÿÿÿÿÿ(0d8d@hº
Build_2007ÀÊ
Build_2007Ò$开垦好的农田,å<EFBFBD>¯ç§<EFBFBD>æ¤<EFBFBD>作物Ø
QØ åˆ<EFBFBD>级渔屋 ÿÿÿÿÿÿÿÿÿ@hº
Build_2008Ê
Build_2008Ò åˆ<EFBFBD>级鱼塘
QÙ 中级渔屋 ÿÿÿÿÿÿÿÿÿ@hº
Build_2009Ê
Build_2009Ò 中级渔屋
QÚ 高级渔屋 ÿÿÿÿÿÿÿÿÿ@hº
Build_2010Ê
Build_2010Ò 高级渔屋
w¹ 朴素工å<EFBFBD>° è(0d8dhº
Build_3001ÀÊ
Build_3001Ò3简易工作å<EFBFBD>°ï¼Œç”¨æ<EFBFBD>¥åˆ¶é€ åˆ<EFBFBD>期所需的工具Ø
¤º工房 Ð(0d8dhº
Build_3002ÀÊ
Build_3002Òf制作工具的场所,å<EFBFBD>¯è§£é”<EFBFBD>地图中级的资æº<EFBFBD>。并能制造木质ã€<EFBFBD>竹质和石质工具。Ø
}» é“<EFBFBD>匠铺 ¬(0d8dhº
Build_3003ÀÊ
Build_3003Ò<用于锻造é“<EFBFBD>质工具,å<EFBFBD>¯è§£é”<EFBFBD>地图高级的资æº<EFBFBD>。Ø
b¼ ç²—è¡£å<EFBFBD>Š Ü (0d8dhº
Build_3004ÀÊ
Build_3004Ò!生产制造åˆ<EFBFBD>级æœ<EFBFBD>饰的建筑Ø
b½织å<EFBFBD>Š Ð(0d8dhº
Build_3005ÀÊ
Build_3005Ò$生产高级布料ã€<EFBFBD>衣物的场所Ø
v¾ 朴素石ç<EFBFBD> è(0d8d@hº
Build_3006ÀÊ
Build_3006Ò0临时æ<EFBFBD>­å»ºçš„ç<EFBFBD>¶å<EFBFBD>°ï¼Œå<EFBFBD>¯åˆ¶ä½œç®€å<EFBFBD>•的饭è<EFBFBD>œØ
U¿炊房 Ü (0d8d@hº
Build_3007ÀÊ
Build_3007Ò制作饭è<EFBFBD>œçš„场所Ø
yÀè<EFBFBD>¯ç‚‰ è(0d8d@hº
Build_3008ÀÊ
Build_3008Ò9临时堆砌的è<EFBFBD>¯ç‚‰ï¼Œå<EFBFBD>¯æ»¡è¶³ä½Žçº§è<EFBFBD>¯å“<EFBFBD>制作æ<EFBFBD>¡ä»¶Ø
UÁè<EFBFBD>¯å®¤ Ü (0d8d@hº
Build_3009ÀÊ
Build_3009Ò制作è<EFBFBD>¯å“<EFBFBD>的场所Ø
hÂ蚕室 Ü (0d8dhº
Build_3010ÀÊ
Build_3010Ò-柔ä¸<EFBFBD>å<EFBFBD><EFBFBD>尽三å<EFBFBD>ƒä¸ˆï¼Œç•™ä¸‹ç›¸æ€<EFBFBD>几百层Ø
AÃ瓷窑 Ü (0d8dhº
Build_3011ÀÊ
Build_3011Ò瓷窑Ø
PÄ地窖 Ü (0d8dhº
Build_3012ÀÊ
Build_3012Ò地窖,腌制食物Ø
U¡ 简易粮仓 è(0d8d@hº
Build_4001ÀÊ
Build_4001Ò åˆ<EFBFBD>级粮仓Ø
O¢粮仓 Ü (0d8d@hº
Build_4002ÀÊ
Build_4002Ò 中级粮仓Ø
U£ 高级粮仓 Ä(0d8d@hº
Build_4003ÀÊ
Build_4003Ò 高级粮仓Ø
J¤邮楼 Ä(0d8dhº
Build_4004ÀÊ
Build_4004Ò邮楼,è¿<EFBFBD>输Ø
A¥木桥 Ä(0d8dhº
Build_4005ÀÊ
Build_4005Ò木桥
A¦石桥 Ä(0d8dhº
Build_4006ÀÊ
Build_4006Ò石桥
A§犬èˆ<EFBFBD> Ä(0d8dhº
Build_4007ÀÊ
Build_4007Ò犬èˆ<EFBFBD>Ø
A¨鸡圈 Ä(0d8dhº
Build_4008ÀÊ
Build_4008Ò鸡圈Ø
A©禽èˆ<EFBFBD> Ä(0d8dhº
Build_4009ÀÊ
Build_4009Ò禽èˆ<EFBFBD>Ø
Aªå­¦èˆ<EFBFBD> Ä(0d8dhº
Build_4010ÀÊ
Build_4010Òå­¦èˆ<EFBFBD>Ø
A«酒楼 Ä(0d8dhº
Build_4011ÀÊ
Build_4011Ò酒楼Ø
A¬水车 Ä(0d8dhº
Build_4012ÀÊ
Build_4012Ò水车Ø
A­武庄 Ä(0d8dhº
Build_4013ÀÊ
Build_4013Ò武庄Ø
A®宗厅 Ä(0d8dhº
Build_4014ÀÊ
Build_4014Ò宗厅Ø
Q¯ ç”°é—´å°<EFBFBD>屋 Ä(0d8d@Hhº
Build_4015ÀÊ
Build_4015Ò ç”°é—´å°<EFBFBD>屋Ø

BIN
Unity/Assets/Bundles/Config/SynthesisConfigCategory.bytes

Binary file not shown.

3
Unity/Assets/Bundles/Config/TextConfigCategory.bytes

@ -5,7 +5,7 @@
ì已完æˆ<EFBFBD>制作
)í$该建筑已达到建造数é‡<EFBFBD>上é™<EFBFBD>
)î<EFBFBD><EFBFBD>æ–™ä¸<EFBFBD>足或规模æ<EFBFBD>¡ä»¶æœªè¾¾æˆ<EFBFBD>
&<EFBFBD>!您的修复零件或金币不足
ïæ<EFBFBD><EFBFBD>料或铜å¸<EFBFBD>ä¸<EFBFBD>è¶³
ð é<EFBFBD>“å…·ä¸<EFBFBD>è¶³
ñ{主角}ä¸<EFBFBD>在桃谷中
ò ç§<EFBFBD>å­<EFBFBD>ä¸<EFBFBD>è¶³
@ -68,6 +68,7 @@ A
&«!当å‰<EFBFBD>季节无法ç§<EFBFBD>æ¤<EFBFBD>该作物
&¬!粮仓已满,无法收获作物
­请先设置农夫
®è€<EFBFBD>久已满,无需修缮
Ñ 抵达中...
\ÒWæ¯<EFBFBD>日起床å<EFBFBD>Žä¸€ä¸ªæ—¶è¾°ã€<EFBFBD>下雨时以å<EFBFBD>Šé›¨å<EFBFBD>Žä¸€ä¸ªæ—¶è¾°æ¤<EFBFBD>物上会蓄满露水
%Ó 已枯竭,{å†<EFBFBD>生æ<EFBFBD>¡ä»¶}å†<EFBFBD>生

8
Unity/Assets/Bundles/Crop.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e340af251de94e84d83216a458717ce9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

118
Unity/Assets/Bundles/Crop/Sprout.prefab

@ -0,0 +1,118 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &351792579701758222
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4909441629764300754}
- component: {fileID: 3025821831105161588}
m_Layer: 0
m_Name: Body
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4909441629764300754
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 351792579701758222}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2376808466490676162}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &3025821831105161588
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 351792579701758222}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 760052f9f92321d44839e8d3342dac3c, type: 2}
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: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 1
m_Sprite: {fileID: 21300000, guid: f9222105e2dc1034eacaaee3020d531f, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 1
--- !u!1 &656500844284976617
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2376808466490676162}
m_Layer: 0
m_Name: Sprout
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2376808466490676162
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 656500844284976617}
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4909441629764300754}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

7
Unity/Assets/Bundles/Crop/Sprout.prefab.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e678718ee0e609c4a85d2c4a03cdfea3
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

118
Unity/Assets/Bundles/Crop/Wheat.prefab

@ -0,0 +1,118 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &351792579701758222
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4909441629764300754}
- component: {fileID: 3025821831105161588}
m_Layer: 0
m_Name: Body
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4909441629764300754
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 351792579701758222}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2376808466490676162}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &3025821831105161588
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 351792579701758222}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 760052f9f92321d44839e8d3342dac3c, type: 2}
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: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 1
m_Sprite: {fileID: 21300000, guid: 28d62a40a61199147ae8c43bd4d58019, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 1
--- !u!1 &656500844284976617
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2376808466490676162}
m_Layer: 0
m_Name: Wheat
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2376808466490676162
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 656500844284976617}
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4909441629764300754}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

7
Unity/Assets/Bundles/Crop/Wheat.prefab.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3bc8cb29d14105d4bb3df425d907c93c
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Unity/Assets/Bundles/FUI/Building_atlas0.png (Stored with Git LFS)

Binary file not shown.

BIN
Unity/Assets/Bundles/FUI/Building_fui.bytes

Binary file not shown.

14
Unity/Assets/Mono/Module/Mongo/BsonRepresentation.cs

@ -0,0 +1,14 @@
using System;
namespace MongoDB.Bson.Serialization.Attributes
{
public class BsonRepresentationAttribute: Attribute
{
public bool AllowTruncation;
public BsonRepresentationAttribute(BsonType representation)
{
}
}
}

11
Unity/Assets/Mono/Module/Mongo/BsonRepresentation.cs.meta

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 854419d5cf1bc1a42b2b782e10a5a68a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

57
Unity/Assets/Mono/Module/Mongo/BsonType.cs

@ -0,0 +1,57 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace MongoDB.Bson
{
public enum BsonType
{
/// <summary>
/// Not a real BSON type. Used to signal the end of a document.
/// </summary>
EndOfDocument = 0,
/// <summary>A BSON double.</summary>
Double = 1,
/// <summary>A BSON string.</summary>
String = 2,
/// <summary>A BSON document.</summary>
Document = 3,
/// <summary>A BSON array.</summary>
Array = 4,
/// <summary>BSON binary data.</summary>
Binary = 5,
/// <summary>A BSON undefined value.</summary>
Undefined = 6,
/// <summary>A BSON ObjectId.</summary>
ObjectId = 7,
/// <summary>A BSON bool.</summary>
Boolean = 8,
/// <summary>A BSON DateTime.</summary>
DateTime = 9,
/// <summary>A BSON null value.</summary>
Null = 10, // 0x0000000A
/// <summary>A BSON regular expression.</summary>
RegularExpression = 11, // 0x0000000B
/// <summary>BSON JavaScript code.</summary>
JavaScript = 13, // 0x0000000D
/// <summary>A BSON symbol.</summary>
Symbol = 14, // 0x0000000E
/// <summary>
/// BSON JavaScript code with a scope (a set of variables with values).
/// </summary>
JavaScriptWithScope = 15, // 0x0000000F
/// <summary>A BSON 32-bit integer.</summary>
Int32 = 16, // 0x00000010
/// <summary>A BSON timestamp.</summary>
Timestamp = 17, // 0x00000011
/// <summary>A BSON 64-bit integer.</summary>
Int64 = 18, // 0x00000012
/// <summary>A BSON 128-bit decimal.</summary>
Decimal128 = 19, // 0x00000013
/// <summary>A BSON MaxKey value.</summary>
MaxKey = 127, // 0x0000007F
/// <summary>A BSON MinKey value.</summary>
MinKey = 255, // 0x000000FF
}
}

11
Unity/Assets/Mono/Module/Mongo/BsonType.cs.meta

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f13958d689462ac4693eca0aba76d5be
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

4
Unity/Assets/Res/Images/Buildings/Build_1001.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

16
Unity/Assets/Res/Images/Buildings/Build_1002.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
@ -100,6 +100,18 @@ TextureImporter:
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

16
Unity/Assets/Res/Images/Buildings/Build_1004.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
@ -100,6 +100,18 @@ TextureImporter:
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

16
Unity/Assets/Res/Images/Buildings/Build_1005.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
@ -100,6 +100,18 @@ TextureImporter:
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

16
Unity/Assets/Res/Images/Buildings/Build_1006.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
@ -100,6 +100,18 @@ TextureImporter:
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

4
Unity/Assets/Res/Images/Buildings/Build_2001.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_2002.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_2003.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_2006.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

BIN
Unity/Assets/Res/Images/Buildings/Build_2007.png (Stored with Git LFS)

Binary file not shown.

4
Unity/Assets/Res/Images/Buildings/Build_2007.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_3001.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_3002.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_3003.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_3004.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_3005.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_3006.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_3007.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_3008.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

4
Unity/Assets/Res/Images/Buildings/Build_3009.png.meta

@ -33,7 +33,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
@ -49,7 +49,7 @@ TextureImporter:
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1

BIN
Unity/Assets/Res/Images/Buildings/Build_4015.png (Stored with Git LFS)

Binary file not shown.

134
Unity/Assets/Res/Images/Buildings/Build_4015.png.meta

@ -0,0 +1,134 @@
fileFormatVersion: 2
guid: 1dfd28bf2d622fd4598958d9968cbb90
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 7
spritePivot: {x: 0.5, y: 0}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
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: 5e97eb03825dee720800000000000000
internalID: 1537655665
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

2
Unity/Assets/Res/Images/Buildings/BuildingAtlas.spriteatlas

@ -57,6 +57,7 @@ SpriteAtlas:
- {fileID: 21300000, guid: c933030e51e77cf43b42918f7a9514e0, type: 3}
- {fileID: 21300000, guid: ff1beb4e83245a045bfabc3d96183aca, type: 3}
- {fileID: 21300000, guid: 09f0829e697ef3d4b980428a2a85064d, type: 3}
- {fileID: 21300000, guid: 1dfd28bf2d622fd4598958d9968cbb90, type: 3}
- {fileID: 21300000, guid: 242aa7ffd9e1b404aa7d4b5620f9f81e, type: 3}
m_PackedSpriteNamesToIndex:
- Build_2001
@ -77,6 +78,7 @@ SpriteAtlas:
- Build_1004
- Build_1006
- Build_3005
- Build_4015
- Build_3008
m_RenderDataMap: {}
m_Tag: Assets/Res/Images/Buildings/BuildingAtlas.spriteatlas

4
Unity/Assets/Res/Images/Crops/CropAtlas.spriteatlas

@ -39,9 +39,13 @@ SpriteAtlas:
cachedData: {fileID: 0}
m_MasterAtlas: {fileID: 0}
m_PackedSprites:
- {fileID: 21300000, guid: 28d62a40a61199147ae8c43bd4d58019, type: 3}
- {fileID: 21300000, guid: f9222105e2dc1034eacaaee3020d531f, type: 3}
- {fileID: 21300000, guid: 6fa28c2cda7b2934cbbc60ba3c29e52f, type: 3}
- {fileID: 21300000, guid: cc09b59e5824fd5488c4f73b29ada014, type: 3}
m_PackedSpriteNamesToIndex:
- Wheat
- Sprout
- Crop_shuidao
- Crop_luobo
m_RenderDataMap: {}

BIN
Unity/Assets/Res/Images/Crops/Sprout.png (Stored with Git LFS)

Binary file not shown.

134
Unity/Assets/Res/Images/Crops/Sprout.png.meta

@ -0,0 +1,134 @@
fileFormatVersion: 2
guid: f9222105e2dc1034eacaaee3020d531f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 7
spritePivot: {x: 0.5, y: 0}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
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: 5e97eb03825dee720800000000000000
internalID: 1537655665
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Unity/Assets/Res/Images/Crops/Wheat.png (Stored with Git LFS)

Binary file not shown.

134
Unity/Assets/Res/Images/Crops/Wheat.png.meta

@ -0,0 +1,134 @@
fileFormatVersion: 2
guid: 28d62a40a61199147ae8c43bd4d58019
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 7
spritePivot: {x: 0.5, y: 0}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
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: 5e97eb03825dee720800000000000000
internalID: 1537655665
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

43
Unity/Codes/Hotfix/Demo/Cabin/CabinSystem.cs

@ -1,5 +1,33 @@
namespace ET
{
public class CabinDestroySystem : DestroySystem<Cabin>
{
public override void Destroy(Cabin self)
{
Unit unit = self.Parent.Parent.GetParent<Unit>();
unit.RemoveGrandChild(self.Id);
// 需要清理所管理的农田的指向
foreach (long farmlandId in self.FarmlandIds)
{
var farmland = unit.GetGrandChild<Farmland>(farmlandId);
if (farmland != null)
{
farmland.SetCabinId(0);
}
}
// 农民变空闲
if (self.PeopleId > 0)
{
var peopleComp = unit.GetComponent<PeopleComponent>();
var people = peopleComp.GetChild<People>(self.PeopleId);
people.SetBehaveType(ConstBehaveType.BEHAVE_IDLE);
self.PeopleId = 0;
}
}
}
[FriendClass(typeof(Cabin))]
public static class CabinSystem
{
@ -48,7 +76,18 @@
self.FarmlandIds.Add(farmlandId);
return true;
}
public static void RemoveFarmland(this Cabin self, long farmlandId)
{
if (self.FarmlandIds.Contains(farmlandId))
{
self.FarmlandIds.Remove(farmlandId);
}
}
public static int GetRange(this Cabin self)
{
return 20;
}
}
}

4
Unity/Codes/Hotfix/Demo/Construct/Handler/M2C_NofityConstructFinishHandler.cs

@ -1,7 +1,7 @@
namespace ET
{
[MessageHandler]
public class M2C_NofityConstructFinishHandler:AMHandler<M2C_NotifyConstructFinish>
public class M2C_NotifyConstructFinishHandler:AMHandler<M2C_NotifyConstructFinish>
{
protected override void Run(Session session, M2C_NotifyConstructFinish message)
{
@ -9,7 +9,7 @@
UnitOperate.InitProsperity(UnitComponent.unit);
if (building != null)
{
Game.EventSystem.Publish(new EventType.AfterCreateBuilding(){Building = building});
Game.EventSystem.Publish(new EventType.AfterCreateBuilding(){Unit = UnitComponent.unit, Building = building, IsNew = true});
}
}
}

14
Unity/Codes/Hotfix/Demo/Farmland/FarmlandSystem.cs

@ -2,11 +2,23 @@
namespace ET
{
public class FarmlandDestroySystem : DestroySystem<Farmland>
{
public override void Destroy(Farmland self)
{
self.Parent.Parent.GetParent<Unit>().RemoveGrandChild(self.Id);
Unit unit = self.Parent.Parent.GetParent<Unit>();
unit.RemoveGrandChild(self.Id);
// 如果农田受小屋管理,需要从中移除
if (self.CabinId > 0)
{
var cabin = unit.GetGrandChild<Cabin>(self.CabinId);
if (cabin != null)
{
cabin.RemoveFarmland(self.Id);
}
}
}
}

1
Unity/Codes/Hotfix/Demo/Unit/UnitFactory.cs

@ -110,7 +110,6 @@ namespace ET
unitComponent.Add(unit);
unit.AddComponent<ObjectWait>();
unit.InitGrandChildren();
unit.OnCheckCabin();
Game.EventSystem.Publish(new EventType.AfterUnitCreate() {Unit = unit});
return unit;

21
Unity/Codes/Hotfix/Demo/Unit/UnitSystem.cs

@ -90,7 +90,7 @@ namespace ET
dt = dt / 1000;
if (dt > 0)
{
self.GetChild<Weather>(self.WeatherId).Update(self,(int)dt);
self.GetChild<Weather>(self.WeatherId)?.Update(self,(int)dt);
self.UpdateTimeSec += dt * 1000;
}
@ -123,11 +123,11 @@ namespace ET
//每天长大一岁
self.AddAge();
//触发天气
self.GetChild<Weather>(self.WeatherId).Produce(self);
self.GetChild<Weather>(self.WeatherId)?.Produce(self);
}
self.GameTime = time;
self.GetChild<Weather>(self.WeatherId).CheckStart(self,self.GameTime);
self.GetChild<Weather>(self.WeatherId)?.CheckStart(self,self.GameTime);
}
@ -168,6 +168,7 @@ namespace ET
self.SeasonConfig = SeasonConfigCategory.Instance.Get(self.Season);
self.InitPeopleNumberic();
self.InitGrandChildren();
self.OnCheckCabin();
self.UpdateTimeSec = self.UpdateTime;
}
@ -365,5 +366,19 @@ namespace ET
}
}
public static List<T> GetGrandChildren<T>(this Unit self) where T : Entity
{
List<T> children = new List<T>();
foreach (Entity grandChildrenValue in self.GrandChildren.Values)
{
if (grandChildrenValue is T)
{
children.Add(grandChildrenValue as T);
}
}
return children;
}
}
}

4
Unity/Codes/HotfixView/Demo/Battle/BattleActionSegmentHelper.cs

@ -90,10 +90,10 @@ namespace ET
{
var prefab = YooAssetComponent.Instance.LoadAssetSync<GameObject>("staff");
GameObject bullet = Util.GameObjectPoolHelper.SpawnGameObject(prefab);
YooAssetComponent.Instance.Release(prefab);
bullet.transform.position = source.ThrowPoint.position;
bullet.transform.DOMove(target.DisplayGameObject.transform.position, 0.5f).OnComplete(() =>
{

95
Unity/Codes/HotfixView/Demo/Building/AfterCreateBuilding_AddComponent.cs

@ -1,4 +1,7 @@
using ET.EventType;
using System.Collections.Generic;
using ET.EventType;
using NUnit.Framework;
using UnityEngine;
namespace ET
{
@ -14,9 +17,99 @@ namespace ET
{
var buildingViewComp = building.AddComponent<BuildingViewComponent>();
buildingViewComp.CreateName().Coroutine();
// 处理农田
var farmland = building.GetChildByType<Farmland>();
if (farmland != null)
{
farmland.AddComponent<FarmlandViewComponent>();
}
// 在不是升级且是新建的建筑时处理田的管理
if (args.IsNew)
{
ProcessCabin(unit, building);
ProcessFarmland(unit, building);
}
}
// update map info
}
// 处理田间小屋的逻辑
private void ProcessCabin(Unit unit, Building building)
{
var cabin = building.GetChildByType<Cabin>();
if (cabin == null)
{
return;
}
var mapComp = unit.ZoneScene().CurrentScene().GetComponent<MapComponent>();
if (mapComp == null)
{
return;
}
Vector2Int cabinSize = new Vector2Int(cabin.GetRange(), cabin.GetRange());
var cabinRect = mapComp.GetUnitRectIndicesOfCenter(building.Position, cabinSize);
var farmlands = unit.GetGrandChildren<Farmland>();
List<long> inAreaFarmlandIds = new();
foreach (Farmland farmland in farmlands)
{
var farmlandBuilding = farmland.GetParent<Building>();
var mapPos = mapComp.WorldToMapPos(farmlandBuilding.Position);
if (mapComp.IsPosInRect(mapPos, cabinRect))
{
inAreaFarmlandIds.Add(farmland.Id);
}
}
if (inAreaFarmlandIds.Count > 0)
{
CabinHelper.AddFarmland(unit, cabin, inAreaFarmlandIds).Coroutine();
}
}
// 处理田的逻辑,如果在田间小屋的周围需要被管理
private void ProcessFarmland(Unit unit, Building building)
{
var farmland = building.GetChildByType<Farmland>();
if (farmland == null)
{
return;
}
var mapComp = unit.ZoneScene().CurrentScene().GetComponent<MapComponent>();
if (mapComp == null)
{
return;
}
var cabins = unit.GetGrandChildren<Cabin>();
List<long> inAreaFarmlandIds = new();
Vector2Int cabinSize = new Vector2Int();
foreach (Cabin cabin in cabins)
{
cabinSize.Set(cabin.GetRange(), cabin.GetRange());
inAreaFarmlandIds.Clear();
var cabinBuilding = cabin.GetParent<Building>();
var cabinRect = mapComp.GetUnitRectIndicesOfCenter(cabinBuilding.Position, cabinSize);
var mapPos = mapComp.WorldToMapPos(building.Position);
if (mapComp.IsPosInRect(mapPos, cabinRect))
{
inAreaFarmlandIds.Add(farmland.Id);
CabinHelper.AddFarmland(unit, cabin, inAreaFarmlandIds).Coroutine();
break;
}
}
}
}
}

52
Unity/Codes/HotfixView/Demo/Building/BuildingViewComponentSystem.cs

@ -32,6 +32,7 @@ namespace ET
[FriendClass(typeof(FUIUnitNamePanelComponent))]
[FriendClass(typeof(FUI_UnitNamePanel))]
[FriendClass(typeof(FUI_BuildingName))]
[FriendClass(typeof(Farmland))]
public static class BuildingViewComponentSystem
{
public static void Awake(this BuildingViewComponent self)
@ -71,12 +72,14 @@ namespace ET
// add click event
// https://docs.unity3d.com/2018.3/Documentation/ScriptReference/EventSystems.EventTrigger.html
EventTrigger trigger = self.BuildingRoot.transform.Find("Build_Base/SpriteClick").GetComponent<EventTrigger>();
var clickTrans = self.BuildingRoot.transform.Find("Build_Base/SpriteClick");
self.ClickCollider2D = clickTrans.GetComponent<Collider2D>();
EventTrigger trigger = clickTrans.GetComponent<EventTrigger>();
EventTrigger.Entry entry = new EventTrigger.Entry();
entry.eventID = EventTriggerType.PointerClick;
entry.callback.AddListener((data) =>
{
self.OnSpriteClicked(self);
self.OnSpriteClicked();
});
trigger.triggers.Add(entry);
}
@ -88,7 +91,7 @@ namespace ET
self.CreateBuilding(self.BuildingInfo);
}
public static void OnSpriteClicked(this BuildingViewComponent self, BuildingViewComponent buildingViewComponent)
public static void OnSpriteClicked(this BuildingViewComponent self)
{
if (Stage.isTouchOnUI)
{
@ -102,7 +105,7 @@ namespace ET
return;
}
var buildingInfo = buildingViewComponent.BuildingInfo;
var buildingInfo = self.BuildingInfo;
//根据不同的建筑类型打开不同的界面
StructureConfig structureConfig = StructureConfigCategory.Instance.Get(buildingInfo.ConfigId);
@ -132,9 +135,21 @@ namespace ET
{
if (structureConfig.Special == (int) StructureSpecialEnum.FARMLAND)
{
var farmlandWin = self.ZoneScene().GetComponent<FUIComponent>()
.ShowWindow<FUI_FarmlandWindow, FUIFarmlandWindowComponent>();
farmlandWin.ShowInfo(buildingInfo);
var farmland = buildingInfo.GetChildByType<Farmland>();
if (farmland != null && farmland.CabinId > 0)
{
// 显示农田批处理界面
var farmlandBatchWin = self.ZoneScene().GetComponent<FUIComponent>()
.ShowWindow<FUI_FarmlandBatchWindow, FUIFarmlandBatchWindowComponent>();
farmlandBatchWin.ShowInfo(buildingInfo);
}
else
{
// 显示单个农田的操作界面
var farmlandWin = self.ZoneScene().GetComponent<FUIComponent>()
.ShowWindow<FUI_FarmlandWindow, FUIFarmlandWindowComponent>();
farmlandWin.ShowInfo(buildingInfo);
}
}
}
break;
@ -152,7 +167,7 @@ namespace ET
return self.BuildingRoot.transform.position;
}
public static void HighlightBuilding(this BuildingViewComponent self, bool withEdge)
public static void HighlightBuilding(this BuildingViewComponent self, bool withEdge = false)
{
if (withEdge)
{
@ -169,6 +184,16 @@ namespace ET
{
self.BuildingSprRenderer.sharedMaterial = self.SharedMat;
}
public static bool IsPointInClickArea(this BuildingViewComponent self, Vector2 worldPos)
{
if (self.ClickCollider2D == null)
{
return false;
}
return self.ClickCollider2D.OverlapPoint(worldPos);
}
public static void Destroy(this BuildingViewComponent self)
{
@ -202,13 +227,18 @@ namespace ET
public static Vector2 GetNamePos(this BuildingViewComponent self)
{
var sprRender = self.BuildingRoot.GetComponentInChildren<SpriteRenderer>();
Vector3 max = sprRender.bounds.max;
Vector3 min = sprRender.bounds.min;
var bounds = self.BuildingSprRenderer.bounds;
Vector3 max = bounds.max;
Vector3 min = bounds.min;
return new Vector2((min.x + max.x) / 2, max.y);
}
public static Vector2 GetCenterPos(this BuildingViewComponent self)
{
return self.BuildingSprRenderer.bounds.center;
}
public static async ETTask CreateName(this BuildingViewComponent self)
{
FUI_BuildingName nameEntity =

3
Unity/Codes/HotfixView/Demo/Building/BuildingViewHelper.cs

@ -69,8 +69,7 @@ namespace ET
public static void UpdateIndicator(GameObject indicatorObj, MapComponent mapComp, Vector3 worldPos, Vector2Int size)
{
RectIndices rectIndices = new RectIndices();
mapComp.GetUnitRectIndices(worldPos, size, out rectIndices);
RectIndices rectIndices = mapComp.GetUnitRectIndices(worldPos, size);
UpdateIndicator(indicatorObj, mapComp, rectIndices);
}

17
Unity/Codes/HotfixView/Demo/Building/CreateBuildingViewComponentSystem.cs

@ -83,14 +83,23 @@ namespace ET
public static async ETTask CreateBuilding(this CreateBuildingViewComponent self)
{
var mapUnitOper = self.Parent.GetComponent<MapUnitOperationComponent>();
Unit unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
var pos = self.CurEditBuildingRoot.position;
int errorCode = await ConstructHelper.CreateConstruct(unit, self.CurEditBuildingSynthesisId, pos.x, pos.y);
if (errorCode != ErrorCode.ERR_Success)
if (mapUnitOper.IsPlaceValid())
{
var pos = self.CurEditBuildingRoot.position;
int errorCode = await ConstructHelper.CreateConstruct(unit, self.CurEditBuildingSynthesisId, pos.x, pos.y);
if (errorCode != ErrorCode.ERR_Success)
{
Debug.LogWarning("Create Building Failed");
}
}
else
{
Debug.LogWarning("Create Building Failed");
CommonHelper.ShowHint(self.ZoneScene(), TextHelper.Building_Place_Invalid);
}
// 删除临时的建筑
GameObject.Destroy(self.CurEditBuildingRoot.gameObject);

14
Unity/Codes/HotfixView/Demo/Building/FarmlandStateChanged_UpdateView.cs

@ -0,0 +1,14 @@
using ET.EventType;
namespace ET
{
public class FarmlandStateChanged_UpdateView : AEvent<FarmlandStateChanged>
{
protected override void Run(FarmlandStateChanged args)
{
var farmland = args.Farmland;
var farmlandView = farmland.GetComponent<FarmlandViewComponent>();
farmlandView?.UpdateByState();
}
}
}

58
Unity/Codes/HotfixView/Demo/Building/FarmlandViewComponent.cs

@ -0,0 +1,58 @@
using UnityEngine;
namespace ET
{
public class FarmlandViewComponentAwakeSystem: AwakeSystem<FarmlandViewComponent>
{
public override void Awake(FarmlandViewComponent self)
{
self.Awake();
}
}
[FriendClass(typeof(FarmlandViewComponent))]
[FriendClass(typeof(Farmland))]
[FriendClass(typeof(Building))]
[FriendClass(typeof(BuildingViewComponent))]
public static class FarmlandViewComponentSystem
{
public static void Awake(this FarmlandViewComponent self)
{
self.Farmland = self.GetParent<Farmland>();
self.SeedCropPrfb = self.LoadAssetSync<GameObject>("Sprout".ToPrefabAddress());
self.RipeCropPrfb = self.LoadAssetSync<GameObject>("Wheat".ToPrefabAddress());
self.UpdateByState();
}
public static void UpdateByState(this FarmlandViewComponent self)
{
var building = self.Farmland.GetParent<Building>();
var buildingView = building.GetComponent<BuildingViewComponent>();
if (self.FarmlandRoot != null)
{
Util.GameObjectPoolHelper.ReturnObjectToPool(self.FarmlandRoot);
}
switch (self.Farmland.FarmlandState)
{
case FarmlandState.FARMLAND_STATE_FREE:
case FarmlandState.FARMLAND_STATE_SEED:
break;
case FarmlandState.FARMLAND_STATE_GROW:
self.FarmlandRoot = Util.GameObjectPoolHelper.SpawnGameObject(self.SeedCropPrfb);
self.FarmlandRoot.transform.position = buildingView.GetCenterPos();
self.FarmlandRoot.transform.parent = buildingView.BuildingRoot.transform;
break;
case FarmlandState.FARMLAND_STATE_RIPE:
self.FarmlandRoot = Util.GameObjectPoolHelper.SpawnGameObject(self.RipeCropPrfb);
self.FarmlandRoot.transform.position = buildingView.GetCenterPos();
self.FarmlandRoot.transform.parent = buildingView.BuildingRoot.transform;
break;
}
}
}
}

24
Unity/Codes/HotfixView/Demo/Building/PeopleMoveEnd_InCabin.cs

@ -0,0 +1,24 @@
using ET.EventType;
namespace ET
{
public class PeopleMoveEnd_InCabin : AEvent<PeopleMoveEnd>
{
protected override void Run(PeopleMoveEnd args)
{
var people = args.People;
var unit = UnitHelper.GetMyUnitFromZoneScene(people.ZoneScene());
int behave = people.GetBehaveType();
var targetId = people.GetTargetId();
if (behave == ConstBehaveType.BEHAVE_PREPARE_CABIN)
{
var cabin = unit.GetGrandChild<Cabin>(targetId);
if (cabin != null)
{
CabinHelper.ArriveCabin(unit, people, cabin).Coroutine();
}
}
}
}
}

175
Unity/Codes/HotfixView/Demo/FUI/AutoGeneratedCode/Building/FUI_FarmlandBatchWindow.cs

@ -0,0 +1,175 @@
/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
using FairyGUI;
using System.Threading.Tasks;
namespace ET
{
namespace FUIBuilding
{
public class FUI_FarmlandBatchWindowAwakeSystem : AwakeSystem<FUI_FarmlandBatchWindow>
{
public override void Awake(FUI_FarmlandBatchWindow self)
{
self.Awake();
}
}
public class FUI_FarmlandBatchWindowDestroySystem : DestroySystem<FUI_FarmlandBatchWindow>
{
public override void Destroy(FUI_FarmlandBatchWindow self)
{
self.Destroy();
}
}
[FriendClass(typeof(FUI))]
[FriendClass(typeof(FUI_FarmlandBatchWindow))]
public static class FUI_FarmlandBatchWindowSystem
{
public static void Awake(this FUI_FarmlandBatchWindow self)
{
var fui = self.GetParent<FUI>();
if(fui.GObject == null)
{
return;
}
self.FGComp = (GComponent)fui.GObject;
self.FGComp.Add(fui);
var com = fui.GObject.asCom;
if(com != null)
{
self.m_farmlandState = com.GetControllerAt(0);
self.m_hasPeople = com.GetControllerAt(1);
self.m_isBatchOperating = com.GetControllerAt(2);
self.m_n1 = (GGraph)com.GetChildAt(0);
self.m_PlantSeedList = (GList)com.GetChildAt(1);
self.m_n3 = (GGraph)com.GetChildAt(2);
self.m_SeedInfoPopup = FUIHelper.Create<FUI_SeedInfoPopup>(self, com.GetChildAt(3));
self.m_n52 = (GImage)com.GetChildAt(4);
self.m_PlantSeedCursor = (GImage)com.GetChildAt(5);
self.m_SeedPanel = (GGroup)com.GetChildAt(6);
self.m_n8 = (GGraph)com.GetChildAt(7);
self.m_n10 = (GGraph)com.GetChildAt(8);
self.m_WaitForPlant_CropIcon = (GLoader)com.GetChildAt(9);
self.m_n12 = (GTextField)com.GetChildAt(10);
self.m_WaitForPlantText = (GTextField)com.GetChildAt(11);
self.m_n14 = (GTextField)com.GetChildAt(12);
self.m_n15 = (GTextField)com.GetChildAt(13);
self.m_WaitForPlantPanel = (GGroup)com.GetChildAt(14);
self.m_n18 = (GGraph)com.GetChildAt(15);
self.m_n19 = (GGraph)com.GetChildAt(16);
self.m_Grow_CropIcon = (GLoader)com.GetChildAt(17);
self.m_n21 = (GTextField)com.GetChildAt(18);
self.m_GrowText = (GTextField)com.GetChildAt(19);
self.m_n23 = (GTextField)com.GetChildAt(20);
self.m_Grow_ProductionNum = (GTextField)com.GetChildAt(21);
self.m_GrowSpeedUpButton = FUIHelper.Create<FUI_GreenButton>(self, com.GetChildAt(22));
self.m_GrowPanel = (GGroup)com.GetChildAt(23);
self.m_n27 = (GGraph)com.GetChildAt(24);
self.m_n28 = (GGraph)com.GetChildAt(25);
self.m_Harvest_CropIcon = (GLoader)com.GetChildAt(26);
self.m_n30 = (GTextField)com.GetChildAt(27);
self.m_HarvestText = (GTextField)com.GetChildAt(28);
self.m_n32 = (GTextField)com.GetChildAt(29);
self.m_Harvest_ProductionNum = (GTextField)com.GetChildAt(30);
self.m_n53 = (GImage)com.GetChildAt(31);
self.m_HarvestCursor = (GImage)com.GetChildAt(32);
self.m_HarvestPanel = (GGroup)com.GetChildAt(33);
self.m_RemoveButton = FUIHelper.Create<FUI_GreenButton>(self, com.GetChildAt(34));
self.m_CloseButton = FUIHelper.Create<FUI_GreenButton>(self, com.GetChildAt(35));
self.m_n44 = (GGraph)com.GetChildAt(36);
self.m_n38 = (GGraph)com.GetChildAt(37);
self.m_n51 = (GGraph)com.GetChildAt(38);
self.m_Farmer_Icon = (GLoader)com.GetChildAt(39);
self.m_Farmer_Name = (GTextField)com.GetChildAt(40);
self.m_n39 = (GTextField)com.GetChildAt(41);
self.m_Farmer_Labor = (GTextField)com.GetChildAt(42);
self.m_n45 = (GGraph)com.GetChildAt(43);
self.m_n46 = (GGraph)com.GetChildAt(44);
self.m_n47 = (GTextField)com.GetChildAt(45);
self.m_CancelFarmerButton = FUIHelper.Create<FUI_WorkerCancelButton>(self, com.GetChildAt(46));
self.m_AddFarmerButton = FUIHelper.Create<FUI_GreenButton>(self, com.GetChildAt(47));
self.m_PeopleState = (GTextField)com.GetChildAt(48);
self.m_FarmerInfoGroup = (GGroup)com.GetChildAt(49);
}
}
public static void Destroy(this FUI_FarmlandBatchWindow self)
{
if(self.IsDisposed)
{
return;
}
self.FGComp.Remove();
self.FGComp = null;
self.m_farmlandState = null;
self.m_hasPeople = null;
self.m_isBatchOperating = null;
self.m_n1 = null;
self.m_PlantSeedList = null;
self.m_n3 = null;
self.m_SeedInfoPopup.Dispose();
self.m_SeedInfoPopup = null;
self.m_n52 = null;
self.m_PlantSeedCursor = null;
self.m_SeedPanel = null;
self.m_n8 = null;
self.m_n10 = null;
self.m_WaitForPlant_CropIcon = null;
self.m_n12 = null;
self.m_WaitForPlantText = null;
self.m_n14 = null;
self.m_n15 = null;
self.m_WaitForPlantPanel = null;
self.m_n18 = null;
self.m_n19 = null;
self.m_Grow_CropIcon = null;
self.m_n21 = null;
self.m_GrowText = null;
self.m_n23 = null;
self.m_Grow_ProductionNum = null;
self.m_GrowSpeedUpButton.Dispose();
self.m_GrowSpeedUpButton = null;
self.m_GrowPanel = null;
self.m_n27 = null;
self.m_n28 = null;
self.m_Harvest_CropIcon = null;
self.m_n30 = null;
self.m_HarvestText = null;
self.m_n32 = null;
self.m_Harvest_ProductionNum = null;
self.m_n53 = null;
self.m_HarvestCursor = null;
self.m_HarvestPanel = null;
self.m_RemoveButton.Dispose();
self.m_RemoveButton = null;
self.m_CloseButton.Dispose();
self.m_CloseButton = null;
self.m_n44 = null;
self.m_n38 = null;
self.m_n51 = null;
self.m_Farmer_Icon = null;
self.m_Farmer_Name = null;
self.m_n39 = null;
self.m_Farmer_Labor = null;
self.m_n45 = null;
self.m_n46 = null;
self.m_n47 = null;
self.m_CancelFarmerButton.Dispose();
self.m_CancelFarmerButton = null;
self.m_AddFarmerButton.Dispose();
self.m_AddFarmerButton = null;
self.m_PeopleState = null;
self.m_FarmerInfoGroup = null;
}
}
}
}

22
Unity/Codes/HotfixView/Demo/FUI/AutoGeneratedCode/Building/Friend/FUIFarmlandBatchWindowComponentSystemFriend.cs

@ -0,0 +1,22 @@
/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
namespace ET
{
using FUIBuilding;
[FriendClass(typeof(FUI_SeedInfoPopup))]
[FriendClass(typeof(FUI_GreenButton))]
[FriendClass(typeof(FUI_GreenButton))]
[FriendClass(typeof(FUI_GreenButton))]
[FriendClass(typeof(FUI_WorkerCancelButton))]
[FriendClass(typeof(FUI_GreenButton))]
[FriendClass(typeof(FUIFarmlandBatchWindowComponent))]
[FriendClass(typeof(FUI_FarmlandBatchWindow))]
public static partial class FUIFarmlandBatchWindowComponentSystem
{
}
}

542
Unity/Codes/HotfixView/Demo/FUI/Logic/Building/FUIFarmlandBatchWindowComponentSystem.cs

@ -0,0 +1,542 @@
/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
using ET.FUIResource;
using FairyGUI;
using UnityEngine;
using UnityEngine.Rendering;
namespace ET
{
using FUIBuilding;
public class FUIFarmlandBatchWindowComponentAwakeSystem : AwakeSystem<FUIFarmlandBatchWindowComponent>
{
public override void Awake(FUIFarmlandBatchWindowComponent self)
{
self.Awake();
}
}
[FriendClass(typeof(Building))]
[FriendClass(typeof(Farmland))]
[FriendClass(typeof(People))]
[FriendClass(typeof(Cabin))]
public static partial class FUIFarmlandBatchWindowComponentSystem
{
public static void Awake(this FUIFarmlandBatchWindowComponent self)
{
self.FUIFarmlandBatchWindow = self.Parent.GetComponent<FUI_FarmlandBatchWindow>();
var win = new FUIFarmlandBatchWindow();
win.OnWindowHide = self.OnHide;
self.Window = win;
self.Window.contentPane = self.FUIFarmlandBatchWindow.FGComp;
UIObjectFactory.SetPackageItemExtension(FUIPackage.Building_PlantSeedItem, typeof(PlantSeedItem));
self.CameraComp = self.ZoneScene().CurrentScene().GetComponent<CameraComponent>();
// events
self.FUIFarmlandBatchWindow.m_PlantSeedList.onClickItem.Add(self.OnSeedItemClick);
self.FUIFarmlandBatchWindow.m_AddFarmerButton.FGComp.onClick.Add(self.OnAddFarmerButtonClick);
self.FUIFarmlandBatchWindow.m_CancelFarmerButton.FGComp.AddClickListenerAsync(self.OnCancelFarmerButtonClick);
self.FUIFarmlandBatchWindow.m_GrowSpeedUpButton.FGComp.AddClickListenerAsync(self.OnGrowSpeedUpButtonClick);
self.FUIFarmlandBatchWindow.m_CloseButton.FGComp.onClick.Add(self.OnCloseButtonClick);
self.FUIFarmlandBatchWindow.FGComp.onTouchBegin.Add(self.OnTouchBegin);
self.FUIFarmlandBatchWindow.FGComp.onTouchMove.Add(self.OnTouchMove);
self.FUIFarmlandBatchWindow.FGComp.onTouchEnd.Add(self.OnTouchEnd);
if (Application.platform is RuntimePlatform.WindowsEditor or RuntimePlatform.WindowsPlayer)
{
Stage.inst.onTouchMove.Add(self.OnGlobalTouchMove);
}
}
public static void ShowInfo(this FUIFarmlandBatchWindowComponent self, Building building)
{
if (self.IsInBatchOperating)
{
return;
}
self.Building = building;
self.Farmland = self.Building.GetChildByType<Farmland>();
if (self.Farmland == null)
{
Log.Error($"Building [{self.Building.Id}] doesn't have a Farmland");
return;
}
self.CurBatchOperate = BatchOperate.None;
if (self.Farmland.CabinId <= 0)
{
Log.Error($"Farmland [{self.Farmland.Id}] doesn't belong to a cabin");
return;
}
Unit unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
var cabin = unit.GetGrandChild<Cabin>(self.Farmland.CabinId);
if (cabin == null)
{
Log.Error($"Cabin [{self.Farmland.CabinId}] doesn't find");
return;
}
self.Cabin = cabin;
// 显示小屋农民信息
self.ShowFarmer();
self.FarmlandGroup.Clear();
foreach (long cabinFarmlandId in cabin.FarmlandIds)
{
var farmland = unit.GetGrandChild<Farmland>(cabinFarmlandId);
self.FarmlandGroup.Add(farmland);
var farmlandBuilding = farmland.GetParent<Building>();
var buildingView = farmlandBuilding.GetComponent<BuildingViewComponent>();
if (farmland == self.Farmland)
{
// 高亮并描边当前选中的田
buildingView?.HighlightBuilding(true);
}
else
{
// 高亮被一起管理的田
buildingView?.HighlightBuilding();
}
}
self.FUIFarmlandBatchWindow.m_farmlandState.selectedIndex = self.Farmland.FarmlandState;
// 根据农田状态来显示不同信息界面
switch (self.Farmland.FarmlandState)
{
case FarmlandState.FARMLAND_STATE_FREE:
self.CurBatchOperate = BatchOperate.Seed;
self.ShowSeedPanel();
break;
case FarmlandState.FARMLAND_STATE_SEED:
self.ShowWaitForPlantPanel();
break;
case FarmlandState.FARMLAND_STATE_GROW:
self.ShowGrowPanel();
break;
case FarmlandState.FARMLAND_STATE_RIPE:
self.CurBatchOperate = BatchOperate.Harvest;
self.ShowHarvestPanel();
break;
}
}
public static void Refresh(this FUIFarmlandBatchWindowComponent self)
{
self.ShowInfo(self.Building);
}
// 当农田状态发生改变时,检查当前是否打开改变农田的界面,进行更新
public static void CheckToRefresh(this FUIFarmlandBatchWindowComponent self, Farmland farmland)
{
if (self.Farmland == farmland)
{
self.Refresh();
}
}
public static void ShowFarmer(this FUIFarmlandBatchWindowComponent self)
{
if (self.Farmland == null)
{
Log.Error($"Building [{self.Building.Id}] doesn't have a Farmland");
return;
}
Unit unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
if (self.Cabin == null)
{
Log.Error($"Cabin [{self.Farmland.CabinId}] doesn't find");
return;
}
if (self.Cabin.PeopleId <= 0)
{
self.FUIFarmlandBatchWindow.m_hasPeople.selectedIndex = 0;
return;
}
self.FUIFarmlandBatchWindow.m_hasPeople.selectedIndex = 1;
var peopleComp = unit.GetComponent<PeopleComponent>();
var people = peopleComp.GetChild<People>(self.Cabin.PeopleId);
if (people == null)
{
Log.Error($"Can't find people of Id [{self.Cabin.PeopleId}] in cabin");
return;
}
self.FUIFarmlandBatchWindow.m_Farmer_Icon.url = PeopleViewHelper.GetHeadIconUrlByGender(people.GetGender());
self.FUIFarmlandBatchWindow.m_Farmer_Name.text = people.Name;
self.FUIFarmlandBatchWindow.m_Farmer_Labor.text = people.Labor.ToString();
if (people.GetBehaveType() == ConstBehaveType.BEHAVE_PREPARE_CABIN)
{
self.FUIFarmlandBatchWindow.m_PeopleState.visible = true;
}
else
{
self.FUIFarmlandBatchWindow.m_PeopleState.visible = false;
}
}
#region Panels
public static void ShowSeedPanel(this FUIFarmlandBatchWindowComponent self)
{
if (Application.platform is RuntimePlatform.WindowsEditor or RuntimePlatform.WindowsPlayer)
{
self.FUIFarmlandBatchWindow.m_PlantSeedCursor.visible = true;
}
self.FUIFarmlandBatchWindow.m_SeedInfoPopup.Visible = false;
var list = self.FUIFarmlandBatchWindow.m_PlantSeedList;
var cropConfigList = CropConfigCategory.Instance.GetList();
// 获取当前种子的数量
Unit unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
var storeComp = unit.GetComponent<StoreComponent>();
list.RemoveChildrenToPool();
for (int i = 0; i < cropConfigList.Count; i++)
{
CropConfig cropConfig = cropConfigList[i];
var item = (PlantSeedItem)list.AddItemFromPool();
item.data = cropConfig;
item.Name.text = cropConfig.Name;
item.Icon.url = cropConfig.CropPic;
var itemConfig = AllItemConfigCategory.Instance.Get(cropConfig.SeedNeed);
var curNum = storeComp.GetItemNum(itemConfig.Id);
// TODO: 暂时去掉季节判断
// if (!cropConfig.Season.Contains(unit.Season))
// {
// item.SetSeedState(SeedState.NOT_AVAILABLE);
// }
// else
if (curNum < cropConfig.SeedNum)
{
item.SetSeedState(SeedState.NOT_NOT_ENOUGH);
}
else
{
item.SetSeedState(SeedState.OK);
}
if (i == 0)
{
list.selectedIndex = 0;
self.SelectSeedItem(item);
}
}
}
public static void ShowWaitForPlantPanel(this FUIFarmlandBatchWindowComponent self)
{
var cropConfig = self.Farmland.Config;
if (cropConfig == null)
{
return;
}
self.FUIFarmlandBatchWindow.m_WaitForPlant_CropIcon.url = cropConfig.CropPic;
}
public static void ShowGrowPanel(this FUIFarmlandBatchWindowComponent self)
{
var cropConfig = self.Farmland.Config;
if (cropConfig == null)
{
return;
}
self.FUIFarmlandBatchWindow.m_Grow_CropIcon.url = cropConfig.CropPic;
int day = GameUtil.GetDaysOfTime(cropConfig.GrowthCycle);
self.FUIFarmlandBatchWindow.m_GrowText.text = TextHelper.GetGrowUpTimeText(day);
self.FUIFarmlandBatchWindow.m_Grow_ProductionNum.text = cropConfig.BasicProduction.ToString();
}
public static void ShowHarvestPanel(this FUIFarmlandBatchWindowComponent self)
{
if (Application.platform is RuntimePlatform.WindowsEditor or RuntimePlatform.WindowsPlayer)
{
self.FUIFarmlandBatchWindow.m_HarvestCursor.visible = true;
}
var cropConfig = self.Farmland.Config;
if (cropConfig == null)
{
return;
}
self.FUIFarmlandBatchWindow.m_Harvest_CropIcon.url = cropConfig.CropPic;
self.FUIFarmlandBatchWindow.m_Harvest_ProductionNum.text = cropConfig.BasicProduction.ToString();
}
#endregion
public static void OnAddFarmerButtonClick(this FUIFarmlandBatchWindowComponent self)
{
self.SelectFarmer().Coroutine();
}
public static async ETTask OnCancelFarmerButtonClick(this FUIFarmlandBatchWindowComponent self)
{
if (self.Farmland == null)
{
Log.Error($"Building [{self.Building.Id}] doesn't have a Farmland");
return;
}
Unit unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
if (self.Cabin == null)
{
Log.Error($"Cabin [{self.Farmland.CabinId}] doesn't find");
return;
}
if (self.Cabin.PeopleId <= 0)
{
self.FUIFarmlandBatchWindow.m_hasPeople.selectedIndex = 0;
return;
}
var peopleComp = unit.GetComponent<PeopleComponent>();
var people = peopleComp.GetChild<People>(self.Cabin.PeopleId);
if (people == null)
{
Log.Error($"Can't find people of Id [{self.Cabin.PeopleId}] in cabin");
return;
}
await PeopleHelper.ChangeBehave(unit, people, 0, ConstBehaveType.BEHAVE_IDLE);
self.Refresh();
}
public static async ETTask SelectFarmer(this FUIFarmlandBatchWindowComponent self)
{
var selectWorkerWin = FUIComponent.Instance.ShowWindow<FUI_SelectWorkerWindow, FUISelectWorkerWindowComponent>();
var workers = await selectWorkerWin.ShowAsync(1);
if (workers.Count <= 0)
{
return;
}
var workerId = workers[0];
if (workerId <= 0)
{
return;
}
Unit unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
var peopleComp = unit.GetComponent<PeopleComponent>();
var worker = peopleComp.GetChild<People>(workerId);
await CabinHelper.GoCabin(unit, worker, self.Cabin);
self.Refresh();
}
public static void SelectSeedItem(this FUIFarmlandBatchWindowComponent self, PlantSeedItem plantSeedItem)
{
var cropConfig = (CropConfig) plantSeedItem.data;
self.CurSelectCrop = cropConfig;
var itemConfig = AllItemConfigCategory.Instance.Get(cropConfig.SeedNeed);
// 获取当前种子的数量
Unit unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
var storeComp = unit.GetComponent<StoreComponent>();
var curNum = storeComp.GetItemNum(itemConfig.Id);
var popup = self.FUIFarmlandBatchWindow.m_SeedInfoPopup;
popup.m_Name.text = cropConfig.Name;
popup.m_NeedNum.text = $"{curNum}/{cropConfig.SeedNum}";
string seasonStr = "";
int[] seasonArray = cropConfig.Season;
for (int i = 0; i < seasonArray.Length; i++)
{
seasonStr += TextHelper.GetSeasonText(seasonArray[i]);
if (seasonArray.Length > 1 && i < seasonArray.Length - 1)
{
seasonStr += ",";
}
}
popup.m_Season.text = seasonStr;
popup.m_GrowTime.text = cropConfig.GrowthCycle.ToString();
popup.Visible = true;
GRoot.inst.ShowPopup(popup.FGComp, plantSeedItem);
}
public static void OnSeedItemClick(this FUIFarmlandBatchWindowComponent self, EventContext context)
{
var plantSeedItem = (PlantSeedItem) context.data;
self.SelectSeedItem(plantSeedItem);
}
public static async ETTask OnGrowSpeedUpButtonClick(this FUIFarmlandBatchWindowComponent self)
{
Unit unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
int result = await FarmlandHelper.FarmlandRipe(unit, self.Farmland.Id);
}
public static void SetIsBatchOperating(this FUIFarmlandBatchWindowComponent self, bool isBatching)
{
self.IsInBatchOperating = isBatching;
self.FUIFarmlandBatchWindow.m_isBatchOperating.selectedIndex = isBatching? 1 : 0;
}
public static void CheckToDoBatchOperate(this FUIFarmlandBatchWindowComponent self, Vector2 screenPos)
{
if (self.CurBatchOperate == BatchOperate.None)
{
return;
}
Vector3 worldPos = self.CameraComp.ScreenToWorldPoint(screenPos);
Unit unit = UnitHelper.GetMyUnitFromZoneScene(self.ZoneScene());
foreach (Farmland farmland in self.FarmlandGroup)
{
var building = farmland.GetParent<Building>();
var buildingView = building.GetComponent<BuildingViewComponent>();
if (buildingView.IsPointInClickArea(worldPos))
{
if (!self.CurBatchOperateFarmlands.Contains(farmland))
{
switch (self.CurBatchOperate)
{
case BatchOperate.Seed:
if (farmland.FarmlandState == FarmlandState.FARMLAND_STATE_FREE)
{
self.CurBatchOperateFarmlands.Add(farmland);
CabinHelper.CabinSeed(unit, farmland, self.CurSelectCrop.Id).Coroutine();
self.SetIsBatchOperating(true);
}
break;
case BatchOperate.Harvest:
if (farmland.FarmlandState == FarmlandState.FARMLAND_STATE_RIPE)
{
self.CurBatchOperateFarmlands.Add(farmland);
CabinHelper.CabinHarvest(unit, farmland).Coroutine();
self.SetIsBatchOperating(true);
}
break;
}
}
}
}
}
public static bool IsOnUI(this FUIFarmlandBatchWindowComponent self)
{
// 除子UI元素的其它窗口区域都认为是非UI
if (Stage.inst.touchTarget == self.FUIFarmlandBatchWindow.FGComp.displayObject)
{
return false;
}
return true;
}
public static void OnTouchBegin(this FUIFarmlandBatchWindowComponent self, EventContext eventContext)
{
if (self.CurBatchOperate == BatchOperate.None)
{
return;
}
if (self.IsOnUI())
{
return;
}
eventContext.CaptureTouch();
self.CurTouchPos.Set(eventContext.inputEvent.x, Screen.height - eventContext.inputEvent.y);
self.CheckToDoBatchOperate(self.CurTouchPos);
}
public static void OnTouchMove(this FUIFarmlandBatchWindowComponent self, EventContext eventContext)
{
self.CurTouchPos.Set(eventContext.inputEvent.x, Screen.height - eventContext.inputEvent.y);
self.CheckToDoBatchOperate(self.CurTouchPos);
}
public static void OnTouchEnd(this FUIFarmlandBatchWindowComponent self, EventContext eventContext)
{
self.CurBatchOperateFarmlands.Clear();
// 批量操作后关闭窗口,因为可能选中的田会发生状态改变,造成操作改变
if (self.IsInBatchOperating)
{
self.SetIsBatchOperating(false);
self.Hide();
}
}
public static void OnGlobalTouchMove(this FUIFarmlandBatchWindowComponent self, EventContext eventContext)
{
switch (self.CurBatchOperate)
{
case BatchOperate.Seed:
//self.FUIFarmlandBatchWindow.m_PlantSeedCursor.visible = true;
self.FUIFarmlandBatchWindow.m_PlantSeedCursor.position = eventContext.inputEvent.position;
break;
case BatchOperate.Harvest:
//self.FUIFarmlandBatchWindow.m_HarvestCursor.visible = true;
self.FUIFarmlandBatchWindow.m_HarvestCursor.position = eventContext.inputEvent.position;
break;
}
}
public static void OnHide(this FUIFarmlandBatchWindowComponent self)
{
var buildingView = self.Building.GetComponent<BuildingViewComponent>();
buildingView?.NormalBuilding();
foreach (Farmland farmland in self.FarmlandGroup)
{
if (farmland == self.Farmland)
{
continue;
}
var farmlandBuilding = farmland.GetParent<Building>();
buildingView = farmlandBuilding.GetComponent<BuildingViewComponent>();
buildingView?.NormalBuilding();
}
self.SetIsBatchOperating(false);
}
public static void Hide(this FUIFarmlandBatchWindowComponent self)
{
self.Window.Hide();
}
public static void OnCloseButtonClick(this FUIFarmlandBatchWindowComponent self)
{
self.Hide();
}
}
}

1
Unity/Codes/HotfixView/Demo/FUI/Logic/Building/FUIFarmlandWindowComponentSystem.cs

@ -189,6 +189,7 @@ namespace ET
}
self.FUIFarmlandWindow.m_Harvest_CropIcon.url = cropConfig.CropPic;
self.FUIFarmlandWindow.m_Harvest_ProductionNum.text = cropConfig.BasicProduction.ToString();
if (self.Farmland.PeopleId > 0)
{

14
Unity/Codes/HotfixView/Demo/FUI/Logic/Building/FarmlandStateChanged_RefreshWindow.cs

@ -7,13 +7,25 @@ namespace ET
{
protected override void Run(FarmlandStateChanged args)
{
var winEntity = FUIComponent.Instance.GetWindow(FUI_FarmlandWindow.UIResName) ;
var winEntity = FUIComponent.Instance.GetWindow(FUI_FarmlandWindow.UIResName);
if (winEntity != null)
{
var farmlandWin = winEntity as FUIFarmlandWindowComponent;
if (farmlandWin.IsShowing)
{
farmlandWin.CheckToRefresh(args.Farmland);
return;
}
}
winEntity = FUIComponent.Instance.GetWindow(FUI_FarmlandBatchWindow.UIResName);
if (winEntity != null)
{
var farmlandWin = winEntity as FUIFarmlandBatchWindowComponent;
if (farmlandWin.IsShowing)
{
farmlandWin.CheckToRefresh(args.Farmland);
return;
}
}
}

2
Unity/Codes/HotfixView/Demo/FUI/Logic/UnitName/FUIUnitNamePanelComponentSystem.cs

@ -1,5 +1,7 @@
/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
using FairyGUI;
using UnityEngine;
using UnityEngine.Search;
namespace ET

5
Unity/Codes/HotfixView/Demo/Operation/MapUnitOperationComponentSystem.cs

@ -131,6 +131,11 @@ namespace ET
self.UnitPosUpdate?.Invoke();
}
public static bool IsPlaceValid(this MapUnitOperationComponent self)
{
return self.MapComp.IsPlaceValid(self.CurEditUnitRoot.position, self.CurEditUnitSize);
}
public static Vector2 GetMidLeftPos(this MapUnitOperationComponent self)
{
var midPos = self.UnitMidPos;

23
Unity/Codes/HotfixView/Demo/People/Behave/Behave_Cabin.cs

@ -0,0 +1,23 @@
namespace ET.PeopleBehave
{
[Behave(ConstBehaveType.BEHAVE_CABIN)]
public class Behave_Cabin : BehaveBase
{
public override void Handle(People people)
{
PeopleViewComponent pView = people.GetComponent<PeopleViewComponent>();
if (pView != null)
{
pView.SetNavEnable(false);
}
var pAnimator = people.GetComponent<PeopleAnimatorComponent>();
if (pAnimator == null)
{
return;
}
pAnimator.StopAll();
pAnimator.PlayAnimation(PeopleAnimEnum.Idle);
}
}
}

7
Unity/Codes/HotfixView/Demo/People/Behave/Behave_Idle.cs

@ -5,6 +5,13 @@
{
public override void Handle(People people)
{
PeopleViewComponent pView = people.GetComponent<PeopleViewComponent>();
if (pView != null)
{
pView.SetNavEnable(true);
pView.Stop();
}
var pAnimator = people.GetComponent<PeopleAnimatorComponent>();
if (pAnimator == null)
{

40
Unity/Codes/HotfixView/Demo/People/Behave/Behave_Prepare_Cabin.cs

@ -0,0 +1,40 @@
namespace ET.PeopleBehave
{
[Behave(ConstBehaveType.BEHAVE_PREPARE_CABIN)]
public class Behave_Prepare_Cabin : BehaveBase
{
public override void Handle(People people)
{
PeopleViewComponent pView = people.GetComponent<PeopleViewComponent>();
if (pView == null)
{
return;
}
Unit unit = UnitHelper.GetMyUnitFromZoneScene(people.ZoneScene());
// 为cabin
long targetId = people.GetTargetId();
var cabin = unit.GetGrandChild<Cabin>(targetId);
if (cabin != null)
{
Building building = cabin.GetParent<Building>();
if (building != null)
{
var bView = building.GetComponent<BuildingViewComponent>();
pView.MoveToPos(bView.GetWorkPos());
}
}
var pAnimator = people.GetComponent<PeopleAnimatorComponent>();
if (pAnimator == null)
{
return;
}
pAnimator.StopAll();
pAnimator.PlayAnimation(PeopleAnimEnum.Run);
}
}
}

5
Unity/Codes/HotfixView/Demo/People/PeopleViewComponentSystem.cs

@ -109,6 +109,11 @@ namespace ET
}
}
public static void SetNavEnable(this PeopleViewComponent self, bool enable)
{
self.Agent.enabled = enable;
}
public static void Stop(this PeopleViewComponent self)
{
if (!self.IsMoving)

6
Unity/Codes/HotfixView/Demo/Resource/AutoResLoaderComponent.cs

@ -44,6 +44,12 @@ namespace ET
var obj = await YooAssetComponent.Instance.LoadAssetAsyncAuto<T>(self.GetHashCode(), location);
return obj;
}
public static T LoadAssetSync<T>(this AutoResLoaderComponent self, string location) where T : UnityEngine.Object
{
var obj = YooAssetComponent.Instance.LoadAssetSyncAuto<T>(self.GetHashCode(), location);
return obj;
}
public static void Destroy(this AutoResLoaderComponent self)
{

20
Unity/Codes/HotfixView/Demo/Resource/YooAssetComponent.cs

@ -96,6 +96,26 @@ namespace ET
return obj;
}
public static T LoadAssetSyncAuto<T>(this YooAssetComponent self, int autoResLoaderCompHashCode, string location) where T : UnityEngine.Object
{
var obj = YooAssetWrapper.LoadAssetSync<T>(location);
self.AutoLoaderUnityObjects.TryGetValue(autoResLoaderCompHashCode, out List<UnityEngine.Object> objList);
if (objList == null)
{
objList = new List<UnityEngine.Object>();
self.AutoLoaderUnityObjects.Add(autoResLoaderCompHashCode, objList);
}
if (!objList.Contains(obj))
{
objList.Add(obj);
}
return obj;
}
public static void ReleaseAuto(this YooAssetComponent self, int autoResLoaderCompHashCode)
{

12
Unity/Codes/HotfixView/Demo/Resource/YooAssetHelper.cs

@ -39,6 +39,18 @@ namespace ET
var obj = await autoResLoaderComp.LoadAssetAsync<T>(location);
return obj;
}
public static T LoadAssetSync<T>(this Entity self, string location) where T : UnityEngine.Object
{
var autoResLoaderComp = self.GetComponent<AutoResLoaderComponent>();
if ( autoResLoaderComp == null)
{
autoResLoaderComp = self.AddComponent<AutoResLoaderComponent>();
}
var obj = autoResLoaderComp.LoadAssetSync<T>(location);
return obj;
}
public static string ToPrefabAddress(this string self)
{

18
Unity/Codes/HotfixView/Demo/ResourceView/ResourceViewComponentSystem.cs

@ -14,7 +14,7 @@ namespace ET
}
}
public class ResourceViewComponentDestorySystem : DestroySystem<ResourceViewComponent>
public class ResourceViewComponentDestroySystem : DestroySystem<ResourceViewComponent>
{
public override void Destroy(ResourceViewComponent self)
{
@ -128,6 +128,22 @@ namespace ET
self.UnitName.FGComp.xy = FUIHelper.ConvertToUIPos(topPos);
self.UnitName.FGComp.scale = Vector2.one * 10 /mainCamera.orthographicSize;
}
public static bool IsOnUI(this ResourceViewComponent self)
{
if (Stage.isTouchOnUI)
{
var unitNamePanel = FUIComponent.Instance.GetUI(FUI_UnitNamePanel.UIResName) as FUIUnitNamePanelComponent;
if (unitNamePanel != null && unitNamePanel.FUIUnitNamePanel.Visible)
{
if (unitNamePanel.FUIUnitNamePanel.FGComp.IsAncestorOf(GRoot.inst.touchTarget))
{
return true;
}
}
}
return false;
}
public static void OnSpriteClicked(this ResourceViewComponent self, ResourceViewComponent resourceViewComponent)
{

67
Unity/Codes/HotfixView/Demo/Scene/MapComponentSystem.cs

@ -35,7 +35,7 @@ namespace ET
}
// 以最底部为Map的数组的0,0点
[FriendClass(typeof(MapComponent))]
public static class MapComponentSystem
{
@ -168,12 +168,12 @@ namespace ET
return worldPos;
}
public static Vector2Int WorldToMapPos(this MapComponent self, Vector2 worlPos)
public static Vector2Int WorldToMapPos(this MapComponent self, Vector2 worldPos)
{
Vector2Int mapPos = new Vector2Int();
var offsetY = worlPos.y + self.HalfTileMapHeight;
mapPos.x = Mathf.RoundToInt(offsetY / self.TileHeight - worlPos.x / self.TileWidth);
mapPos.y = Mathf.RoundToInt(worlPos.x / self.TileWidth + offsetY / self.TileHeight);
var offsetY = worldPos.y + self.HalfTileMapHeight;
mapPos.x = Mathf.RoundToInt(offsetY / self.TileHeight - worldPos.x / self.TileWidth);
mapPos.y = Mathf.RoundToInt(worldPos.x / self.TileWidth + offsetY / self.TileHeight);
mapPos.x = Mathf.Clamp(mapPos.x, 0, self.MaxTileX);
mapPos.y = Mathf.Clamp(mapPos.y, 0, self.MaxTileY);
@ -186,14 +186,47 @@ namespace ET
self.OccupyPlaceIndicatorMR = self.OccupyPlaceInidcator.GetComponent<MeshRenderer>();;
}
public static void GetUnitRectIndices(this MapComponent self, Vector3 worldPos, Vector2Int size, out RectIndices rectIndices)
public static RectIndices GetUnitRectIndices(this MapComponent self, Vector3 worldPos, Vector2Int size)
{
RectIndices rectIndices = new();
// 坐标原点在底部中心
Vector2Int bottomPos = self.WorldToMapPos(worldPos);
rectIndices.startRow = bottomPos.x;
rectIndices.endRow = bottomPos.x + size.x;
rectIndices.endRow = Mathf.Min(bottomPos.x + size.x, self.MaxTileX);
rectIndices.startCol = bottomPos.y;
rectIndices.endCol = bottomPos.y + size.y;
rectIndices.endCol = Mathf.Min(bottomPos.y + size.y, self.MaxTileY);
return rectIndices;
}
// 以传入的点为中心的一个矩形范围
public static RectIndices GetUnitRectIndicesOfCenter(this MapComponent self, Vector3 worldPos, Vector2Int size)
{
RectIndices rectIndices = new();
// 坐标原点在底部中心
Vector2Int bottomPos = self.WorldToMapPos(worldPos);
int halfSizeX = size.x / 2;
int halfSizeY = size.y / 2;
rectIndices.startRow = Mathf.Max(bottomPos.x - halfSizeX, 0);
rectIndices.endRow = Mathf.Min(bottomPos.x + halfSizeX, self.MaxTileX);
rectIndices.startCol = Mathf.Max(bottomPos.y - halfSizeY, 0);
rectIndices.endCol = Mathf.Min(bottomPos.y + halfSizeY, self.MaxTileY);
return rectIndices;
}
public static bool IsPosInRect(this MapComponent self, Vector2Int pos, RectIndices rectIndices)
{
if (pos.x >= rectIndices.startRow &&
pos.x < rectIndices.endRow &&
pos.y >= rectIndices.startCol &&
pos.y < rectIndices.endCol)
{
return true;
}
return false;
}
public static bool CheckPlaceValid(this MapComponent self, ref RectIndices rectIndices)
@ -212,12 +245,17 @@ namespace ET
return true;
}
public static void UpdateIndicator(this MapComponent self,Vector3 worldPos, Vector2Int size)
public static bool IsPlaceValid(this MapComponent self, Vector3 worldPos, Vector2Int size)
{
RectIndices rectIndices = new RectIndices();
self.GetUnitRectIndices(worldPos, size, out rectIndices);
RectIndices rectIndices = self.GetUnitRectIndices(worldPos, size);
if (self.CheckPlaceValid(ref rectIndices))
return self.CheckPlaceValid(ref rectIndices);
}
public static void UpdateIndicator(this MapComponent self,Vector3 worldPos, Vector2Int size)
{
var isValid = self.IsPlaceValid(worldPos, size);
if (isValid)
{
self.OccupyPlaceIndicatorMR.material.color = self.ValidColor;
}
@ -252,8 +290,7 @@ namespace ET
public static void MarkPlaceOnGrid(this MapComponent self, Vector3 pos, Vector2Int size, bool marked = true)
{
RectIndices rectIndices = new RectIndices();
self.GetUnitRectIndices(pos, size, out rectIndices);
RectIndices rectIndices = self.GetUnitRectIndices(pos, size);
for (int i = rectIndices.startRow; i < rectIndices.endRow; i++)
{
@ -271,7 +308,7 @@ namespace ET
self.NavMesh2d.BuildNavMesh();
}
// sprte的局部坐标系的原点为底部中点
// sprite的局部坐标系的原点为底部中点
public static Vector2Int LocalToMapPos(this MapComponent self, Vector2 topPos)
{
Vector2Int mapPos = new Vector2Int();

2
Unity/Codes/Model/Demo/Cabin/Cabin.cs

@ -3,7 +3,7 @@ using MongoDB.Bson.Serialization.Attributes;
namespace ET
{
public class Cabin: Entity,IAwake,IUpdate, IDestroy,ISerializeToEntity
public class Cabin: Entity, IAwake,ISerializeToEntity, IDestroy
{
public long PeopleId;
public List<long> FarmlandIds = new List<long>();

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save