From 146e39c5ef6bb29927cb7c00d7708fceab30a724 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Wed, 21 Oct 2020 10:01:40 +0800
Subject: [PATCH] 无尽模式奖励和掉落逻辑基本完成

---
 Assets/Prefabs/UI/Props.meta                                   |    8 
 GemBattle/宝石塔防_Data/sharedassets0.assets                       |    0 
 GemBattle/宝石塔防_Data/resources.assets                           |    0 
 GemBattle/宝石塔防_Data/level3                                     |    0 
 GemBattle/宝石塔防_Data/level2                                     |    0 
 Assets/Scenes/Levels/Battle/Endless.unity                      |   95 ++
 GemBattle/宝石塔防_Data/globalgamemanagers.assets                  |    0 
 GemBattle/宝石塔防_Data/globalgamemanagers                         |    0 
 GemBattle/宝石塔防_Data/level0                                     |    0 
 GemBattle/宝石塔防_Data/level1                                     |    0 
 Assets/Prefabs/UI/Props/MiddleTreasure.prefab                  |  185 ++++++
 Assets/Scripts/TowerDefense/Economy/LootDrop.cs                |   13 
 Assets/Scripts/TowerDefense/Towers/EndlessViewObtainedProps.cs |   82 ++
 GemBattle/宝石塔防_Data/Managed/Assembly-CSharp.dll                |    0 
 GemBattle/宝石塔防_Data/StreamingAssets/Table/endless_port.json    |    2 
 Assets/Prefabs/UI/Props/Gold.prefab                            |  185 ++++++
 Assets/Prefabs/UI/Props/Gold.prefab.meta                       |    7 
 Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs        |  224 ++++++++
 GemBattle/宝石塔防_Data/sharedassets2.assets                       |    0 
 Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs.meta   |   11 
 Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs.meta       |   11 
 Assets/Scripts/Data/EndlessPortData.cs                         |   57 ++
 Assets/Scripts/TowerDefense/Level/EndlessWave.cs               |    3 
 Assets/Prefabs/UI/Props/Money.prefab.meta                      |    7 
 Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs            |   82 +++
 Assets/StreamingAssets/Table/endless_port.json                 |    2 
 Assets/Prefabs/UI/Props/PrimaryTreasure.prefab                 |  185 ++++++
 Assets/Prefabs/UI/Props/AdvancedTreasure.prefab                |  185 ++++++
 And/GemBattle.apk                                              |    0 
 GemBattle/宝石塔防_Data/sharedassets1.assets                       |    0 
 Assets/Prefabs/UI/Props/PrimaryTreasure.prefab.meta            |    7 
 Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs       |    1 
 GemBattle/宝石塔防_Data/sharedassets3.assets                       |    0 
 Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs        |   21 
 Assets/Prefabs/UI/Props/Money.prefab                           |  185 ++++++
 Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs    |    8 
 Assets/Prefabs/UI/Props/MiddleTreasure.prefab.meta             |    7 
 Assets/Prefabs/UI/Props/AdvancedTreasure.prefab.meta           |    7 
 38 files changed, 1,531 insertions(+), 49 deletions(-)

diff --git a/And/GemBattle.apk b/And/GemBattle.apk
index bee26e8..a104c13 100644
--- a/And/GemBattle.apk
+++ b/And/GemBattle.apk
Binary files differ
diff --git a/Assets/Prefabs/UI/Props.meta b/Assets/Prefabs/UI/Props.meta
new file mode 100644
index 0000000..a41a3e9
--- /dev/null
+++ b/Assets/Prefabs/UI/Props.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7f4e8d4422f25c14fbfa36126c925142
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/UI/Props/AdvancedTreasure.prefab b/Assets/Prefabs/UI/Props/AdvancedTreasure.prefab
new file mode 100644
index 0000000..0bbc623
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/AdvancedTreasure.prefab
@@ -0,0 +1,185 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1219444306348366272
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3211696234897727820}
+  - component: {fileID: 7324797864695113716}
+  - component: {fileID: 4465234445801372910}
+  m_Layer: 5
+  m_Name: AdvancedTreasure
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3211696234897727820
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1219444306348366272}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 2689761340765340514}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -145, y: -92}
+  m_SizeDelta: {x: 120, y: 120}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &7324797864695113716
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1219444306348366272}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 964703469003812076}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 4465234445801372910}
+        m_TargetAssemblyTypeName: KTGMGemClient.EndlessDropReward, Assembly-CSharp
+        m_MethodName: OnClick
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &4465234445801372910
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1219444306348366272}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d575e3bc963ad4c4296c297e550a2853, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Type: 5
+  Id: 3
+  AutoCollectTime: 5
+--- !u!1 &5697637353165488749
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2689761340765340514}
+  - component: {fileID: 7007587483375889296}
+  - component: {fileID: 964703469003812076}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2689761340765340514
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5697637353165488749}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 3211696234897727820}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 134, y: 134}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7007587483375889296
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5697637353165488749}
+  m_CullTransparentMesh: 0
+--- !u!114 &964703469003812076
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5697637353165488749}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 794b94296261e8f4ca1481e698f9d8f0, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
diff --git a/Assets/Prefabs/UI/Props/AdvancedTreasure.prefab.meta b/Assets/Prefabs/UI/Props/AdvancedTreasure.prefab.meta
new file mode 100644
index 0000000..7a4d760
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/AdvancedTreasure.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f641fe6e6a3810b4d8846b021e8b9f49
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/UI/Props/Gold.prefab b/Assets/Prefabs/UI/Props/Gold.prefab
new file mode 100644
index 0000000..dc9de87
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/Gold.prefab
@@ -0,0 +1,185 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3575901222109526644
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2522295423804976635}
+  - component: {fileID: 3626571000622665144}
+  - component: {fileID: 8110511333356055049}
+  m_Layer: 5
+  m_Name: Icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2522295423804976635
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3575901222109526644}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 5768198296561543998}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 134, y: 134}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3626571000622665144
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3575901222109526644}
+  m_CullTransparentMesh: 0
+--- !u!114 &8110511333356055049
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3575901222109526644}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 22253e4af58f9504ea78ba1dd24ff910, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &6398087328225072327
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5768198296561543998}
+  - component: {fileID: 1207690964544541947}
+  - component: {fileID: 4395496557573317301}
+  m_Layer: 5
+  m_Name: Gold
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5768198296561543998
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6398087328225072327}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 2522295423804976635}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -102, y: 150}
+  m_SizeDelta: {x: 100, y: 122}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1207690964544541947
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6398087328225072327}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 8110511333356055049}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 4395496557573317301}
+        m_TargetAssemblyTypeName: KTGMGemClient.EndlessDropReward, Assembly-CSharp
+        m_MethodName: OnClick
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &4395496557573317301
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6398087328225072327}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d575e3bc963ad4c4296c297e550a2853, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Type: 2
+  Id: 0
+  AutoCollectTime: 5
diff --git a/Assets/Prefabs/UI/Props/Gold.prefab.meta b/Assets/Prefabs/UI/Props/Gold.prefab.meta
new file mode 100644
index 0000000..b9231fd
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/Gold.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c84cc9b73dfbd9d40ab3540d82d17643
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/UI/Props/MiddleTreasure.prefab b/Assets/Prefabs/UI/Props/MiddleTreasure.prefab
new file mode 100644
index 0000000..699f797
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/MiddleTreasure.prefab
@@ -0,0 +1,185 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &268212091695641631
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8220193714052441395}
+  - component: {fileID: 2452548354869960878}
+  - component: {fileID: 7166688491910317910}
+  m_Layer: 5
+  m_Name: Icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8220193714052441395
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 268212091695641631}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 5630456520206133914}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 134, y: 134}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2452548354869960878
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 268212091695641631}
+  m_CullTransparentMesh: 0
+--- !u!114 &7166688491910317910
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 268212091695641631}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: a2afa197cdd7fda4eb0ca90287f7d882, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &6052997991039108785
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5630456520206133914}
+  - component: {fileID: 8860816894640413797}
+  - component: {fileID: 6370241837820076188}
+  m_Layer: 5
+  m_Name: MiddleTreasure
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5630456520206133914
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6052997991039108785}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 8220193714052441395}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 30, y: -83}
+  m_SizeDelta: {x: 120, y: 120}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &8860816894640413797
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6052997991039108785}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 7166688491910317910}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 6370241837820076188}
+        m_TargetAssemblyTypeName: KTGMGemClient.EndlessDropReward, Assembly-CSharp
+        m_MethodName: OnClick
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &6370241837820076188
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6052997991039108785}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d575e3bc963ad4c4296c297e550a2853, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Type: 5
+  Id: 2
+  AutoCollectTime: 5
diff --git a/Assets/Prefabs/UI/Props/MiddleTreasure.prefab.meta b/Assets/Prefabs/UI/Props/MiddleTreasure.prefab.meta
new file mode 100644
index 0000000..e41fc6a
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/MiddleTreasure.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f352933946a0b7f4f83a3578feab2b5b
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/UI/Props/Money.prefab b/Assets/Prefabs/UI/Props/Money.prefab
new file mode 100644
index 0000000..72951ec
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/Money.prefab
@@ -0,0 +1,185 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &4719430855502575759
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4719430855502575758}
+  - component: {fileID: 4719430855502575747}
+  - component: {fileID: 4719430855502575744}
+  m_Layer: 5
+  m_Name: Icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4719430855502575758
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4719430855502575759}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 4719430855819224626}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 52, y: 58}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4719430855502575747
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4719430855502575759}
+  m_CullTransparentMesh: 0
+--- !u!114 &4719430855502575744
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4719430855502575759}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: f95a7e975f487ac4b932bea4f52cc966, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &4719430855819224627
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4719430855819224626}
+  - component: {fileID: 4719430855819224628}
+  - component: {fileID: 4367149701677297856}
+  m_Layer: 5
+  m_Name: Money
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4719430855819224626
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4719430855819224627}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 4719430855502575758}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -126, y: 61}
+  m_SizeDelta: {x: 60, y: 60}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &4719430855819224628
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4719430855819224627}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 4719430855502575744}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 4367149701677297856}
+        m_TargetAssemblyTypeName: KTGMGemClient.EndlessDropReward, Assembly-CSharp
+        m_MethodName: OnClick
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &4367149701677297856
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4719430855819224627}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d575e3bc963ad4c4296c297e550a2853, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Type: 1
+  Id: 0
+  AutoPickupTime: 0
diff --git a/Assets/Prefabs/UI/Props/Money.prefab.meta b/Assets/Prefabs/UI/Props/Money.prefab.meta
new file mode 100644
index 0000000..9847f7b
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/Money.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2b602abab799e804a91cf5dedb4cf239
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/UI/Props/PrimaryTreasure.prefab b/Assets/Prefabs/UI/Props/PrimaryTreasure.prefab
new file mode 100644
index 0000000..68ce711
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/PrimaryTreasure.prefab
@@ -0,0 +1,185 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1524203488151845926
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 448063414958138452}
+  - component: {fileID: 6922045756076185944}
+  - component: {fileID: 8169233507960334316}
+  m_Layer: 5
+  m_Name: Icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &448063414958138452
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1524203488151845926}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 3580906314618362183}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 134, y: 134}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6922045756076185944
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1524203488151845926}
+  m_CullTransparentMesh: 0
+--- !u!114 &8169233507960334316
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1524203488151845926}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 38a3413ce7ebb794788cadf0b86b9a45, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!1 &6421580822896475683
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3580906314618362183}
+  - component: {fileID: 3584126478140228984}
+  - component: {fileID: 8943175746613764017}
+  m_Layer: 5
+  m_Name: PrimaryTreasure
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3580906314618362183
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6421580822896475683}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 448063414958138452}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 85, y: -137}
+  m_SizeDelta: {x: 120, y: 120}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &3584126478140228984
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6421580822896475683}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 8169233507960334316}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 8943175746613764017}
+        m_TargetAssemblyTypeName: KTGMGemClient.EndlessDropReward, Assembly-CSharp
+        m_MethodName: OnClick
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
+--- !u!114 &8943175746613764017
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6421580822896475683}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d575e3bc963ad4c4296c297e550a2853, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Type: 5
+  Id: 1
+  AutoCollectTime: 5
diff --git a/Assets/Prefabs/UI/Props/PrimaryTreasure.prefab.meta b/Assets/Prefabs/UI/Props/PrimaryTreasure.prefab.meta
new file mode 100644
index 0000000..918f175
--- /dev/null
+++ b/Assets/Prefabs/UI/Props/PrimaryTreasure.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 37f3cf3f6391c564687f6800471d827a
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/Levels/Battle/Endless.unity b/Assets/Scenes/Levels/Battle/Endless.unity
index edce625..8eff8c1 100644
--- a/Assets/Scenes/Levels/Battle/Endless.unity
+++ b/Assets/Scenes/Levels/Battle/Endless.unity
@@ -291,7 +291,7 @@
   - {fileID: 39084533}
   - {fileID: 1846348240}
   m_Father: {fileID: 849284131}
-  m_RootOrder: 8
+  m_RootOrder: 9
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -848,7 +848,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 49423732}
   m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
-  m_LocalPosition: {x: 0.47000003, y: 1.36, z: 19.77}
+  m_LocalPosition: {x: 0.47000003, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 304173789}
@@ -917,6 +917,41 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 49423732}
   m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &76143238
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 76143239}
+  m_Layer: 5
+  m_Name: DropLayer
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &76143239
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 76143238}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 849284131}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 1080, y: 1920}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &96670465
 GameObject:
   m_ObjectHideFlags: 0
@@ -1547,7 +1582,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 167919691}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 20.36, y: 0.98, z: 3.67}
+  m_LocalPosition: {x: 20.6, y: 0.98, z: 8.85}
   m_LocalScale: {x: 0.79999995, y: 1, z: 3.3}
   m_Children: []
   m_Father: {fileID: 304173789}
@@ -2664,7 +2699,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 284948256}
   m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
-  m_LocalPosition: {x: -9.47, y: 1.36, z: 19.7}
+  m_LocalPosition: {x: -9.47, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 1998565447}
@@ -2834,7 +2869,7 @@
   - {fileID: 767174507}
   - {fileID: 1608463748}
   m_Father: {fileID: 849284131}
-  m_RootOrder: 7
+  m_RootOrder: 8
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -3750,7 +3785,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 469016880}
   m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
-  m_LocalPosition: {x: 10.86, y: 1.36, z: 19.7}
+  m_LocalPosition: {x: 10.86, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 819185222}
@@ -4038,7 +4073,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 495435993}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: -19.7, y: 0.9, z: 3.67}
+  m_LocalPosition: {x: -19.7, y: 0.9, z: 8.85}
   m_LocalScale: {x: 0.79999995, y: 1, z: 3.3}
   m_Children: []
   m_Father: {fileID: 304173789}
@@ -4578,6 +4613,7 @@
   - component: {fileID: 567180760}
   - component: {fileID: 567180758}
   - component: {fileID: 567180764}
+  - component: {fileID: 567180765}
   m_Layer: 0
   m_Name: WaveManager
   m_TagString: Untagged
@@ -4739,6 +4775,24 @@
   m_Script: {fileID: 11500000, guid: ae98f435720c34145a1b4019d3893885, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+--- !u!114 &567180765
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 567180756}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 2739028eff58f874cb8a28112fe08545, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  PropList:
+  - {fileID: 4719430855819224627, guid: 2b602abab799e804a91cf5dedb4cf239, type: 3}
+  - {fileID: 6398087328225072327, guid: c84cc9b73dfbd9d40ab3540d82d17643, type: 3}
+  - {fileID: 6421580822896475683, guid: 37f3cf3f6391c564687f6800471d827a, type: 3}
+  - {fileID: 6052997991039108785, guid: f352933946a0b7f4f83a3578feab2b5b, type: 3}
+  - {fileID: 1219444306348366272, guid: f641fe6e6a3810b4d8846b021e8b9f49, type: 3}
 --- !u!114 &567180766
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -5125,7 +5179,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 618377762}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 10.35, y: 0.98, z: 3.67}
+  m_LocalPosition: {x: 10.6, y: 0.98, z: 8.85}
   m_LocalScale: {x: 0.79999995, y: 1, z: 3.3}
   m_Children: []
   m_Father: {fileID: 304173789}
@@ -6426,7 +6480,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 798990854}
   m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
-  m_LocalPosition: {x: -19.7, y: 1.36, z: 19.7}
+  m_LocalPosition: {x: -19.7, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 236991185}
@@ -6822,6 +6876,7 @@
   - {fileID: 181323909}
   - {fileID: 1570259601}
   - {fileID: 559457822}
+  - {fileID: 76143239}
   - {fileID: 306286610}
   - {fileID: 19764330}
   - {fileID: 1730636813}
@@ -6965,7 +7020,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 902738588}
   m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
-  m_LocalPosition: {x: 10.35, y: 1.36, z: 19.77}
+  m_LocalPosition: {x: 10.8, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 304173789}
@@ -7179,6 +7234,10 @@
   m_Name: 
   m_EditorClassIdentifier: 
   RewardInfoUI: {fileID: 1514665749}
+  PrimaryTreasure: {fileID: 795048839}
+  MiddleTreasure: {fileID: 1482631636}
+  AdvancedTreasure: {fileID: 1343237802}
+  Gold: {fileID: 1083155069}
 --- !u!1 &918905599
 GameObject:
   m_ObjectHideFlags: 0
@@ -7399,7 +7458,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 928059874}
   m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
-  m_LocalPosition: {x: 0.61, y: 1.36, z: 19.7}
+  m_LocalPosition: {x: 0.61, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 1927819623}
@@ -10173,7 +10232,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1172845526}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: -9.98, y: 0.98, z: 3.67}
+  m_LocalPosition: {x: -9.98, y: 0.98, z: 8.85}
   m_LocalScale: {x: 0.79999995, y: 1, z: 3.3}
   m_Children: []
   m_Father: {fileID: 304173789}
@@ -11962,7 +12021,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1396658961}
   m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
-  m_LocalPosition: {x: -9.98, y: 1.36, z: 19.77}
+  m_LocalPosition: {x: -9.7, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 304173789}
@@ -13282,7 +13341,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1618971293}
   m_LocalRotation: {x: -0, y: 1, z: -0, w: 0}
-  m_LocalPosition: {x: 20.87, y: 1.36, z: 19.7}
+  m_LocalPosition: {x: 20.87, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 1990433419}
@@ -13668,7 +13727,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1643240603}
   m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
-  m_LocalPosition: {x: 20.36, y: 1.36, z: 19.77}
+  m_LocalPosition: {x: 20.7, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 304173789}
@@ -14439,7 +14498,7 @@
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 849284131}
-  m_RootOrder: 9
+  m_RootOrder: 10
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -15025,7 +15084,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1813750110}
   m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
-  m_LocalPosition: {x: -19.61, y: 1.36, z: 19.77}
+  m_LocalPosition: {x: -19.61, y: 1.36, z: 24.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 304173789}
@@ -16811,7 +16870,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1977355534}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0.47000003, y: 0.98, z: 3.67}
+  m_LocalPosition: {x: 0.47000003, y: 0.98, z: 8.85}
   m_LocalScale: {x: 0.79999995, y: 1, z: 3.3}
   m_Children: []
   m_Father: {fileID: 304173789}
diff --git a/Assets/Scripts/Data/EndlessPortData.cs b/Assets/Scripts/Data/EndlessPortData.cs
index 92cd2b0..e117da0 100644
--- a/Assets/Scripts/Data/EndlessPortData.cs
+++ b/Assets/Scripts/Data/EndlessPortData.cs
@@ -1,4 +1,5 @@
 using System.Collections.Generic;
+using System;
 
 /**
  * endless_port 无尽模式关卡配置表数据处理类
@@ -18,6 +19,11 @@
         /// 预先随机好的敌人数据,spawnAgent时直接取这个数据,不再动态随机
         /// </summary>
         public endless_enemy EnemyData;
+
+        /// <summary>
+        /// 掉落概率总权重,即:表中掉落概率那一项全部加起来
+        /// </summary>
+        public int DropTotalWeight;
     }
 
     public class EndlessPortData
@@ -28,6 +34,8 @@
         private static List<endless_port> endlessPortList;
 
         private static List<EndlessPortConfig> portConfigList;
+
+        private static Random random;
 
         /// <summary>
         /// 最大关卡
@@ -46,6 +54,7 @@
         {
             endlessPortList = JsonDataCenter.GetList<endless_port>();
             portConfigList = new List<EndlessPortConfig>();
+            random = new Random();
 
             foreach (endless_port data in endlessPortList)
             {
@@ -55,6 +64,14 @@
                 EndlessPortConfig param = new EndlessPortConfig();
                 param.Config = data;
                 param.EnemyData = EndlessEnemyData.GetDataById(data.enemy_id);
+                int totalWeight = 0;
+
+                for (int i = 0; i < data.drop_rate.Count; ++i)
+                {
+                    totalWeight += data.drop_rate[i];
+                }
+
+                param.DropTotalWeight = totalWeight;
                 portConfigList.Add(param);
             }
         }
@@ -130,5 +147,45 @@
 
             return ret;
         }
+
+        /// <summary>
+        /// 根据关卡等级、波次、赛道获得击杀敌人掉落的奖励列表
+        /// </summary>
+        /// <param name="level">关卡等级</param>
+        /// <param name="wave">波次</param>
+        /// <param name="tunel">第几条赛道</param>
+        /// <returns></returns>
+        public static List<reward> GetDropRewardList(int level, int wave, int tunel)
+        {
+            List<reward> ret = new List<reward>();
+            List<List<EndlessPortConfig>> levelData = GetLevelWaveData(level);
+
+            if (levelData.Count == 0)
+                throw new Exception($"当前关卡:{level}, 没有关卡数据");
+
+            List<EndlessPortConfig> waveData = levelData[wave - 1];
+
+            if (waveData.Count == 0)
+                throw new Exception($"当前关卡:{level},当前波次:{wave},没有波次数据");
+
+            for (int i = 0; i < waveData.Count; ++i)
+            {
+                if (waveData[i].Config.tunel != tunel) continue;
+
+                for (int j = 0; j < waveData[i].Config.drop.Count; ++j)
+                {
+                    // 概率为0
+                    if (waveData[i].Config.drop_rate[j] == 0) continue;
+
+                    int val = random.Next(waveData[i].DropTotalWeight);
+
+                    if (val <= waveData[i].Config.drop_rate[j])
+                        // 命中
+                        ret.Add(waveData[i].Config.drop[j]);
+                }
+            }
+
+            return ret;
+        }
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/TowerDefense/Economy/LootDrop.cs b/Assets/Scripts/TowerDefense/Economy/LootDrop.cs
index aa6b1b9..ac54058 100644
--- a/Assets/Scripts/TowerDefense/Economy/LootDrop.cs
+++ b/Assets/Scripts/TowerDefense/Economy/LootDrop.cs
@@ -2,6 +2,8 @@
 using TowerDefense.Agents;
 using TowerDefense.Level;
 using UnityEngine;
+using KTGMGemClient;
+using System.Collections.Generic;
 
 namespace TowerDefense.Economy
 {
@@ -90,8 +92,19 @@
             else if (EndlessLevelManager.instanceExists)
             {
                 Agent agent = gameObject.GetComponent<Agent>();
+
                 if (agent != null)
+                {
                     EndlessLevelManager.instance.Currency.AddCurrency(lootDropped);
+                    // 处理掉落
+                    int tunel = agent.waveLineID + 1;
+
+                    List<reward> rewardList = EndlessPortData.GetDropRewardList(EndlessLevelManager.instance.CurrentLevel,
+                        EndlessLevelManager.instance.WaveManager.CurrentWaveIndex + 1, tunel);
+
+                    if (rewardList.Count > 0)
+                        EndlessDropManager.instance.AddDrop(rewardList, gameObject.transform.position);
+                }
             }
         }
     }
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs
new file mode 100644
index 0000000..1f096ba
--- /dev/null
+++ b/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs
@@ -0,0 +1,224 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using KTGMGemClient;
+using Protobuf;
+using System;
+using Core.Utilities;
+
+/**
+ * 无尽模式掉落管理器
+ * @Author: chenxin
+ * @Date: 2020-10-20 15:37:08
+ */
+namespace TowerDefense.Level
+{
+    public class EndlessDropManager : Singleton<EndlessDropManager>
+    {
+        /// <summary>
+        /// 掉落道具预制体列表
+        /// </summary>
+        public List<GameObject> PropList;
+
+        /// <summary>
+        /// 获得掉落事件
+        /// </summary>
+        public event Action<EndlessDrop> ObtainDropEvent;
+
+        /// <summary>
+        /// 所有掉落列表,其中包括已获得的还有未拾取的掉落
+        /// </summary>
+        public List<EndlessDrop> AllDropList;
+
+        /// <summary>
+        /// 掉落的唯一id
+        /// </summary>
+        private int dropId;
+
+        /// <summary>
+        /// 所有掉落在场景内的物体字典,使用唯一id索引方便查找
+        /// </summary>
+        private Dictionary<int, GameObject> DropObjDic;
+
+        /// <summary>
+        /// 掉落半径
+        /// </summary>
+        public float DropRadius { get; set; } = 50f;
+
+        // Start is called before the first frame update
+        private void Start()
+        {
+            AllDropList = new List<EndlessDrop>();
+            DropObjDic = new Dictionary<int, GameObject>();
+        }
+
+        // Update is called once per frame
+        private void Update()
+        {
+            for (int i = 0; i < AllDropList.Count; ++i)
+            {
+                if (AllDropList[i].IsPickupCompleted) continue;
+
+                AllDropList[i].ElapsedTime += Time.deltaTime;
+
+                if (AllDropList[i].ElapsedTime >= AllDropList[i].AutoPickupTime)
+                {
+                    AllDropList[i].IsPickupCompleted = true;
+                    SafelyCallObtainDrop(AllDropList[i]);
+                    RemoveDrop(AllDropList[i].Id);
+                }
+            }
+        }
+
+        /// <summary>
+        /// 获取一个唯一的掉落id
+        /// </summary>
+        private int GetDropId()
+        {
+            return dropId++;
+        }
+
+        /// <summary>
+        /// 手动拾取了掉落
+        /// </summary>
+        /// <param name="data"></param>
+        public void OnClickDrop(EndlessDrop data)
+        {
+            data.IsPickupCompleted = true;
+            SafelyCallObtainDrop(data);
+            RemoveDrop(data.Id);
+        }
+
+        /// <summary>
+        /// 根据reward获得预制体对象
+        /// </summary>
+        /// <param name="data"></param>
+        private GameObject GetPrefabByReward(reward data)
+        {
+            switch (data.type)
+            {
+                case CURRENCY.Money:
+                    return PropList[0];
+                case CURRENCY.Gold:
+                    return PropList[1];
+                case CURRENCY.Box:
+                    return PropList[1 + data.id];
+            }
+
+            return null;
+        }
+
+        /// <summary>
+        /// 获得一些掉落
+        /// </summary>
+        /// <param name="list"></param>
+        /// <param name="pos">小怪的世界坐标</param>
+        public void AddDrop(List<reward> list, Vector3 pos)
+        {
+            for (int i = 0; i < list.Count; ++i)
+            {
+                EndlessDrop drop = new EndlessDrop();
+                drop.Reward = list[i];
+                drop.Id = GetDropId();
+
+                GameObject prefabObj = GetPrefabByReward(list[i]);
+
+                if (prefabObj == null)
+                {
+                    Debug.LogError($"--------------------- type: {list[i].type} id:{list[i].id} 没有对应的预制体 ---------------------");
+                    continue;
+                }
+
+                EndlessDropReward dropReward = prefabObj.GetComponent<EndlessDropReward>();
+                drop.AutoPickupTime = dropReward.AutoPickupTime;
+                CreateDrop(drop, pos, list.Count > 0);
+                AllDropList.Add(drop);
+            }
+        }
+
+        /// <summary>
+        /// 根据唯一id移除掉落
+        /// </summary>
+        /// <param name="id"></param>
+        private void RemoveDrop(int id)
+        {
+            if (DropObjDic.ContainsKey(id))
+            {
+                Destroy(DropObjDic[id]);
+                DropObjDic.Remove(id);
+            }
+        }
+
+        /// <summary>
+        /// 在场景中创建掉落的icon
+        /// </summary>
+        /// <param name="drop"></param>
+        /// <param name="pos"></param>
+        /// <param name="isRandom">是否需要随机位置</param>
+        private void CreateDrop(EndlessDrop drop, Vector3 pos, bool isRandom = false)
+        {
+            GameObject dropLayer = GameObject.Find("DropLayer");
+            GameObject prefabObj = GetPrefabByReward(drop.Reward);
+            GameObject obj = Instantiate(prefabObj);
+            GameObject mainUI = GameObject.Find("MainUI");
+
+            Transform mainUITransform = mainUI.GetComponent<Transform>();
+            obj.GetComponent<Transform>().SetParent(mainUITransform, true);
+            Vector3 screenPos = Camera.main.WorldToScreenPoint(pos);
+            screenPos.z = 0;
+            obj.transform.position = screenPos;
+
+            if (isRandom)
+            {
+                Vector2 p = UnityEngine.Random.insideUnitCircle * DropRadius;
+                Vector3 pos1 = p.normalized * p.magnitude;
+                Vector3 objPos = obj.transform.position;
+                objPos.x += pos1.x;
+                objPos.y += pos1.y;
+                obj.transform.position = objPos;
+            }
+
+            obj.GetComponent<EndlessDropReward>().DropData = drop;
+            DropObjDic.Add(drop.Id, obj);
+        }
+
+        /// <summary>
+        /// 调用掉落获得事件
+        /// </summary>
+        /// <param name="data"></param>
+        private void SafelyCallObtainDrop(EndlessDrop data)
+        {
+            if (ObtainDropEvent != null)
+                ObtainDropEvent(data);
+        }
+
+        /// <summary>
+        /// 获得所有已经拾取的掉落
+        /// </summary>
+        public List<EndlessDrop> GetAllObtainedDrop()
+        {
+            List<EndlessDrop> ret = new List<EndlessDrop>();
+
+            for (int i = 0; i < AllDropList.Count; ++i)
+            {
+                if (AllDropList[i].IsPickupCompleted)
+                    ret.Add(AllDropList[i]);
+            }
+
+            return ret;
+        }
+
+        /// <summary>
+        /// 检查是否所有的掉落都被拾取
+        /// </summary>
+        public bool CheckAllDropPicked()
+        {
+            for (int i = 0; i < AllDropList.Count; ++i)
+            {
+                if (!AllDropList[i].IsPickupCompleted) return false;
+            }
+
+            return true;
+        }
+    }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs.meta b/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs.meta
new file mode 100644
index 0000000..56fd192
--- /dev/null
+++ b/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2739028eff58f874cb8a28112fe08545
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
index 0faf113..bf010e3 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessLevelManager.cs
@@ -147,6 +147,7 @@
         /// </summary>
         /// <value></value>
         public int SelectBuffNeddLevels { get; set; }
+        // cx test
         // public int SelectBuffNeddLevels { get; set; } = 2;
 
         /// <summary>
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWave.cs b/Assets/Scripts/TowerDefense/Level/EndlessWave.cs
index cab46cf..23f760b 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessWave.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessWave.cs
@@ -105,8 +105,7 @@
         /// </summary>
         protected virtual void SpawnCurrent()
         {
-            if (isWaveStoped)
-                return;
+            if (isWaveStoped) return;
 
             if (!TrySetupNextSpawn())
             {
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
index f0735f7..1d416dd 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
@@ -124,10 +124,4 @@
         if (addone < waveLineList.Count)
             WaveLineFlash(addone);
     }
-
-    // Update is called once per frame
-    void Update()
-    {
-
-    }
-}
+}
\ No newline at end of file
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
index dc7c1ca..725bed7 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
@@ -30,7 +30,7 @@
         /// <summary>
         /// 当前波索引
         /// </summary>
-        protected int currentWaveIndex;
+        public int CurrentWaveIndex { get; protected set; }
 
         /// <summary>
         /// 当前波数据
@@ -94,7 +94,7 @@
             Level = level;
             LevelData = EndlessPortData.GetLevelWaveData(level);
             TotalWaves = LevelData.Count;
-            currentWaveIndex = 0;
+            CurrentWaveIndex = 0;
             EndlessBossHPManager.instance.InitHP();
             EndlessLevelManager.instance.DecrementEnemies -= DecrementEnemies;
             EndlessLevelManager.instance.DecrementEnemies += DecrementEnemies;
@@ -133,15 +133,14 @@
         {
             if (EndlessGameUI.instance.state == EndlessGameUI.State.GameOver) return;
 
-
-            if (currentWaveIndex > 0)
-                EndlessBossHPManager.instance.SwitchHP(currentWaveIndex == TotalWaves -1);
-            EndlessBossHPManager.instance.UpdateWave(TotalWaves - currentWaveIndex);
+            if (CurrentWaveIndex > 0)
+                EndlessBossHPManager.instance.SwitchHP(CurrentWaveIndex == TotalWaves -1);
+            EndlessBossHPManager.instance.UpdateWave(TotalWaves - CurrentWaveIndex);
             EndlessBossHPManager.instance.ShowHP();
-            TotalEnemies = EndlessPortData.GetWaveEnemiesCount(Level, currentWaveIndex);
+            TotalEnemies = EndlessPortData.GetWaveEnemiesCount(Level, CurrentWaveIndex);
             RemainEnemies = TotalEnemies;
 
-            waveData = LevelData[currentWaveIndex];
+            waveData = LevelData[CurrentWaveIndex];
             // 直接取第一条就行了
             WaveInterval = waveData[0].Config.cooldown / 1000f;
             TotalWaveLines = waveData.Count;
@@ -190,10 +189,10 @@
                 }
 
                 // 更新波索引
-                ++currentWaveIndex;
+                ++CurrentWaveIndex;
                 EndlessBuffManager.instance.UpdateBuffList();
 
-                if (currentWaveIndex >= TotalWaves)
+                if (CurrentWaveIndex >= TotalWaves)
                     // 当前关卡的所有波次全部完成
                     SafelyCallSpawningCompleted();
                 else
@@ -221,7 +220,7 @@
         protected virtual void SafelyCallSpawningCompleted()
         {
             isWaveStarted = false;
-            EndlessBossHPManager.instance.UpdateWave(TotalWaves - currentWaveIndex);
+            EndlessBossHPManager.instance.UpdateWave(TotalWaves - CurrentWaveIndex);
 
             if (AllWaveCompleted != null)
                 AllWaveCompleted();
diff --git a/Assets/Scripts/TowerDefense/Towers/EndlessViewObtainedProps.cs b/Assets/Scripts/TowerDefense/Towers/EndlessViewObtainedProps.cs
index 2da9c2a..3fab292 100644
--- a/Assets/Scripts/TowerDefense/Towers/EndlessViewObtainedProps.cs
+++ b/Assets/Scripts/TowerDefense/Towers/EndlessViewObtainedProps.cs
@@ -1,9 +1,9 @@
-using System.Collections;
+using Protobuf;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 using Core.Utilities;
-using System;
+using TowerDefense.Level;
 
 /**
  * 无尽模式查看已经获得道具
@@ -20,14 +20,36 @@
         public GameObject RewardInfoUI;
 
         /// <summary>
+        /// 初级宝箱文本
+        /// </summary>
+        public Text PrimaryTreasure;
+
+        /// <summary>
+        /// 中级宝箱文本
+        /// </summary>
+        public Text MiddleTreasure;
+
+        /// <summary>
+        /// 高级宝箱文本
+        /// </summary>
+        public Text AdvancedTreasure;
+
+        /// <summary>
+        /// 钻石文本
+        /// </summary>
+        public Text Gold;
+
+        /// <summary>
         /// 奖励信息界面是否正在展示
         /// </summary>
         private bool isShow;
 
+        private int[] countArr = { 0, 0, 0, 0 };
+
         // Start is called before the first frame update
         private void Start()
         {
-            
+            EndlessDropManager.instance.ObtainDropEvent += OnObtainDrop;
         }
 
         private void OnEnable()
@@ -36,16 +58,58 @@
             isShow = false;
         }
 
-        // Update is called once per frame
-        private void Update()
-        {
-            
-        }
-
         public void OnClick()
         {
             isShow = !isShow;
+
+            if (isShow) Refresh();
+
             RewardInfoUI.SetActive(isShow);
         }
+
+        /// <summary>
+        /// 刷新掉落奖励界面
+        /// </summary>
+        private void Refresh()
+        {
+            CalculateCount();
+            PrimaryTreasure.text = $"初级宝箱×{countArr[0]}";
+            MiddleTreasure.text = $"中级宝箱×{countArr[1]}";
+            AdvancedTreasure.text = $"高级宝箱×{countArr[2]}";
+            Gold.text = $"钻石×{countArr[3]}";
+        }
+
+        /// <summary>
+        /// 重新统计数量
+        /// </summary>
+        private void CalculateCount()
+        {
+            // 统计数量
+            int[] arr = { 0, 0, 0, 0 };
+            List<EndlessDrop> list = EndlessDropManager.instance.GetAllObtainedDrop();
+
+            for (int i = 0; i < list.Count; ++i)
+            {
+                switch (list[i].Reward.type)
+                {
+                    case CURRENCY.Gold:
+                        arr[3] += list[i].Reward.count;
+                        break;
+                    case CURRENCY.Box:
+                        arr[list[i].Reward.id - 1] += list[i].Reward.count;
+                        break;
+                }
+            }
+
+            countArr = arr;
+        }
+
+        /// <summary>
+        /// 获得掉落
+        /// </summary>
+        public void OnObtainDrop(EndlessDrop data)
+        {
+            if (RewardInfoUI.activeInHierarchy) Refresh();
+        }
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs b/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs
new file mode 100644
index 0000000..91a3148
--- /dev/null
+++ b/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs
@@ -0,0 +1,82 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using Core.Utilities;
+using TowerDefense.Level;
+using System;
+
+/**
+ * 无尽模式道具掉落管理器
+ * @Author: chenxin
+ * @Date: 2020-10-20 15:00:12
+ */
+namespace KTGMGemClient
+{
+    public class EndlessDrop
+    {
+        /// <summary>
+        /// 唯一id,用于区分每一个掉落,获得掉落时EndlessDropManager会为id分配值
+        /// </summary>
+        public int Id;
+
+        /// <summary>
+        /// 配置数据
+        /// </summary>
+        public reward Reward;
+
+        /// <summary>
+        /// 自动拾取时间
+        /// </summary>
+        public float AutoPickupTime;
+
+        /// <summary>
+        /// 未拾取经历时间 > 自动拾取时间,自动获得
+        /// </summary>
+        public float ElapsedTime;
+
+        /// <summary>
+        /// 是否拾取完成,自动拾取/玩家手动点击拾取完成,拾取完成意味着真正的获得了掉落,清理场景时也要获得所有还未拾取的掉落
+        /// </summary>
+        public bool IsPickupCompleted;
+    }
+
+    public class EndlessDropReward : MonoBehaviour
+    {
+        /// <summary>
+        /// 道具类型
+        /// 1- money 2-gold 3-rmb 4-gem 5-box (Table.cs请看)
+        /// </summary>
+        public int Type;
+
+        /// <summary>
+        /// 道具id,例如宝箱 1-初级宝箱 2-中级宝箱 3-高级宝箱
+        /// </summary>
+        public int Id;
+
+        /// <summary>
+        /// 奖励数量
+        /// </summary>
+        public int Count { get; set; }
+
+        /// <summary>
+        /// 自动拾取时间
+        /// </summary>
+        public float AutoPickupTime = 5f;
+
+        public EndlessDrop DropData;
+
+        public event Action<EndlessDrop> ClickDropEvent;
+
+        // Start is called before the first frame update
+        private void Start()
+        {
+            ClickDropEvent += EndlessDropManager.instance.OnClickDrop;
+        }
+
+        public void OnClick()
+        {
+            if (ClickDropEvent != null)
+                ClickDropEvent(DropData);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs.meta b/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs.meta
new file mode 100644
index 0000000..d6fcf6d
--- /dev/null
+++ b/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d575e3bc963ad4c4296c297e550a2853
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/StreamingAssets/Table/endless_port.json b/Assets/StreamingAssets/Table/endless_port.json
index 98f904b..3bdeea1 100644
--- a/Assets/StreamingAssets/Table/endless_port.json
+++ b/Assets/StreamingAssets/Table/endless_port.json
@@ -1 +1 @@
-[[1,1,1,1,1,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[2,1,1,1,2,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[3,1,1,1,3,1,12,1500,200,1.5,2,3000,["gold:5"],[500,9500]],[4,1,1,1,4,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[5,1,1,1,5,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[6,1,1,2,1,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[7,1,1,2,2,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[8,1,1,2,3,3,6,3000,350,1.5,2,3000,["gold:5"],[500,9500]],[9,1,1,2,4,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[10,1,1,2,5,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[11,1,1,3,1,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[12,1,1,3,2,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[13,1,1,3,3,2,4,4500,500,1.5,2,3000,["gold:5"],[500,9500]],[14,1,1,3,4,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[15,1,1,3,5,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[16,2,2,1,1,0,0,0,1000,1.5,4,3000,["gold:5"],[500,9500]],[17,2,2,1,2,3,6,3000,1000,1.5,4,3000,["gold:5"],[500,9500]],[18,2,2,1,3,1,12,1500,1000,1.5,4,3000,["gold:5"],[500,9500]],[19,2,2,1,4,3,6,3000,1000,1.5,4,3000,["gold:5"],[500,9500]],[20,2,2,1,5,0,0,0,1000,1.5,4,3000,["gold:5"],[500,9500]],[21,2,2,2,1,2,4,4500,1200,1.5,4,3000,["gold:5"],[500,9500]],[22,2,2,2,2,0,0,0,1200,1.5,4,3000,["gold:5"],[500,9500]],[23,2,2,2,3,3,6,3000,1200,1.5,4,3000,["gold:5"],[500,9500]],[24,2,2,2,4,0,0,0,1200,1.5,4,3000,["gold:5"],[500,9500]],[25,2,2,2,5,2,4,4500,1200,1.5,4,3000,["gold:5"],[500,9500]],[26,2,2,3,1,2,4,4500,1400,1.5,4,3000,["gold:5"],[500,9500]],[27,2,2,3,2,3,6,3000,1400,1.5,4,3000,["gold:5"],[500,9500]],[28,2,2,3,3,1,12,1500,1400,1.5,4,3000,["gold:5"],[500,9500]],[29,2,2,3,4,3,6,3000,1400,1.5,4,3000,["gold:5"],[500,9500]],[30,2,2,3,5,2,4,4500,1400,1.5,4,3000,["gold:5"],[500,9500]],[31,3,3,1,1,3,6,3000,1800,1.5,8,3000,["gold:5"],[500,9500]],[32,3,3,1,2,1,12,1500,1800,1.5,8,3000,["gold:5"],[500,9500]],[33,3,3,1,3,2,4,4500,1800,1.5,8,3000,["gold:5"],[500,9500]],[34,3,3,1,4,1,12,1500,1800,1.5,8,3000,["gold:5"],[500,9500]],[35,3,3,1,5,3,6,3000,1800,1.5,8,3000,["gold:5"],[500,9500]],[36,3,3,2,1,1,12,1500,2100,1.5,8,3000,["gold:5"],[500,9500]],[37,3,3,2,2,3,6,3000,2100,1.5,8,3000,["gold:5"],[500,9500]],[38,3,3,2,3,2,4,4500,2100,1.5,8,3000,["gold:5"],[500,9500]],[39,3,3,2,4,3,6,3000,2100,1.5,8,3000,["gold:5"],[500,9500]],[40,3,3,2,5,1,12,1500,2100,1.5,8,3000,["gold:5"],[500,9500]],[41,3,3,3,1,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[42,3,3,3,2,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[43,3,3,3,3,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[44,3,3,3,4,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[45,3,3,3,5,2,4,4500,2400,1.5,8,3000,["box:3:1"],[500,9500]],[46,4,3,1,1,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[47,4,3,1,2,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[48,4,3,1,3,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[49,4,3,1,4,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[50,4,3,1,5,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[51,4,3,2,1,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[52,4,3,2,2,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[53,4,3,2,3,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[54,4,3,2,4,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[55,4,3,2,5,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[56,4,3,3,1,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[57,4,3,3,2,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[58,4,3,3,3,1,12,1500,3300,1.5,16,3000,["gold:5"],[500,9500]],[59,4,3,3,4,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[60,4,3,3,5,2,6,3000,3300,1.5,16,3000,["box:3:1"],[500,9500]],[61,5,3,1,1,2,8,4500,3600,2,32,3000,["gold:5"],[500,9500]],[62,5,3,1,2,3,12,3000,3600,2,32,3000,["gold:5"],[500,9500]],[63,5,3,1,3,1,24,1500,3600,2,32,3000,["gold:5"],[500,9500]],[64,5,3,1,4,3,12,3000,3600,2,32,3000,["gold:5"],[500,9500]],[65,5,3,1,5,2,8,4500,3600,2,32,3000,["gold:5"],[500,9500]],[66,5,3,2,1,3,12,3000,3900,2,32,3000,["gold:5"],[500,9500]],[67,5,3,2,2,1,24,1500,3900,2,32,3000,["gold:5"],[500,9500]],[68,5,3,2,3,2,8,4500,3900,2,32,3000,["gold:5"],[500,9500]],[69,5,3,2,4,1,24,1500,3900,2,32,3000,["gold:5"],[500,9500]],[70,5,3,2,5,3,12,3000,3900,2,32,3000,["gold:5"],[500,9500]],[71,5,3,3,1,1,24,1500,4200,2,32,3000,["gold:5"],[500,9500]],[72,5,3,3,2,3,12,3000,4200,2,32,3000,["gold:5"],[500,9500]],[73,5,3,3,3,2,8,4500,4200,2,32,3000,["gold:5"],[500,9500]],[74,5,3,3,4,3,12,3000,4200,2,32,3000,["gold:5"],[500,9500]],[75,5,3,3,5,1,24,1500,4200,2,32,3000,["gold:5"],[500,9500]],[76,5,3,4,1,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[77,5,3,4,2,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[78,5,3,4,3,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[79,5,3,4,4,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[80,5,3,4,5,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[81,5,3,5,1,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[82,5,3,5,2,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[83,5,3,5,3,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[84,5,3,5,4,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[85,5,3,5,5,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[86,5,3,6,1,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[87,5,3,6,2,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[88,5,3,6,3,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[89,5,3,6,4,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[90,5,3,6,5,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[91,5,3,7,1,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[92,5,3,7,2,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[93,5,3,7,3,1,24,1500,5400,2,64,3000,["gold:5"],[500,9500]],[94,5,3,7,4,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[95,5,3,7,5,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[96,5,3,8,1,2,8,4500,5700,2,64,3000,["gold:5"],[500,9500]],[97,5,3,8,2,3,12,3000,5700,2,64,3000,["gold:5"],[500,9500]],[98,5,3,8,3,1,24,1500,5700,2,64,3000,["gold:5"],[500,9500]],[99,5,3,8,4,3,12,3000,5700,2,64,3000,["gold:5"],[500,9500]],[100,5,3,8,5,2,8,4500,5700,2,64,3000,["gold:5"],[500,9500]],[101,5,3,9,1,3,12,3000,6000,2,64,3000,["gold:5"],[500,9500]],[102,5,3,9,2,1,24,1500,6000,2,64,3000,["gold:5"],[500,9500]],[103,5,3,9,3,2,8,4500,6000,2,64,3000,["gold:5"],[500,9500]],[104,5,3,9,4,1,24,1500,6000,2,64,3000,["gold:5"],[500,9500]],[105,5,3,9,5,3,12,3000,6000,2,64,3000,["gold:5"],[500,9500]],[106,5,3,10,1,1,24,1500,6300,2,64,3000,["gold:5"],[500,9500]],[107,5,3,10,2,3,12,3000,6300,2,64,3000,["gold:5"],[500,9500]],[108,5,3,10,3,2,8,4500,6300,2,64,3000,["gold:5"],[500,9500]],[109,5,3,10,4,3,12,3000,6300,2,64,3000,["gold:5"],[500,9500]],[110,5,3,10,5,1,24,1500,6300,2,64,3000,["gold:5"],[500,9500]],[111,5,3,11,1,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[112,5,3,11,2,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[113,5,3,11,3,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[114,5,3,11,4,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[115,5,3,11,5,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[116,5,3,12,1,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[117,5,3,12,2,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[118,5,3,12,3,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[119,5,3,12,4,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[120,5,3,12,5,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]]]
\ No newline at end of file
+[[1,1,1,1,1,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[2,1,1,1,2,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[3,1,1,1,3,1,12,1500,200,1.5,2,3000,["gold:5","box:1:1"],[500,500,9500]],[4,1,1,1,4,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[5,1,1,1,5,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[6,1,1,2,1,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[7,1,1,2,2,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[8,1,1,2,3,3,6,3000,350,1.5,2,3000,["gold:5"],[500,9500]],[9,1,1,2,4,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[10,1,1,2,5,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[11,1,1,3,1,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[12,1,1,3,2,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[13,1,1,3,3,2,4,4500,500,1.5,2,3000,["gold:5"],[500,9500]],[14,1,1,3,4,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[15,1,1,3,5,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[16,2,2,1,1,0,0,0,1000,1.5,4,3000,["gold:5"],[500,9500]],[17,2,2,1,2,3,6,3000,1000,1.5,4,3000,["gold:5"],[500,9500]],[18,2,2,1,3,1,12,1500,1000,1.5,4,3000,["gold:5"],[500,9500]],[19,2,2,1,4,3,6,3000,1000,1.5,4,3000,["gold:5"],[500,9500]],[20,2,2,1,5,0,0,0,1000,1.5,4,3000,["gold:5"],[500,9500]],[21,2,2,2,1,2,4,4500,1200,1.5,4,3000,["gold:5"],[500,9500]],[22,2,2,2,2,0,0,0,1200,1.5,4,3000,["gold:5"],[500,9500]],[23,2,2,2,3,3,6,3000,1200,1.5,4,3000,["gold:5"],[500,9500]],[24,2,2,2,4,0,0,0,1200,1.5,4,3000,["gold:5"],[500,9500]],[25,2,2,2,5,2,4,4500,1200,1.5,4,3000,["gold:5"],[500,9500]],[26,2,2,3,1,2,4,4500,1400,1.5,4,3000,["gold:5"],[500,9500]],[27,2,2,3,2,3,6,3000,1400,1.5,4,3000,["gold:5"],[500,9500]],[28,2,2,3,3,1,12,1500,1400,1.5,4,3000,["gold:5"],[500,9500]],[29,2,2,3,4,3,6,3000,1400,1.5,4,3000,["gold:5"],[500,9500]],[30,2,2,3,5,2,4,4500,1400,1.5,4,3000,["gold:5"],[500,9500]],[31,3,3,1,1,3,6,3000,1800,1.5,8,3000,["gold:5"],[500,9500]],[32,3,3,1,2,1,12,1500,1800,1.5,8,3000,["gold:5"],[500,9500]],[33,3,3,1,3,2,4,4500,1800,1.5,8,3000,["gold:5"],[500,9500]],[34,3,3,1,4,1,12,1500,1800,1.5,8,3000,["gold:5"],[500,9500]],[35,3,3,1,5,3,6,3000,1800,1.5,8,3000,["gold:5"],[500,9500]],[36,3,3,2,1,1,12,1500,2100,1.5,8,3000,["gold:5"],[500,9500]],[37,3,3,2,2,3,6,3000,2100,1.5,8,3000,["gold:5"],[500,9500]],[38,3,3,2,3,2,4,4500,2100,1.5,8,3000,["gold:5"],[500,9500]],[39,3,3,2,4,3,6,3000,2100,1.5,8,3000,["gold:5"],[500,9500]],[40,3,3,2,5,1,12,1500,2100,1.5,8,3000,["gold:5"],[500,9500]],[41,3,3,3,1,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[42,3,3,3,2,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[43,3,3,3,3,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[44,3,3,3,4,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[45,3,3,3,5,2,4,4500,2400,1.5,8,3000,["box:3:1"],[500,9500]],[46,4,3,1,1,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[47,4,3,1,2,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[48,4,3,1,3,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[49,4,3,1,4,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[50,4,3,1,5,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[51,4,3,2,1,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[52,4,3,2,2,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[53,4,3,2,3,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[54,4,3,2,4,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[55,4,3,2,5,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[56,4,3,3,1,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[57,4,3,3,2,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[58,4,3,3,3,1,12,1500,3300,1.5,16,3000,["gold:5"],[500,9500]],[59,4,3,3,4,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[60,4,3,3,5,2,6,3000,3300,1.5,16,3000,["box:3:1"],[500,9500]],[61,5,3,1,1,2,8,4500,3600,2,32,3000,["gold:5"],[500,9500]],[62,5,3,1,2,3,12,3000,3600,2,32,3000,["gold:5"],[500,9500]],[63,5,3,1,3,1,24,1500,3600,2,32,3000,["gold:5"],[500,9500]],[64,5,3,1,4,3,12,3000,3600,2,32,3000,["gold:5"],[500,9500]],[65,5,3,1,5,2,8,4500,3600,2,32,3000,["gold:5"],[500,9500]],[66,5,3,2,1,3,12,3000,3900,2,32,3000,["gold:5"],[500,9500]],[67,5,3,2,2,1,24,1500,3900,2,32,3000,["gold:5"],[500,9500]],[68,5,3,2,3,2,8,4500,3900,2,32,3000,["gold:5"],[500,9500]],[69,5,3,2,4,1,24,1500,3900,2,32,3000,["gold:5"],[500,9500]],[70,5,3,2,5,3,12,3000,3900,2,32,3000,["gold:5"],[500,9500]],[71,5,3,3,1,1,24,1500,4200,2,32,3000,["gold:5"],[500,9500]],[72,5,3,3,2,3,12,3000,4200,2,32,3000,["gold:5"],[500,9500]],[73,5,3,3,3,2,8,4500,4200,2,32,3000,["gold:5"],[500,9500]],[74,5,3,3,4,3,12,3000,4200,2,32,3000,["gold:5"],[500,9500]],[75,5,3,3,5,1,24,1500,4200,2,32,3000,["gold:5"],[500,9500]],[76,5,3,4,1,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[77,5,3,4,2,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[78,5,3,4,3,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[79,5,3,4,4,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[80,5,3,4,5,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[81,5,3,5,1,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[82,5,3,5,2,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[83,5,3,5,3,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[84,5,3,5,4,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[85,5,3,5,5,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[86,5,3,6,1,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[87,5,3,6,2,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[88,5,3,6,3,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[89,5,3,6,4,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[90,5,3,6,5,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[91,5,3,7,1,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[92,5,3,7,2,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[93,5,3,7,3,1,24,1500,5400,2,64,3000,["gold:5"],[500,9500]],[94,5,3,7,4,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[95,5,3,7,5,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[96,5,3,8,1,2,8,4500,5700,2,64,3000,["gold:5"],[500,9500]],[97,5,3,8,2,3,12,3000,5700,2,64,3000,["gold:5"],[500,9500]],[98,5,3,8,3,1,24,1500,5700,2,64,3000,["gold:5"],[500,9500]],[99,5,3,8,4,3,12,3000,5700,2,64,3000,["gold:5"],[500,9500]],[100,5,3,8,5,2,8,4500,5700,2,64,3000,["gold:5"],[500,9500]],[101,5,3,9,1,3,12,3000,6000,2,64,3000,["gold:5"],[500,9500]],[102,5,3,9,2,1,24,1500,6000,2,64,3000,["gold:5"],[500,9500]],[103,5,3,9,3,2,8,4500,6000,2,64,3000,["gold:5"],[500,9500]],[104,5,3,9,4,1,24,1500,6000,2,64,3000,["gold:5"],[500,9500]],[105,5,3,9,5,3,12,3000,6000,2,64,3000,["gold:5"],[500,9500]],[106,5,3,10,1,1,24,1500,6300,2,64,3000,["gold:5"],[500,9500]],[107,5,3,10,2,3,12,3000,6300,2,64,3000,["gold:5"],[500,9500]],[108,5,3,10,3,2,8,4500,6300,2,64,3000,["gold:5"],[500,9500]],[109,5,3,10,4,3,12,3000,6300,2,64,3000,["gold:5"],[500,9500]],[110,5,3,10,5,1,24,1500,6300,2,64,3000,["gold:5"],[500,9500]],[111,5,3,11,1,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[112,5,3,11,2,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[113,5,3,11,3,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[114,5,3,11,4,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[115,5,3,11,5,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[116,5,3,12,1,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[117,5,3,12,2,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[118,5,3,12,3,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[119,5,3,12,4,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[120,5,3,12,5,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]]]
\ No newline at end of file
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp.dll" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp.dll"
index f16b0a0..eb6fd1e 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp.dll"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/Managed/Assembly-CSharp.dll"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/StreamingAssets/Table/endless_port.json" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/StreamingAssets/Table/endless_port.json"
index 98f904b..3bdeea1 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/StreamingAssets/Table/endless_port.json"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/StreamingAssets/Table/endless_port.json"
@@ -1 +1 @@
-[[1,1,1,1,1,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[2,1,1,1,2,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[3,1,1,1,3,1,12,1500,200,1.5,2,3000,["gold:5"],[500,9500]],[4,1,1,1,4,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[5,1,1,1,5,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[6,1,1,2,1,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[7,1,1,2,2,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[8,1,1,2,3,3,6,3000,350,1.5,2,3000,["gold:5"],[500,9500]],[9,1,1,2,4,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[10,1,1,2,5,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[11,1,1,3,1,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[12,1,1,3,2,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[13,1,1,3,3,2,4,4500,500,1.5,2,3000,["gold:5"],[500,9500]],[14,1,1,3,4,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[15,1,1,3,5,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[16,2,2,1,1,0,0,0,1000,1.5,4,3000,["gold:5"],[500,9500]],[17,2,2,1,2,3,6,3000,1000,1.5,4,3000,["gold:5"],[500,9500]],[18,2,2,1,3,1,12,1500,1000,1.5,4,3000,["gold:5"],[500,9500]],[19,2,2,1,4,3,6,3000,1000,1.5,4,3000,["gold:5"],[500,9500]],[20,2,2,1,5,0,0,0,1000,1.5,4,3000,["gold:5"],[500,9500]],[21,2,2,2,1,2,4,4500,1200,1.5,4,3000,["gold:5"],[500,9500]],[22,2,2,2,2,0,0,0,1200,1.5,4,3000,["gold:5"],[500,9500]],[23,2,2,2,3,3,6,3000,1200,1.5,4,3000,["gold:5"],[500,9500]],[24,2,2,2,4,0,0,0,1200,1.5,4,3000,["gold:5"],[500,9500]],[25,2,2,2,5,2,4,4500,1200,1.5,4,3000,["gold:5"],[500,9500]],[26,2,2,3,1,2,4,4500,1400,1.5,4,3000,["gold:5"],[500,9500]],[27,2,2,3,2,3,6,3000,1400,1.5,4,3000,["gold:5"],[500,9500]],[28,2,2,3,3,1,12,1500,1400,1.5,4,3000,["gold:5"],[500,9500]],[29,2,2,3,4,3,6,3000,1400,1.5,4,3000,["gold:5"],[500,9500]],[30,2,2,3,5,2,4,4500,1400,1.5,4,3000,["gold:5"],[500,9500]],[31,3,3,1,1,3,6,3000,1800,1.5,8,3000,["gold:5"],[500,9500]],[32,3,3,1,2,1,12,1500,1800,1.5,8,3000,["gold:5"],[500,9500]],[33,3,3,1,3,2,4,4500,1800,1.5,8,3000,["gold:5"],[500,9500]],[34,3,3,1,4,1,12,1500,1800,1.5,8,3000,["gold:5"],[500,9500]],[35,3,3,1,5,3,6,3000,1800,1.5,8,3000,["gold:5"],[500,9500]],[36,3,3,2,1,1,12,1500,2100,1.5,8,3000,["gold:5"],[500,9500]],[37,3,3,2,2,3,6,3000,2100,1.5,8,3000,["gold:5"],[500,9500]],[38,3,3,2,3,2,4,4500,2100,1.5,8,3000,["gold:5"],[500,9500]],[39,3,3,2,4,3,6,3000,2100,1.5,8,3000,["gold:5"],[500,9500]],[40,3,3,2,5,1,12,1500,2100,1.5,8,3000,["gold:5"],[500,9500]],[41,3,3,3,1,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[42,3,3,3,2,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[43,3,3,3,3,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[44,3,3,3,4,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[45,3,3,3,5,2,4,4500,2400,1.5,8,3000,["box:3:1"],[500,9500]],[46,4,3,1,1,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[47,4,3,1,2,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[48,4,3,1,3,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[49,4,3,1,4,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[50,4,3,1,5,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[51,4,3,2,1,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[52,4,3,2,2,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[53,4,3,2,3,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[54,4,3,2,4,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[55,4,3,2,5,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[56,4,3,3,1,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[57,4,3,3,2,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[58,4,3,3,3,1,12,1500,3300,1.5,16,3000,["gold:5"],[500,9500]],[59,4,3,3,4,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[60,4,3,3,5,2,6,3000,3300,1.5,16,3000,["box:3:1"],[500,9500]],[61,5,3,1,1,2,8,4500,3600,2,32,3000,["gold:5"],[500,9500]],[62,5,3,1,2,3,12,3000,3600,2,32,3000,["gold:5"],[500,9500]],[63,5,3,1,3,1,24,1500,3600,2,32,3000,["gold:5"],[500,9500]],[64,5,3,1,4,3,12,3000,3600,2,32,3000,["gold:5"],[500,9500]],[65,5,3,1,5,2,8,4500,3600,2,32,3000,["gold:5"],[500,9500]],[66,5,3,2,1,3,12,3000,3900,2,32,3000,["gold:5"],[500,9500]],[67,5,3,2,2,1,24,1500,3900,2,32,3000,["gold:5"],[500,9500]],[68,5,3,2,3,2,8,4500,3900,2,32,3000,["gold:5"],[500,9500]],[69,5,3,2,4,1,24,1500,3900,2,32,3000,["gold:5"],[500,9500]],[70,5,3,2,5,3,12,3000,3900,2,32,3000,["gold:5"],[500,9500]],[71,5,3,3,1,1,24,1500,4200,2,32,3000,["gold:5"],[500,9500]],[72,5,3,3,2,3,12,3000,4200,2,32,3000,["gold:5"],[500,9500]],[73,5,3,3,3,2,8,4500,4200,2,32,3000,["gold:5"],[500,9500]],[74,5,3,3,4,3,12,3000,4200,2,32,3000,["gold:5"],[500,9500]],[75,5,3,3,5,1,24,1500,4200,2,32,3000,["gold:5"],[500,9500]],[76,5,3,4,1,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[77,5,3,4,2,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[78,5,3,4,3,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[79,5,3,4,4,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[80,5,3,4,5,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[81,5,3,5,1,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[82,5,3,5,2,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[83,5,3,5,3,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[84,5,3,5,4,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[85,5,3,5,5,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[86,5,3,6,1,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[87,5,3,6,2,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[88,5,3,6,3,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[89,5,3,6,4,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[90,5,3,6,5,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[91,5,3,7,1,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[92,5,3,7,2,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[93,5,3,7,3,1,24,1500,5400,2,64,3000,["gold:5"],[500,9500]],[94,5,3,7,4,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[95,5,3,7,5,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[96,5,3,8,1,2,8,4500,5700,2,64,3000,["gold:5"],[500,9500]],[97,5,3,8,2,3,12,3000,5700,2,64,3000,["gold:5"],[500,9500]],[98,5,3,8,3,1,24,1500,5700,2,64,3000,["gold:5"],[500,9500]],[99,5,3,8,4,3,12,3000,5700,2,64,3000,["gold:5"],[500,9500]],[100,5,3,8,5,2,8,4500,5700,2,64,3000,["gold:5"],[500,9500]],[101,5,3,9,1,3,12,3000,6000,2,64,3000,["gold:5"],[500,9500]],[102,5,3,9,2,1,24,1500,6000,2,64,3000,["gold:5"],[500,9500]],[103,5,3,9,3,2,8,4500,6000,2,64,3000,["gold:5"],[500,9500]],[104,5,3,9,4,1,24,1500,6000,2,64,3000,["gold:5"],[500,9500]],[105,5,3,9,5,3,12,3000,6000,2,64,3000,["gold:5"],[500,9500]],[106,5,3,10,1,1,24,1500,6300,2,64,3000,["gold:5"],[500,9500]],[107,5,3,10,2,3,12,3000,6300,2,64,3000,["gold:5"],[500,9500]],[108,5,3,10,3,2,8,4500,6300,2,64,3000,["gold:5"],[500,9500]],[109,5,3,10,4,3,12,3000,6300,2,64,3000,["gold:5"],[500,9500]],[110,5,3,10,5,1,24,1500,6300,2,64,3000,["gold:5"],[500,9500]],[111,5,3,11,1,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[112,5,3,11,2,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[113,5,3,11,3,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[114,5,3,11,4,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[115,5,3,11,5,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[116,5,3,12,1,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[117,5,3,12,2,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[118,5,3,12,3,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[119,5,3,12,4,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[120,5,3,12,5,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]]]
\ No newline at end of file
+[[1,1,1,1,1,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[2,1,1,1,2,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[3,1,1,1,3,1,12,1500,200,1.5,2,3000,["gold:5","box:1:1"],[500,500,9500]],[4,1,1,1,4,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[5,1,1,1,5,0,0,0,200,1.5,2,3000,["gold:5"],[500,9500]],[6,1,1,2,1,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[7,1,1,2,2,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[8,1,1,2,3,3,6,3000,350,1.5,2,3000,["gold:5"],[500,9500]],[9,1,1,2,4,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[10,1,1,2,5,0,0,0,350,1.5,2,3000,["gold:5"],[500,9500]],[11,1,1,3,1,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[12,1,1,3,2,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[13,1,1,3,3,2,4,4500,500,1.5,2,3000,["gold:5"],[500,9500]],[14,1,1,3,4,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[15,1,1,3,5,0,0,0,500,1.5,2,3000,["gold:5"],[500,9500]],[16,2,2,1,1,0,0,0,1000,1.5,4,3000,["gold:5"],[500,9500]],[17,2,2,1,2,3,6,3000,1000,1.5,4,3000,["gold:5"],[500,9500]],[18,2,2,1,3,1,12,1500,1000,1.5,4,3000,["gold:5"],[500,9500]],[19,2,2,1,4,3,6,3000,1000,1.5,4,3000,["gold:5"],[500,9500]],[20,2,2,1,5,0,0,0,1000,1.5,4,3000,["gold:5"],[500,9500]],[21,2,2,2,1,2,4,4500,1200,1.5,4,3000,["gold:5"],[500,9500]],[22,2,2,2,2,0,0,0,1200,1.5,4,3000,["gold:5"],[500,9500]],[23,2,2,2,3,3,6,3000,1200,1.5,4,3000,["gold:5"],[500,9500]],[24,2,2,2,4,0,0,0,1200,1.5,4,3000,["gold:5"],[500,9500]],[25,2,2,2,5,2,4,4500,1200,1.5,4,3000,["gold:5"],[500,9500]],[26,2,2,3,1,2,4,4500,1400,1.5,4,3000,["gold:5"],[500,9500]],[27,2,2,3,2,3,6,3000,1400,1.5,4,3000,["gold:5"],[500,9500]],[28,2,2,3,3,1,12,1500,1400,1.5,4,3000,["gold:5"],[500,9500]],[29,2,2,3,4,3,6,3000,1400,1.5,4,3000,["gold:5"],[500,9500]],[30,2,2,3,5,2,4,4500,1400,1.5,4,3000,["gold:5"],[500,9500]],[31,3,3,1,1,3,6,3000,1800,1.5,8,3000,["gold:5"],[500,9500]],[32,3,3,1,2,1,12,1500,1800,1.5,8,3000,["gold:5"],[500,9500]],[33,3,3,1,3,2,4,4500,1800,1.5,8,3000,["gold:5"],[500,9500]],[34,3,3,1,4,1,12,1500,1800,1.5,8,3000,["gold:5"],[500,9500]],[35,3,3,1,5,3,6,3000,1800,1.5,8,3000,["gold:5"],[500,9500]],[36,3,3,2,1,1,12,1500,2100,1.5,8,3000,["gold:5"],[500,9500]],[37,3,3,2,2,3,6,3000,2100,1.5,8,3000,["gold:5"],[500,9500]],[38,3,3,2,3,2,4,4500,2100,1.5,8,3000,["gold:5"],[500,9500]],[39,3,3,2,4,3,6,3000,2100,1.5,8,3000,["gold:5"],[500,9500]],[40,3,3,2,5,1,12,1500,2100,1.5,8,3000,["gold:5"],[500,9500]],[41,3,3,3,1,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[42,3,3,3,2,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[43,3,3,3,3,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[44,3,3,3,4,2,4,4500,2400,1.5,8,3000,["gold:5"],[500,9500]],[45,3,3,3,5,2,4,4500,2400,1.5,8,3000,["box:3:1"],[500,9500]],[46,4,3,1,1,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[47,4,3,1,2,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[48,4,3,1,3,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[49,4,3,1,4,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[50,4,3,1,5,1,12,1500,2700,1.5,16,3000,["gold:5"],[500,9500]],[51,4,3,2,1,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[52,4,3,2,2,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[53,4,3,2,3,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[54,4,3,2,4,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[55,4,3,2,5,3,6,3000,3000,1.5,16,3000,["gold:5"],[500,9500]],[56,4,3,3,1,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[57,4,3,3,2,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[58,4,3,3,3,1,12,1500,3300,1.5,16,3000,["gold:5"],[500,9500]],[59,4,3,3,4,2,6,3000,3300,1.5,16,3000,["gold:5"],[500,9500]],[60,4,3,3,5,2,6,3000,3300,1.5,16,3000,["box:3:1"],[500,9500]],[61,5,3,1,1,2,8,4500,3600,2,32,3000,["gold:5"],[500,9500]],[62,5,3,1,2,3,12,3000,3600,2,32,3000,["gold:5"],[500,9500]],[63,5,3,1,3,1,24,1500,3600,2,32,3000,["gold:5"],[500,9500]],[64,5,3,1,4,3,12,3000,3600,2,32,3000,["gold:5"],[500,9500]],[65,5,3,1,5,2,8,4500,3600,2,32,3000,["gold:5"],[500,9500]],[66,5,3,2,1,3,12,3000,3900,2,32,3000,["gold:5"],[500,9500]],[67,5,3,2,2,1,24,1500,3900,2,32,3000,["gold:5"],[500,9500]],[68,5,3,2,3,2,8,4500,3900,2,32,3000,["gold:5"],[500,9500]],[69,5,3,2,4,1,24,1500,3900,2,32,3000,["gold:5"],[500,9500]],[70,5,3,2,5,3,12,3000,3900,2,32,3000,["gold:5"],[500,9500]],[71,5,3,3,1,1,24,1500,4200,2,32,3000,["gold:5"],[500,9500]],[72,5,3,3,2,3,12,3000,4200,2,32,3000,["gold:5"],[500,9500]],[73,5,3,3,3,2,8,4500,4200,2,32,3000,["gold:5"],[500,9500]],[74,5,3,3,4,3,12,3000,4200,2,32,3000,["gold:5"],[500,9500]],[75,5,3,3,5,1,24,1500,4200,2,32,3000,["gold:5"],[500,9500]],[76,5,3,4,1,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[77,5,3,4,2,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[78,5,3,4,3,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[79,5,3,4,4,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[80,5,3,4,5,2,8,4500,4500,2,64,3000,["gold:5"],[500,9500]],[81,5,3,5,1,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[82,5,3,5,2,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[83,5,3,5,3,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[84,5,3,5,4,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[85,5,3,5,5,1,24,1500,4800,2,64,3000,["gold:5"],[500,9500]],[86,5,3,6,1,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[87,5,3,6,2,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[88,5,3,6,3,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[89,5,3,6,4,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[90,5,3,6,5,3,12,3000,5100,2,64,3000,["gold:5"],[500,9500]],[91,5,3,7,1,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[92,5,3,7,2,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[93,5,3,7,3,1,24,1500,5400,2,64,3000,["gold:5"],[500,9500]],[94,5,3,7,4,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[95,5,3,7,5,2,12,3000,5400,2,64,3000,["gold:5"],[500,9500]],[96,5,3,8,1,2,8,4500,5700,2,64,3000,["gold:5"],[500,9500]],[97,5,3,8,2,3,12,3000,5700,2,64,3000,["gold:5"],[500,9500]],[98,5,3,8,3,1,24,1500,5700,2,64,3000,["gold:5"],[500,9500]],[99,5,3,8,4,3,12,3000,5700,2,64,3000,["gold:5"],[500,9500]],[100,5,3,8,5,2,8,4500,5700,2,64,3000,["gold:5"],[500,9500]],[101,5,3,9,1,3,12,3000,6000,2,64,3000,["gold:5"],[500,9500]],[102,5,3,9,2,1,24,1500,6000,2,64,3000,["gold:5"],[500,9500]],[103,5,3,9,3,2,8,4500,6000,2,64,3000,["gold:5"],[500,9500]],[104,5,3,9,4,1,24,1500,6000,2,64,3000,["gold:5"],[500,9500]],[105,5,3,9,5,3,12,3000,6000,2,64,3000,["gold:5"],[500,9500]],[106,5,3,10,1,1,24,1500,6300,2,64,3000,["gold:5"],[500,9500]],[107,5,3,10,2,3,12,3000,6300,2,64,3000,["gold:5"],[500,9500]],[108,5,3,10,3,2,8,4500,6300,2,64,3000,["gold:5"],[500,9500]],[109,5,3,10,4,3,12,3000,6300,2,64,3000,["gold:5"],[500,9500]],[110,5,3,10,5,1,24,1500,6300,2,64,3000,["gold:5"],[500,9500]],[111,5,3,11,1,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[112,5,3,11,2,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[113,5,3,11,3,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[114,5,3,11,4,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[115,5,3,11,5,2,8,4500,6600,2,64,3000,["gold:5"],[500,9500]],[116,5,3,12,1,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[117,5,3,12,2,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[118,5,3,12,3,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[119,5,3,12,4,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]],[120,5,3,12,5,1,24,1500,6900,2,64,3000,["gold:5"],[500,9500]]]
\ No newline at end of file
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers"
index 5ed89a6..df73294 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers.assets" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers.assets"
index b20e7a6..c95b229 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers.assets"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/globalgamemanagers.assets"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level0" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level0"
index ab5b140..208e6f1 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level0"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level0"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level1" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level1"
index 664751d..e7cc577 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level1"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level1"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level2" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level2"
index ebd65c6..9824227 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level2"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level2"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level3" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level3"
index f398f99..a8a1134 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level3"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/level3"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets"
index 3d37420..3fbb44e 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/resources.assets"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets0.assets" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets0.assets"
index 4ca7717..5d34c29 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets0.assets"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets0.assets"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets"
index 8f1b576..3b229b7 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets1.assets"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets2.assets" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets2.assets"
index aedbe17..bf0c4a0 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets2.assets"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets2.assets"
Binary files differ
diff --git "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets3.assets" "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets3.assets"
index 669d4cb..d79bdc2 100644
--- "a/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets3.assets"
+++ "b/GemBattle/\345\256\235\347\237\263\345\241\224\351\230\262_Data/sharedassets3.assets"
Binary files differ

--
Gitblit v1.9.1