From 1c3d649735e61a65087d9c281729912831f95fce Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Tue, 24 Nov 2020 10:55:11 +0800
Subject: [PATCH] 修改技能为右侧充能释放

---
 Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs |    3 
 Assets/Scripts/TowerDefense/Agents/Agent.cs                         |    8 
 Assets/UI/Endless/Bottom/技能1.png                                    |    0 
 Assets/Scripts/Common/GameConfig.cs                                 |   10 
 Assets/UI/Endless/Bottom/透明黑底.png.meta                              |  118 ++
 Assets/UI/Endless/Bottom/缩小能量球.png.meta                             |  118 ++
 Assets/Scripts/TowerDefense/Level/AgentInsManager.cs                |   80 +
 Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs            |   18 
 Assets/UI/Endless/Bottom/战斗调整.png                                   |    0 
 Assets/Scripts/Event/EventType.cs                                   |    7 
 Assets/UI/Endless/Bottom/技能2.png.meta                               |  118 ++
 Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs                 |   16 
 Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs                |    3 
 Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs                    |  180 ++++
 Assets/Scripts/Enum/EndlessBuffUseTarget.cs                         |    5 
 Assets/Scripts/TowerDefense/Level/EndlessBuff/SkillLevelUp.cs       |   16 
 Assets/UI/Endless/Bottom/透明黑底.png                                   |    0 
 Assets/UI/Endless/Bottom/技能1.png.meta                               |  118 ++
 Assets/UI/Endless/Bottom/置灰能量球.png.meta                             |  118 ++
 Assets/Scripts/Json/JsonDataCenter.cs                               |    2 
 Assets/Scripts/TowerDefense/Level/JsonDataInit.cs                   |    2 
 Assets/Prefabs/UI/Endless/BottomCanvas.prefab                       | 1204 ++++++++++++++++++++++++---
 Assets/Scenes/Levels/Battle/Endless2D.unity                         |   26 
 Assets/UI/Endless/Bottom/能量球.png                                    |    0 
 Assets/UI/Endless/Bottom/能量球.png.meta                               |  118 ++
 Assets/UI/Endless/Bottom/缩小能量球.png                                  |    0 
 Assets/UI/Endless/Bottom/战斗调整.png.meta                              |  118 ++
 Assets/UI/Endless/Bottom/技能2.png                                    |    0 
 Assets/UI/Endless/Bottom/置灰能量球.png                                  |    0 
 Assets/Scripts/Enum/EndlessBuffEffectType.cs                        |    5 
 Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs         |   20 
 Assets/Scripts/TowerDefense/Level/EndlessBuff/SkillLevelUp.cs.meta  |   11 
 Assets/Prefabs/Towers/SkillFire/SkillFireTower.prefab               |   31 
 Assets/Scripts/Manager/ManagerRoot.cs                               |    5 
 34 files changed, 2,249 insertions(+), 229 deletions(-)

diff --git a/Assets/Prefabs/Towers/SkillFire/SkillFireTower.prefab b/Assets/Prefabs/Towers/SkillFire/SkillFireTower.prefab
index a5da62b..8458528 100644
--- a/Assets/Prefabs/Towers/SkillFire/SkillFireTower.prefab
+++ b/Assets/Prefabs/Towers/SkillFire/SkillFireTower.prefab
@@ -110,12 +110,11 @@
   poisonTex: {fileID: 0}
   frozenTex: {fileID: 0}
   commonTex: {fileID: 0}
-  levels:
-  - {fileID: 114779466188146336, guid: f7728da611a02714da3facb2b7e6ab41, type: 3}
-  - {fileID: 114056922861069036, guid: ffa22cfcd04dd0742965fd61d69248db, type: 3}
-  - {fileID: 114683032773000130, guid: a3a076789c8ea5046aefdab80a0b9cc1, type: 3}
-  - {fileID: 114683032773000130, guid: e0866b7844d75e348a973691fb5867ed, type: 3}
-  - {fileID: 114683032773000130, guid: e3a7386bac7f03246918ad92361149a7, type: 3}
+  PoisonParticle: {fileID: 0}
+  PoisonEndParticle: {fileID: 0}
+  SlowDownParticle: {fileID: 0}
+  FrostParticle: {fileID: 0}
+  FireSkillParticle: {fileID: 0}
   towerName: SkillFireTower
   dimensions:
     x: 1
@@ -123,12 +122,26 @@
   towerFeature: 4
   materialMonsterSelf: {fileID: 0}
   materialMonsterOppo: {fileID: 0}
-  bDoubleHitElit: 0
+  materialTowerAttackSelf: {fileID: 0}
+  materialTowerWaitSelf: {fileID: 0}
+  materialTowerAttackOppo: {fileID: 0}
+  materialTowerWaitOppo: {fileID: 0}
+  eTowerFuntion: 0
+  bulletCtl: {fileID: 0}
+  energyCtl: {fileID: 0}
+  FreezeBreathCtrl: {fileID: 0}
+  levels:
+  - {fileID: 114779466188146336, guid: f7728da611a02714da3facb2b7e6ab41, type: 3}
+  - {fileID: 114056922861069036, guid: ffa22cfcd04dd0742965fd61d69248db, type: 3}
+  - {fileID: 114683032773000130, guid: a3a076789c8ea5046aefdab80a0b9cc1, type: 3}
+  - {fileID: 114683032773000130, guid: e0866b7844d75e348a973691fb5867ed, type: 3}
+  - {fileID: 114683032773000130, guid: e3a7386bac7f03246918ad92361149a7, type: 3}
   attributeId: 99902
   uiImage: {fileID: 21300000, guid: 9e3de4693b87558498eceb6c232005e2, type: 3}
   enemyLayerMask:
     serializedVersion: 2
-    m_Bits: 4294967295
+    m_Bits: 524087
+  bDoubleHitElit: 0
 --- !u!65 &65801875245033440
 BoxCollider:
   m_ObjectHideFlags: 0
@@ -577,4 +590,6 @@
   healthBar: {fileID: 4491171297730104}
   backgroundBar: {fileID: 4099818628537976}
   textMesh: {fileID: 0}
+  levelQuad: {fileID: 0}
+  levelMaterial: []
   showWhenFull: 0
diff --git a/Assets/Prefabs/UI/Endless/BottomCanvas.prefab b/Assets/Prefabs/UI/Endless/BottomCanvas.prefab
index 8da8c26..c99b5fe 100644
--- a/Assets/Prefabs/UI/Endless/BottomCanvas.prefab
+++ b/Assets/Prefabs/UI/Endless/BottomCanvas.prefab
@@ -1,5 +1,81 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
+--- !u!1 &88529161989910079
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8969641777574912042}
+  - component: {fileID: 4544938310246794907}
+  - component: {fileID: 904102352878153607}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8969641777574912042
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 88529161989910079}
+  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: 9209237814426414309}
+  m_Father: {fileID: 4636761388660945912}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
+  m_AnchorMax: {x: 0.5, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 38, y: 38}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4544938310246794907
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 88529161989910079}
+  m_CullTransparentMesh: 0
+--- !u!114 &904102352878153607
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 88529161989910079}
+  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: 0
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 785c2b6d9fdaa8e40b5b8cf5dac3d037, 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 &174327334499724649
 GameObject:
   m_ObjectHideFlags: 0
@@ -190,6 +266,201 @@
   m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
   m_EffectDistance: {x: 2, y: -2}
   m_UseGraphicAlpha: 1
+--- !u!1 &486703781979003273
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4636761388660945912}
+  - component: {fileID: 1827012948953097963}
+  - component: {fileID: 6241371743441328528}
+  - component: {fileID: 2375150446179201207}
+  m_Layer: 5
+  m_Name: BombSkillBtn
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4636761388660945912
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 486703781979003273}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.3, y: 1.3, z: 1.3}
+  m_Children:
+  - {fileID: 8969641777574912042}
+  m_Father: {fileID: 1919954917753185602}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: -81, y: 135}
+  m_SizeDelta: {x: 79, y: 79}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1827012948953097963
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 486703781979003273}
+  m_CullTransparentMesh: 0
+--- !u!114 &6241371743441328528
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 486703781979003273}
+  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: e910eb4b535d0274694c819f07921e33, 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!114 &2375150446179201207
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 486703781979003273}
+  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: 0
+  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: 6241371743441328528}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &531522877378136513
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4613093510320238938}
+  - component: {fileID: 4314499155375978659}
+  - component: {fileID: 830255649750028246}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4613093510320238938
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 531522877378136513}
+  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: 7576557215249671480}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 42, y: 42}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4314499155375978659
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 531522877378136513}
+  m_CullTransparentMesh: 0
+--- !u!114 &830255649750028246
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 531522877378136513}
+  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: 0
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: ac2ceca6ba76d9448a8014a785c6e5b0, 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 &2949276214842940293
 GameObject:
   m_ObjectHideFlags: 0
@@ -296,7 +567,7 @@
   - {fileID: 4623057513073301098}
   - {fileID: 7642260986973534167}
   m_Father: {fileID: 2459412157512953547}
-  m_RootOrder: 2
+  m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 0}
@@ -322,7 +593,7 @@
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &8563026178876940214
 RectTransform:
   m_ObjectHideFlags: 0
@@ -1035,7 +1306,6 @@
   m_Name: 
   m_EditorClassIdentifier: 
   randomBtn: {fileID: 4623057511312575045}
-  skillBtn: {fileID: 1987915212137622960}
   buyBtnLevelUp: {fileID: 21300000, guid: 3ffe4129e848f0d4dae264dd341cb920, type: 3}
   NormalDesc: {fileID: 1114094147405540106}
   SkillDesc: {fileID: 5978630159876944380}
@@ -1865,7 +2135,7 @@
   - {fileID: 2593358111013876826}
   - {fileID: 2593358110207618566}
   m_Father: {fileID: 2459412157512953547}
-  m_RootOrder: 3
+  m_RootOrder: 4
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0.5}
   m_AnchorMax: {x: 0, y: 0.5}
@@ -2315,9 +2585,9 @@
   m_Father: {fileID: 2459412157512953547}
   m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 1, y: 0.5}
-  m_AnchorMax: {x: 1, y: 0.5}
-  m_AnchoredPosition: {x: -71.45508, y: 238}
+  m_AnchorMin: {x: 1, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: -151.5, y: 103}
   m_SizeDelta: {x: 95, y: 106}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &4623057511951820394
@@ -4283,6 +4553,8 @@
   bgMusic: {fileID: 0}
   beginSkillStep: 0
   darkGroundImg: {fileID: 4623057511338059854}
+  energyNormal: {fileID: 21300000, guid: 785c2b6d9fdaa8e40b5b8cf5dac3d037, type: 3}
+  energyDisplay: {fileID: 21300000, guid: a14d7d5cc4aba5442a318e8d64bfcc8e, type: 3}
 --- !u!1 &4623057512718151355
 GameObject:
   m_ObjectHideFlags: 0
@@ -5550,6 +5822,126 @@
   WaveNumText: {fileID: 4623057513320342618}
   BossInfo: {fileID: 4623057513278548003}
   HPInfoText: {fileID: 4623057511982691804}
+--- !u!1 &4746445135887369730
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5609139588979502247}
+  - component: {fileID: 8018833303724381978}
+  - component: {fileID: 388032352913871937}
+  - component: {fileID: 3773148324777709774}
+  m_Layer: 5
+  m_Name: FireSkillBtn
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5609139588979502247
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4746445135887369730}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.3, y: 1.3, z: 1.3}
+  m_Children:
+  - {fileID: 2620895477036627526}
+  m_Father: {fileID: 1919954917753185602}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: -81, y: 279.8}
+  m_SizeDelta: {x: 79, y: 79}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8018833303724381978
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4746445135887369730}
+  m_CullTransparentMesh: 0
+--- !u!114 &388032352913871937
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4746445135887369730}
+  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: ed4e3aa0b7711ab4185266657a9a6e25, 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!114 &3773148324777709774
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4746445135887369730}
+  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: 0
+  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: 388032352913871937}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
 --- !u!1 &5180736553888704101
 GameObject:
   m_ObjectHideFlags: 0
@@ -5760,6 +6152,399 @@
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &5604296205206056509
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 69993002038078574}
+  - component: {fileID: 5308482721596971622}
+  - component: {fileID: 2339934696095488776}
+  m_Layer: 5
+  m_Name: EnergyText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &69993002038078574
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5604296205206056509}
+  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: 7576557215249671480}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5308482721596971622
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5604296205206056509}
+  m_CullTransparentMesh: 0
+--- !u!114 &2339934696095488776
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5604296205206056509}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 400
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 572adb1c73f88e441a1bf998ca9f4ea5, type: 2}
+  m_sharedMaterial: {fileID: -3548855653558765056, guid: 572adb1c73f88e441a1bf998ca9f4ea5,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 23.43
+  m_fontSizeBase: 23.43
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 1
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: -10.9
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 19.458496, y: 0, z: 10.800915, w: 0.30635062}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &6169239258473141852
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1919954917753185602}
+  - component: {fileID: 8072263446181185023}
+  m_Layer: 5
+  m_Name: Energy
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1919954917753185602
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6169239258473141852}
+  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: 7576557215249671480}
+  - {fileID: 5609139588979502247}
+  - {fileID: 4636761388660945912}
+  m_Father: {fileID: 2459412157512953547}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8072263446181185023
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6169239258473141852}
+  m_CullTransparentMesh: 0
+--- !u!1 &6774993907984008203
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2620895477036627526}
+  - component: {fileID: 3183444113040340703}
+  - component: {fileID: 4523526606778092259}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2620895477036627526
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6774993907984008203}
+  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: 50666198160430161}
+  m_Father: {fileID: 5609139588979502247}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
+  m_AnchorMax: {x: 0.5, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 38, y: 38}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3183444113040340703
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6774993907984008203}
+  m_CullTransparentMesh: 0
+--- !u!114 &4523526606778092259
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6774993907984008203}
+  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: 0
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 785c2b6d9fdaa8e40b5b8cf5dac3d037, 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 &6862780595407207353
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 50666198160430161}
+  - component: {fileID: 3676568902447780677}
+  - component: {fileID: 6824190566959409393}
+  m_Layer: 5
+  m_Name: EnergyText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &50666198160430161
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6862780595407207353}
+  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: 2620895477036627526}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3676568902447780677
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6862780595407207353}
+  m_CullTransparentMesh: 0
+--- !u!114 &6824190566959409393
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6862780595407207353}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 40
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 572adb1c73f88e441a1bf998ca9f4ea5, type: 2}
+  m_sharedMaterial: {fileID: -3548855653558765056, guid: 572adb1c73f88e441a1bf998ca9f4ea5,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 21
+  m_fontSizeBase: 21
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 1
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: -10.9
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0.1048584, y: 0, z: -0.049121857, w: 0.30635062}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
 --- !u!1 &7151851093775096712
 GameObject:
   m_ObjectHideFlags: 0
@@ -5930,6 +6715,141 @@
   m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
   m_EffectDistance: {x: 2, y: -2}
   m_UseGraphicAlpha: 1
+--- !u!1 &8714273153983111963
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 9209237814426414309}
+  - component: {fileID: 7393815958199714179}
+  - component: {fileID: 720690492385390990}
+  m_Layer: 5
+  m_Name: EnergyText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &9209237814426414309
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8714273153983111963}
+  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: 8969641777574912042}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7393815958199714179
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8714273153983111963}
+  m_CullTransparentMesh: 0
+--- !u!114 &720690492385390990
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8714273153983111963}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 40
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 572adb1c73f88e441a1bf998ca9f4ea5, type: 2}
+  m_sharedMaterial: {fileID: -3548855653558765056, guid: 572adb1c73f88e441a1bf998ca9f4ea5,
+    type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 21
+  m_fontSizeBase: 21
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 1
+  m_HorizontalAlignment: 2
+  m_VerticalAlignment: 512
+  m_textAlignment: 65535
+  m_characterSpacing: -10.9
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0.1048584, y: 0, z: -0.049121857, w: 0.30635062}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
 --- !u!1 &9176589141210151365
 GameObject:
   m_ObjectHideFlags: 0
@@ -5960,9 +6880,9 @@
   m_Children:
   - {fileID: 4623057512515962851}
   - {fileID: 4623057511312575043}
+  - {fileID: 1919954917753185602}
   - {fileID: 2866087324517106990}
   - {fileID: 4623057511676237794}
-  - {fileID: 3069635935526566538}
   - {fileID: 4623057511334348350}
   - {fileID: 4623057511951820392}
   - {fileID: 4623057512702542567}
@@ -6000,136 +6920,83 @@
   m_Interactable: 1
   m_BlocksRaycasts: 1
   m_IgnoreParentGroups: 0
---- !u!1001 &401030652621062211
-PrefabInstance:
+--- !u!1 &9219160736129234043
+GameObject:
   m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 2459412157512953547}
-    m_Modifications:
-    - target: {fileID: 3389300521755215609, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_Layer
-      value: 5
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300522021803450, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_Layer
-      value: 5
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300522131408960, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_Layer
-      value: 5
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300522131408990, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_SortingOrder
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300522798179401, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_Layer
-      value: 5
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300522800260022, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_Layer
-      value: 5
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741960, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_Name
-      value: Effect_XinSui (1)
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741960, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_Layer
-      value: 5
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741960, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_IsActive
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -420.8
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalPosition.y
-      value: -918.96
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0.7071068
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 0.7071068
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_RootOrder
-      value: 4
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: -90
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalScale.x
-      value: 22
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalScale.y
-      value: 22
-      objectReference: {fileID: 0}
-    - target: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-        type: 3}
-      propertyPath: m_LocalScale.z
-      value: 22
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: 296dddd14ba103e4aa483333fe748c6f, type: 3}
---- !u!4 &3069635935526566538 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 3389300523282741961, guid: 296dddd14ba103e4aa483333fe748c6f,
-    type: 3}
-  m_PrefabInstance: {fileID: 401030652621062211}
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7576557215249671480}
+  - component: {fileID: 7793848889457062999}
+  - component: {fileID: 4213915326005407547}
+  m_Layer: 5
+  m_Name: EnergyShow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7576557215249671480
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9219160736129234043}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.3, y: 1.3, z: 1.3}
+  m_Children:
+  - {fileID: 69993002038078574}
+  - {fileID: 4613093510320238938}
+  m_Father: {fileID: 1919954917753185602}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1, y: 0.5}
+  m_AnchorMax: {x: 1, y: 0.5}
+  m_AnchoredPosition: {x: -81, y: 385.80005}
+  m_SizeDelta: {x: 84, y: 34}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7793848889457062999
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9219160736129234043}
+  m_CullTransparentMesh: 0
+--- !u!114 &4213915326005407547
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9219160736129234043}
+  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: 0
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: 3e5d459ee05bb35479baf2fd2a3370eb, 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!1001 &605952583426336762
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -7166,12 +8033,6 @@
       objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: edd0f54808263644d9740a9c0040b493, type: 3}
---- !u!1 &8424158400893339871 stripped
-GameObject:
-  m_CorrespondingSourceObject: {fileID: 3801312133014535296, guid: edd0f54808263644d9740a9c0040b493,
-    type: 3}
-  m_PrefabInstance: {fileID: 4623057511554511967}
-  m_PrefabAsset: {fileID: 0}
 --- !u!114 &1184553460454064981 stripped
 MonoBehaviour:
   m_CorrespondingSourceObject: {fileID: 5789385329819219722, guid: edd0f54808263644d9740a9c0040b493,
@@ -7184,6 +8045,12 @@
   m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+--- !u!1 &8424158400893339871 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 3801312133014535296, guid: edd0f54808263644d9740a9c0040b493,
+    type: 3}
+  m_PrefabInstance: {fileID: 4623057511554511967}
+  m_PrefabAsset: {fileID: 0}
 --- !u!224 &6989462182969459993 stripped
 RectTransform:
   m_CorrespondingSourceObject: {fileID: 2366615777647505734, guid: edd0f54808263644d9740a9c0040b493,
@@ -7510,6 +8377,12 @@
       objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 49213eb9f84d76e47b6b19e9a246b83c, type: 3}
+--- !u!224 &3028643155083363564 stripped
+RectTransform:
+  m_CorrespondingSourceObject: {fileID: 7651475816072793687, guid: 49213eb9f84d76e47b6b19e9a246b83c,
+    type: 3}
+  m_PrefabInstance: {fileID: 4623057511726664379}
+  m_PrefabAsset: {fileID: 0}
 --- !u!114 &7735723185037147486 stripped
 MonoBehaviour:
   m_CorrespondingSourceObject: {fileID: 3130750578608519141, guid: 49213eb9f84d76e47b6b19e9a246b83c,
@@ -7522,12 +8395,6 @@
   m_Script: {fileID: 11500000, guid: 9a92c216c3d4e97459299f45fc451060, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
---- !u!224 &3028643155083363564 stripped
-RectTransform:
-  m_CorrespondingSourceObject: {fileID: 7651475816072793687, guid: 49213eb9f84d76e47b6b19e9a246b83c,
-    type: 3}
-  m_PrefabInstance: {fileID: 4623057511726664379}
-  m_PrefabAsset: {fileID: 0}
 --- !u!1001 &4623057511748623860
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -7844,15 +8711,15 @@
       objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 5bac711eb8890f244b4146b3339516ff, type: 3}
---- !u!1 &2593358110207618567 stripped
-GameObject:
-  m_CorrespondingSourceObject: {fileID: 7193677034299007581, guid: 5bac711eb8890f244b4146b3339516ff,
-    type: 3}
-  m_PrefabInstance: {fileID: 4623057511883902042}
-  m_PrefabAsset: {fileID: 0}
 --- !u!224 &2593358110207618566 stripped
 RectTransform:
   m_CorrespondingSourceObject: {fileID: 7193677034299007580, guid: 5bac711eb8890f244b4146b3339516ff,
+    type: 3}
+  m_PrefabInstance: {fileID: 4623057511883902042}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1 &2593358110207618567 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 7193677034299007581, guid: 5bac711eb8890f244b4146b3339516ff,
     type: 3}
   m_PrefabInstance: {fileID: 4623057511883902042}
   m_PrefabAsset: {fileID: 0}
@@ -8015,15 +8882,15 @@
       objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 5bac711eb8890f244b4146b3339516ff, type: 3}
---- !u!224 &2593358111913102218 stripped
-RectTransform:
-  m_CorrespondingSourceObject: {fileID: 7193677034299007580, guid: 5bac711eb8890f244b4146b3339516ff,
-    type: 3}
-  m_PrefabInstance: {fileID: 4623057512515660246}
-  m_PrefabAsset: {fileID: 0}
 --- !u!1 &2593358111913102219 stripped
 GameObject:
   m_CorrespondingSourceObject: {fileID: 7193677034299007581, guid: 5bac711eb8890f244b4146b3339516ff,
+    type: 3}
+  m_PrefabInstance: {fileID: 4623057512515660246}
+  m_PrefabAsset: {fileID: 0}
+--- !u!224 &2593358111913102218 stripped
+RectTransform:
+  m_CorrespondingSourceObject: {fileID: 7193677034299007580, guid: 5bac711eb8890f244b4146b3339516ff,
     type: 3}
   m_PrefabInstance: {fileID: 4623057512515660246}
   m_PrefabAsset: {fileID: 0}
@@ -8038,6 +8905,11 @@
         type: 3}
       propertyPath: m_Name
       value: BuffPreview
+      objectReference: {fileID: 0}
+    - target: {fileID: 162820266587863500, guid: 550ad0a7c16a47a49bfb36ef49a73a67,
+        type: 3}
+      propertyPath: m_IsActive
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 162820266587863501, guid: 550ad0a7c16a47a49bfb36ef49a73a67,
         type: 3}
@@ -8301,15 +9173,15 @@
       objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: e7d3a92aa8864b848b46a5ab0983fb5b, type: 3}
---- !u!4 &1943973236042931000 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 6940845726844463115, guid: e7d3a92aa8864b848b46a5ab0983fb5b,
-    type: 3}
-  m_PrefabInstance: {fileID: 8838515693527675699}
-  m_PrefabAsset: {fileID: 0}
 --- !u!198 &1943973235480785952 stripped
 ParticleSystem:
   m_CorrespondingSourceObject: {fileID: 6940845728497157907, guid: e7d3a92aa8864b848b46a5ab0983fb5b,
     type: 3}
   m_PrefabInstance: {fileID: 8838515693527675699}
   m_PrefabAsset: {fileID: 0}
+--- !u!4 &1943973236042931000 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 6940845726844463115, guid: e7d3a92aa8864b848b46a5ab0983fb5b,
+    type: 3}
+  m_PrefabInstance: {fileID: 8838515693527675699}
+  m_PrefabAsset: {fileID: 0}
diff --git a/Assets/Scenes/Levels/Battle/Endless2D.unity b/Assets/Scenes/Levels/Battle/Endless2D.unity
index 3037dd1..d582906 100644
--- a/Assets/Scenes/Levels/Battle/Endless2D.unity
+++ b/Assets/Scenes/Levels/Battle/Endless2D.unity
@@ -2576,8 +2576,6 @@
   serializedVersion: 6
   m_Component:
   - component: {fileID: 567180757}
-  - component: {fileID: 567180763}
-  - component: {fileID: 567180766}
   - component: {fileID: 567180759}
   - component: {fileID: 567180762}
   - component: {fileID: 567180761}
@@ -2734,18 +2732,6 @@
   - {fileID: 49423735}
   - {fileID: 902738591}
   - {fileID: 1643240606}
---- !u!114 &567180763
-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: 8696a862f59de71419f8d1bc74dd10a3, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
 --- !u!114 &567180764
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -2774,18 +2760,6 @@
   canvas: {fileID: 849284130}
   drapIcon: {fileID: 1227610056024535752, guid: cc402888b46cc884c87c113a3d36f138,
     type: 3}
---- !u!114 &567180766
-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: 5c2920296f3b45947a18b48883e4f64c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
 --- !u!1 &576933839
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/Common/GameConfig.cs b/Assets/Scripts/Common/GameConfig.cs
index 62b67ae..5953b12 100644
--- a/Assets/Scripts/Common/GameConfig.cs
+++ b/Assets/Scripts/Common/GameConfig.cs
@@ -66,6 +66,16 @@
         /// </summary>
         public static int EndlessBuyTowerCount;
 
+        /// <summary>
+        /// 每一轮游戏中技能值
+        /// </summary>
+        public static int EnergyCount;
+
+        /// <summary>
+        /// 每一轮游戏中技能等级
+        /// </summary>
+        public static int SkillLevel;
+
         #region 各个塔的偏移量
         public static Vector3 fireScale = new Vector3(1.92f, 1.92f, 2.208f);
         public static Vector3 woodScale = new Vector3(1.5f, 1.5f, 2.82f);
diff --git a/Assets/Scripts/Enum/EndlessBuffEffectType.cs b/Assets/Scripts/Enum/EndlessBuffEffectType.cs
index 5302242..7327a65 100644
--- a/Assets/Scripts/Enum/EndlessBuffEffectType.cs
+++ b/Assets/Scripts/Enum/EndlessBuffEffectType.cs
@@ -32,6 +32,9 @@
         SlowDown,
 
         // 攻击速度增加
-        FireRateAdd
+        FireRateAdd,
+        //增加技能等级
+        SkillLevelUp,
+
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Enum/EndlessBuffUseTarget.cs b/Assets/Scripts/Enum/EndlessBuffUseTarget.cs
index 2074704..85e6aba 100644
--- a/Assets/Scripts/Enum/EndlessBuffUseTarget.cs
+++ b/Assets/Scripts/Enum/EndlessBuffUseTarget.cs
@@ -14,6 +14,9 @@
         Element,
 
         // 对特定的宝石生效 特定宝石id
-        Designated
+        Designated,
+        //增加技能等级
+        SkillLevelUp,
+
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Event/EventType.cs b/Assets/Scripts/Event/EventType.cs
index d7e31de..e24d908 100644
--- a/Assets/Scripts/Event/EventType.cs
+++ b/Assets/Scripts/Event/EventType.cs
@@ -87,6 +87,13 @@
         EndlessPlayFreezeBreathEffect,
         // 木属性精灵暴击子弹数量改变
         EndlessCritBulletNumChange,
+        //击杀小怪能量(释放技能使用)上升
+        EnergyUp,
+        //拿到了提升技能等级的Buff
+        SkillLevelUpBuff,
+        //所有数据读取结束
+        JsonDataReadDone,
+
     }
 
 }
diff --git a/Assets/Scripts/Json/JsonDataCenter.cs b/Assets/Scripts/Json/JsonDataCenter.cs
index 9c53004..8c885de 100644
--- a/Assets/Scripts/Json/JsonDataCenter.cs
+++ b/Assets/Scripts/Json/JsonDataCenter.cs
@@ -267,6 +267,8 @@
             EndlessBuffData.Init();
             EndlessBossData.Init();
             EndlessBossSkillData.Init();
+            //EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.JsonDataReadDone);
+
         }
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Manager/ManagerRoot.cs b/Assets/Scripts/Manager/ManagerRoot.cs
index 00e780c..0ab1b30 100644
--- a/Assets/Scripts/Manager/ManagerRoot.cs
+++ b/Assets/Scripts/Manager/ManagerRoot.cs
@@ -10,7 +10,6 @@
 {
     public class ManagerRoot : MonoBehaviour
     {
-
         void Awake()
         {
             GameObject root = GameObject.Find("ManagerRoot");
@@ -23,12 +22,12 @@
                 root.AddComponent<MasterSocket>();
                 root.AddComponent<TDAA_SDKManager>();
                 root.AddComponent<AudioSourceManager>();
-
+                root.AddComponent<JsonDataReader>();
+                root.AddComponent<JsonDataInit>();
                 // root.AddComponent<ErrorLogOnGUIMyTools>();
             }
 
             //gameObject.AddComponent<JsonDataReader>();
-
         }
 
         // public void AfterRead()
diff --git a/Assets/Scripts/TowerDefense/Agents/Agent.cs b/Assets/Scripts/TowerDefense/Agents/Agent.cs
index b705e9a..211683a 100644
--- a/Assets/Scripts/TowerDefense/Agents/Agent.cs
+++ b/Assets/Scripts/TowerDefense/Agents/Agent.cs
@@ -13,6 +13,7 @@
 using TowerDefense.Economy;
 using TowerDefense.Level;
 using TowerDefense.Nodes;
+using TowerDefense.UI.HUD;
 using UnityEngine;
 using UnityEngine.AI;
 
@@ -1094,6 +1095,13 @@
             }
 
             bInDeathAct = true;
+
+            if (EnemyData != null && EndlessGameUI.instance.state != EndlessGameUI.State.GameOver)
+            {
+                Debug.Log("小怪被杀死了,增加能量" + EnemyData.energy);
+                EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EnergyUp, EnemyData.energy);
+            }
+
             Remove();
         }
 
diff --git a/Assets/Scripts/TowerDefense/Level/AgentInsManager.cs b/Assets/Scripts/TowerDefense/Level/AgentInsManager.cs
index 0cbe3fa..3630a15 100644
--- a/Assets/Scripts/TowerDefense/Level/AgentInsManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/AgentInsManager.cs
@@ -799,6 +799,86 @@
             EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessOneTimeKillCount, deathCount);
     }
 
+
+    /// <summary>
+    /// 处理战场上的兵线伤害,以兵线为单位对怪物进行伤害---所有兵线
+    /// </summary>
+    /// <param name="waveline"></param>
+    /// <param name="sid"></param>
+    /// <param name="slevel"></param>
+    /// <param name="opponent"></param>
+    public void ExecAllWavelineAttack(int sid, int slevel, bool opponent)
+    {
+        skilllevelinfo slinfo = JsonDataCenter.GetSkillLevelInfo(sid, slevel + 1);
+        if (slinfo == null) return;
+
+        WaveLineAgentInsMgr wavelineIns;
+        if (opponent)
+        {
+            for (int i = 0; i < oppoAgentWaveLineArray.Length; i++)
+            {
+                wavelineIns = oppoAgentWaveLineArray[i];
+                CalculateWavelineAttack(slinfo, wavelineIns, sid, slevel);
+            }
+        }
+        else
+        {
+            for (int i = 0; i < agentWaveLineArray.Length; i++)
+            {
+                wavelineIns = agentWaveLineArray[i];
+                CalculateWavelineAttack(slinfo, wavelineIns, sid, slevel);
+            }
+        }
+
+    }
+
+    private void CalculateWavelineAttack(skilllevelinfo slinfo, WaveLineAgentInsMgr wavelineIns, int sid, int slevel)
+    {
+        if (wavelineIns == null) return;
+
+        List<Agent> listAg = wavelineIns.listAgent;
+        // 统计被火技能直接烧死的数量
+        int deathCount = 0;
+
+        for (int ti = listAg.Count - 1; ti >= 0; ti--)
+        {
+            Agent eag = listAg[ti];
+
+            if (eag.isDead) continue;
+
+            if (eag.AgentType == SpawnAgentType.BubbleBomb)
+            {
+                EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessFireSkillKillBubbleBomb, (eag as BubbleBombAgent).Id);
+                // 泡泡炸弹是直接就被火技能秒杀的
+                ++deathCount;
+            }
+            else
+            {
+                Vector3 fpos = eag.transform.position;
+                float damage = slinfo.skilleffect[2];
+                damage += (slinfo.skilleffect[1] / 100.0f * eag.configuration.maxHealth);
+                damage = (float)Math.Floor(damage);
+
+                eag.TakeDamage(damage, fpos, null);
+                if (!eag.opponentAgent)
+                {
+                    if (GameUI.instanceExists)
+                        GameUI.instance.generateBloodText(fpos, damage, false, false);
+                    else if (EndlessGameUI.instanceExists)
+                        EndlessGameUI.instance.generateBloodText(fpos, damage, false, false);
+                }
+
+                eag.PlayFireSkillHit();
+
+                if (eag.isDead)
+                    ++deathCount;
+            }
+
+        }
+        if (deathCount > 1)
+            EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessOneTimeKillCount, deathCount);
+    }
+
     /// <summary>
     /// 每一帧更新,更新之后获取几个刚性数据:
     /// 1:血量最多的AgentInstance.
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs
index 2e930ee..dfed43a 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/EndlessBuffManager.cs
@@ -34,7 +34,8 @@
                 new CritDamageAdd(),
                 new CritBulletAdd(),
                 new SlowDown(),
-                new FireRateAdd()
+                new FireRateAdd(),
+                new SkillLevelUp(),
             };
         }
 
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/SkillLevelUp.cs b/Assets/Scripts/TowerDefense/Level/EndlessBuff/SkillLevelUp.cs
new file mode 100644
index 0000000..a622ac2
--- /dev/null
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/SkillLevelUp.cs
@@ -0,0 +1,16 @@
+using TowerDefense.Level;
+
+namespace KTGMGemClient
+{
+    /// <summary>
+    /// 增加技能等级
+    /// </summary>
+    public class SkillLevelUp : EndlessBuff
+    {
+        public override void Handle()
+        {
+            // 一次性增加金币
+            EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.SkillLevelUpBuff);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessBuff/SkillLevelUp.cs.meta b/Assets/Scripts/TowerDefense/Level/EndlessBuff/SkillLevelUp.cs.meta
new file mode 100644
index 0000000..12819ed
--- /dev/null
+++ b/Assets/Scripts/TowerDefense/Level/EndlessBuff/SkillLevelUp.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6cdb911f4b7f96a4bb93c15e6ced2915
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
index 05623dd..8e88ba9 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
+++ b/Assets/Scripts/TowerDefense/Level/EndlessWaveLineManager.cs
@@ -66,6 +66,26 @@
     }
 
     /// <summary>
+    /// 在所有兵线上播放特效
+    /// </summary>
+    public void PlayAllWaveLineEffect()
+    {
+        for (int i = 0; i < waveLineList.Count; i++)
+        {
+            GameObject obj = Instantiate(skillFirePrefab);
+            ParticleSystem ps = obj.GetComponent<ParticleSystem>();
+
+            if (ps == null)
+                ps = obj.transform.GetChild(0).GetComponent<ParticleSystem>();
+            ps.transform.position = EndlessLevelManager.instance.WaveManager.GetWaveEndPos(i);
+            ps.Play();
+            AudioSourceManager.Ins.Play(AudioEnum.FireSkill);
+
+            Destroy(obj, 5f);
+        }
+    }
+
+    /// <summary>
     /// 在战场内某一个位置播放特效
     /// </summary>
     /// <param name="pos"></param>
diff --git a/Assets/Scripts/TowerDefense/Level/JsonDataInit.cs b/Assets/Scripts/TowerDefense/Level/JsonDataInit.cs
index 14a491e..df974a5 100644
--- a/Assets/Scripts/TowerDefense/Level/JsonDataInit.cs
+++ b/Assets/Scripts/TowerDefense/Level/JsonDataInit.cs
@@ -5,7 +5,7 @@
 public class JsonDataInit : MonoBehaviour
 {
     // Start is called before the first frame update
-    void Start()
+    void Awake()
     {
         JsonDataCenter.allData = new Dictionary<string, List<tabledata>>();
         JsonDataReader.Instance.StartRead(JsonDataCenter.ProcessInitDataLoad);
diff --git a/Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs b/Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs
index 1a32461..d6a081e 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessBuffPreview.cs
@@ -71,6 +71,9 @@
                         break;
                     case EndlessBuffUseTarget.Designated:
                         break;
+                    case EndlessBuffUseTarget.SkillLevelUp:
+                        break;
+
                 }
             }
 
diff --git a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs
index 5a88bb1..b2188c3 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs
@@ -51,11 +51,36 @@
 
     public GameObject darkGroundImg;
 
+    private TextMeshProUGUI energyText;//显示能量的TEXT
+    private Image fireEnergyImg, bombEnergyImg;
+    private Image fireEnergyBgImg, bombEnergyBgImg;
+
+    public Sprite energyNormal, energyDisplay;//能量够买,能量不够
+
+    /// <summary>
+    /// Awake is called when the script instance is being loaded.
+    /// </summary>
+    protected override void Awake()
+    {
+        base.Awake();
+        GameObject root = GameObject.Find("ManagerRoot");
+
+        if (root == null)
+        {
+            root = new GameObject("ManagerRoot");
+            root.AddComponent<DoNotDestory>();
+            root.AddComponent<MasterSocket>();
+            root.AddComponent<TDAA_SDKManager>();
+            root.AddComponent<AudioSourceManager>();
+            root.AddComponent<JsonDataReader>();
+            root.AddComponent<JsonDataInit>();
+        }
+        //EventCenter.Ins.Add((int)KTGMGemClient.EventType.JsonDataReadDone, JsonDataReadDone);
+    }
     // Start is called before the first frame update
     void Start()
     {
         InitSDK();
-
         bGameStart = false;
         bFirstLoaded = false;
 
@@ -80,15 +105,15 @@
         transform.Find("Panel/Bottom").GetComponent<RectTransform>().anchoredPosition += tmpOffect;
         transform.Find("Panel/TowerBuyBtn").GetComponent<RectTransform>().anchoredPosition += tmpOffect;
 
-        transform.Find("Panel/BossHPBar").GetComponent<RectTransform>().anchoredPosition -= tmpOffect*0.5f;
-        transform.Find("Panel/Score").GetComponent<RectTransform>().anchoredPosition -= tmpOffect*0.5f;
-        transform.Find("Panel/TimeInfo").GetComponent<RectTransform>().anchoredPosition -= tmpOffect*0.5f;
+        transform.Find("Panel/BossHPBar").GetComponent<RectTransform>().anchoredPosition -= tmpOffect * 0.5f;
+        transform.Find("Panel/Score").GetComponent<RectTransform>().anchoredPosition -= tmpOffect * 0.5f;
+        transform.Find("Panel/TimeInfo").GetComponent<RectTransform>().anchoredPosition -= tmpOffect * 0.5f;
         //transform.Find("Panel/Boss").GetComponent<RectTransform>().anchoredPosition -= tmpOffect*0.5f;
 
 
         //darkGroundImg = transform.Find("Image_DarkGround").gameObject;
         darkGroundImg.GetComponent<RectTransform>().offsetMin += tmpOffect;
-        darkGroundImg.GetComponent<RectTransform>().offsetMax -= tmpOffect*0.5f;
+        darkGroundImg.GetComponent<RectTransform>().offsetMax -= tmpOffect * 0.5f;
 
         darkGroundImg.SetActive(false);
         //查询是否已经做过了新手引导
@@ -115,7 +140,42 @@
 
         AudioSourceManager.Ins.Play(AudioEnum.BGM2);
 
+        energyText = transform.Find("Panel/Energy/EnergyShow/EnergyText").GetComponent<TextMeshProUGUI>();
+        fireEnergyImg = transform.Find("Panel/Energy/FireSkillBtn/Image").GetComponent<Image>();
+        bombEnergyImg = transform.Find("Panel/Energy/BombSkillBtn/Image").GetComponent<Image>();
+        fireEnergyBgImg = transform.Find("Panel/Energy/FireSkillBtn").GetComponent<Image>();
+        bombEnergyBgImg = transform.Find("Panel/Energy/BombSkillBtn").GetComponent<Image>();
+        fireEnergyImg.sprite = energyDisplay;
+        bombEnergyImg.sprite = energyDisplay;
+        transform.Find("Panel/Energy/FireSkillBtn").GetComponent<Button>().onClick.AddListener(OnClickFireSkillBtn);
+        transform.Find("Panel/Energy/BombSkillBtn").GetComponent<Button>().onClick.AddListener(OnClickBombSkillBtn);
 
+        transform.Find("Panel/Energy").gameObject.SetActive(false);
+
+        GameConfig.EnergyCount = 0;
+        GameConfig.SkillLevel = 1;
+
+        energyText.text = GameConfig.EnergyCount.ToString();
+
+        EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.EnergyUp, EnergyUp);
+        EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillLevelUpBuff, SkillLevelUpBuff);
+
+
+    }
+
+    /// <summary>
+    /// 所有数据读取完毕
+    /// </summary>
+    private void JsonDataReadDone()
+    {
+        transform.Find("Panel/Energy").gameObject.SetActive(true);
+        fireSkillCost = JsonDataCenter.GetSkillLevelInfo(fireSkillID, GameConfig.SkillLevel).cost;
+        bombSkillCost = JsonDataCenter.GetSkillLevelInfo(bombSkillID, GameConfig.SkillLevel).cost;
+
+        transform.Find("Panel/Energy/FireSkillBtn/Image/EnergyText").GetComponent<TextMeshProUGUI>().text = fireSkillCost.ToString();
+        transform.Find("Panel/Energy/BombSkillBtn/Image/EnergyText").GetComponent<TextMeshProUGUI>().text = bombSkillCost.ToString();
+
+        EnergyUp(0);
     }
 
     /// <summary>
@@ -319,6 +379,115 @@
         }
     }
 
+    #region 点击右侧技能按钮释放技能
+
+    private int fireSkillCost, bombSkillCost;//两个技能花费
+    private int fireSkillID = 99902;
+    private int bombSkillID = 99901;
+    private int energyMax = 200;//能量最大值,目前写死
+    private Color normalColor = new Color(1.0f, 1.0f, 1.0f, 1.0f);
+    private Color disColor = new Color(0.78f, 0.78f, 0.78f, 0.5f);
+
+    /// <summary>
+    /// 点击火技能
+    /// </summary>
+    private void OnClickFireSkillBtn()
+    {
+        //Debug.Log("释放了火技能:" + GameConfig.EnergyCount + "  fireSkillCost:" + fireSkillCost);
+        if (GameConfig.EnergyCount >= fireSkillCost)
+        {
+            EnergyUp(-fireSkillCost);
+            Debug.Log("释放了火技能" + GameConfig.SkillLevel);
+            // 播放特效,并处理伤害.
+            EndlessWaveLineManager.instance.PlayAllWaveLineEffect();
+            AgentInsManager.instance.ExecAllWavelineAttack(fireSkillID, GameConfig.SkillLevel, false);
+            ++GameConfig.EndlessPortUseSkillTowerCount;
+        }
+    }
+
+    /// <summary>
+    /// 点击释放电击技能
+    /// </summary>
+    private void OnClickBombSkillBtn()
+    {
+        return;
+        Debug.Log("释放了电技能:" + GameConfig.EnergyCount + "  bombSkillCost:" + bombSkillCost);
+
+        if (GameConfig.EnergyCount >= bombSkillCost)
+        {
+            EnergyUp(-bombSkillCost);
+
+            Debug.Log("释放了电技能");
+        }
+    }
+
+    /// <summary>
+    /// 击杀小怪能量(释放技能使用)
+    /// </summary>
+    private void EnergyUp(int upCount)
+    {
+        GameConfig.EnergyCount += upCount;
+        if (GameConfig.EnergyCount > energyMax)
+        {
+            GameConfig.EnergyCount = energyMax;
+        }
+        energyText.text = GameConfig.EnergyCount.ToString();
+        if (GameConfig.EnergyCount >= fireSkillCost)
+        {
+            if (fireEnergyBgImg.color != normalColor)
+            {
+                fireEnergyImg.sprite = energyNormal;
+                fireEnergyBgImg.color = normalColor;
+            }
+        }
+        else
+        {
+            if (fireEnergyBgImg.color != disColor)
+            {
+                fireEnergyImg.sprite = energyDisplay;
+                fireEnergyBgImg.color = disColor;
+            }
+        }
+
+        if (GameConfig.EnergyCount >= bombSkillCost)
+        {
+            if (bombEnergyBgImg.color != normalColor)
+            {
+                bombEnergyImg.sprite = energyNormal;
+                bombEnergyBgImg.color = normalColor;
+            }
+        }
+        else
+        {
+            if (bombEnergyBgImg.color != disColor)
+            {
+                bombEnergyImg.sprite = energyDisplay;
+                bombEnergyBgImg.color = disColor;
+            }
+        }
+    }
+
+
+
+    /// <summary>
+    /// 增加技能等级的事件监听
+    /// </summary>
+    private void SkillLevelUpBuff()
+    {
+        if (GameConfig.SkillLevel <= 5)
+        {
+            GameConfig.SkillLevel++;
+            Debug.Log("技能最高5级,当前技能等级:" + GameConfig.SkillLevel);
+            fireSkillCost = JsonDataCenter.GetSkillLevelInfo(fireSkillID, GameConfig.SkillLevel).cost;
+            bombSkillCost = JsonDataCenter.GetSkillLevelInfo(bombSkillID, GameConfig.SkillLevel).cost;
+        }
+    }
+
+
+
+
+    #endregion
+
     public void Pause()
     {
         isPause = true;
@@ -403,6 +572,7 @@
                     EndlessLevelManager.instance.StartLevel();
                     timeTextNew.gameObject.SetActive(true);
 
+                    JsonDataReadDone();
                     // 开始播放背景音乐.
                     if (bgMusic != null)
                         bgMusic.Play();
diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
index e74ef6b..750cf7b 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -131,7 +131,7 @@
         /// </summary>
         protected TextMeshProUGUI towerPriceText;
 
-        protected TextMeshProUGUI towerPriceText1;
+        //protected TextMeshProUGUI towerPriceText1;
 
         protected bool tdBuyDisable = false;
 
@@ -849,6 +849,7 @@
 
             // 让所有兵线上已经生成的所有agent播放一个死亡动画然后销毁
             WaveLineAgentInsMgr[] waveLineAgentIns = AgentInsManager.instance.GetWaveLineList();
+            GameOver();
 
             for (int i = 0; i < waveLineAgentIns.Length; ++i)
             {
@@ -858,7 +859,6 @@
                 }
             }
 
-            GameOver();
             overTimer = new Timer(1.2f, SafelyCallGameOverEvent);
         }
 
@@ -1906,16 +1906,16 @@
             if (!towerPriceText)
             {
                 towerPriceText = randomTowerBtn.transform.Find("cashText").GetComponent<TextMeshProUGUI>();
-                towerPriceText1 = SkillTowerBtn.transform.Find("cashText").GetComponent<TextMeshProUGUI>();
+                //towerPriceText1 = SkillTowerBtn.transform.Find("cashText").GetComponent<TextMeshProUGUI>();
                 if (towerPriceText)
                     towerPriceText.text = tpMgr.currentTowerPrice.ToString();
-                if (towerPriceText1)
-                    towerPriceText1.text = tpMgr.currentTowerPrice.ToString();
+                // if (towerPriceText1)
+                //     towerPriceText1.text = tpMgr.currentTowerPrice.ToString();
             }
             else
             {
                 towerPriceText.text = tpMgr.currentTowerPrice.ToString();
-                towerPriceText1.text = tpMgr.currentTowerPrice.ToString();
+                //towerPriceText1.text = tpMgr.currentTowerPrice.ToString();
             }
 
             // 无法支付新的塔防价格,按钮变灰.
@@ -1935,7 +1935,7 @@
             if (towerPriceText)
             {
                 towerPriceText.color = new Color(0.5f, 0.5f, 0.5f);
-                towerPriceText1.color = new Color(0.5f, 0.5f, 0.5f);
+                //towerPriceText1.color = new Color(0.5f, 0.5f, 0.5f);
             }
             tdBuyDisable = true;
         }
@@ -1953,7 +1953,7 @@
             if (towerPriceText)
             {
                 towerPriceText.color = new Color(1.0f, 1.0f, 1.0f);
-                towerPriceText1.color = new Color(1.0f, 1.0f, 1.0f);
+                //towerPriceText1.color = new Color(1.0f, 1.0f, 1.0f);
             }
 
             if (randomTowerBtn)
diff --git a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
index 554cd95..86d47f4 100644
--- a/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
+++ b/Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
@@ -14,7 +14,7 @@
     // 当前类所在的Btn.
     public Button randomBtn;
 
-    public Button skillBtn;
+    //public Button skillBtn;
 
     /// <summary>
     /// 购买二级宝石的按钮贴图.
@@ -80,7 +80,7 @@
         bSetBuyLvlUp = false;
         bCdTimeStart = false;
         randomBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.NULL); });
-        skillBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.Skill_Bomb); });
+        //skillBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.Skill_Bomb); });
         UpdateDescDisplay();
     }
 
@@ -95,22 +95,22 @@
     public void ChangeBtnClickNormal()
     {
         randomBtn.onClick.RemoveAllListeners();
-        skillBtn.onClick.RemoveAllListeners();
+        //skillBtn.onClick.RemoveAllListeners();
         randomBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.NULL); });
-        skillBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.Skill_Bomb); });
+        //skillBtn.onClick.AddListener(delegate () { onClick(EFeatureTower.Skill_Bomb); });
     }
     public void ChangeBtnClick()
     {
         randomBtn.onClick.RemoveAllListeners();
-        skillBtn.onClick.RemoveAllListeners();
+        //skillBtn.onClick.RemoveAllListeners();
         randomBtn.onClick.AddListener(() =>
         {
             AudioSourceManager.Ins.Play(AudioEnum.UIDisable);
         });
-        skillBtn.onClick.AddListener(() =>
-        {
-            AudioSourceManager.Ins.Play(AudioEnum.UIDisable);
-        });
+        // skillBtn.onClick.AddListener(() =>
+        // {
+        //     AudioSourceManager.Ins.Play(AudioEnum.UIDisable);
+        // });
     }
 
     /// <summary>
diff --git "a/Assets/UI/Endless/Bottom/\346\210\230\346\226\227\350\260\203\346\225\264.png" "b/Assets/UI/Endless/Bottom/\346\210\230\346\226\227\350\260\203\346\225\264.png"
new file mode 100644
index 0000000..9709101
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\346\210\230\346\226\227\350\260\203\346\225\264.png"
Binary files differ
diff --git "a/Assets/UI/Endless/Bottom/\346\210\230\346\226\227\350\260\203\346\225\264.png.meta" "b/Assets/UI/Endless/Bottom/\346\210\230\346\226\227\350\260\203\346\225\264.png.meta"
new file mode 100644
index 0000000..514995a
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\346\210\230\346\226\227\350\260\203\346\225\264.png.meta"
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: b67847a38c10e134fb2723ce5d71a6a2
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git "a/Assets/UI/Endless/Bottom/\346\212\200\350\203\2751.png" "b/Assets/UI/Endless/Bottom/\346\212\200\350\203\2751.png"
new file mode 100644
index 0000000..1edc3d3
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\346\212\200\350\203\2751.png"
Binary files differ
diff --git "a/Assets/UI/Endless/Bottom/\346\212\200\350\203\2751.png.meta" "b/Assets/UI/Endless/Bottom/\346\212\200\350\203\2751.png.meta"
new file mode 100644
index 0000000..6e9868b
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\346\212\200\350\203\2751.png.meta"
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: e910eb4b535d0274694c819f07921e33
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git "a/Assets/UI/Endless/Bottom/\346\212\200\350\203\2752.png" "b/Assets/UI/Endless/Bottom/\346\212\200\350\203\2752.png"
new file mode 100644
index 0000000..708a8bb
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\346\212\200\350\203\2752.png"
Binary files differ
diff --git "a/Assets/UI/Endless/Bottom/\346\212\200\350\203\2752.png.meta" "b/Assets/UI/Endless/Bottom/\346\212\200\350\203\2752.png.meta"
new file mode 100644
index 0000000..9419a11
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\346\212\200\350\203\2752.png.meta"
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: ed4e3aa0b7711ab4185266657a9a6e25
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git "a/Assets/UI/Endless/Bottom/\347\274\251\345\260\217\350\203\275\351\207\217\347\220\203.png" "b/Assets/UI/Endless/Bottom/\347\274\251\345\260\217\350\203\275\351\207\217\347\220\203.png"
new file mode 100644
index 0000000..dd23205
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\347\274\251\345\260\217\350\203\275\351\207\217\347\220\203.png"
Binary files differ
diff --git "a/Assets/UI/Endless/Bottom/\347\274\251\345\260\217\350\203\275\351\207\217\347\220\203.png.meta" "b/Assets/UI/Endless/Bottom/\347\274\251\345\260\217\350\203\275\351\207\217\347\220\203.png.meta"
new file mode 100644
index 0000000..70f2c86
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\347\274\251\345\260\217\350\203\275\351\207\217\347\220\203.png.meta"
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: 785c2b6d9fdaa8e40b5b8cf5dac3d037
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git "a/Assets/UI/Endless/Bottom/\347\275\256\347\201\260\350\203\275\351\207\217\347\220\203.png" "b/Assets/UI/Endless/Bottom/\347\275\256\347\201\260\350\203\275\351\207\217\347\220\203.png"
new file mode 100644
index 0000000..a6497f1
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\347\275\256\347\201\260\350\203\275\351\207\217\347\220\203.png"
Binary files differ
diff --git "a/Assets/UI/Endless/Bottom/\347\275\256\347\201\260\350\203\275\351\207\217\347\220\203.png.meta" "b/Assets/UI/Endless/Bottom/\347\275\256\347\201\260\350\203\275\351\207\217\347\220\203.png.meta"
new file mode 100644
index 0000000..8747be3
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\347\275\256\347\201\260\350\203\275\351\207\217\347\220\203.png.meta"
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: a14d7d5cc4aba5442a318e8d64bfcc8e
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git "a/Assets/UI/Endless/Bottom/\350\203\275\351\207\217\347\220\203.png" "b/Assets/UI/Endless/Bottom/\350\203\275\351\207\217\347\220\203.png"
new file mode 100644
index 0000000..3219498
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\350\203\275\351\207\217\347\220\203.png"
Binary files differ
diff --git "a/Assets/UI/Endless/Bottom/\350\203\275\351\207\217\347\220\203.png.meta" "b/Assets/UI/Endless/Bottom/\350\203\275\351\207\217\347\220\203.png.meta"
new file mode 100644
index 0000000..42595e5
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\350\203\275\351\207\217\347\220\203.png.meta"
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: ac2ceca6ba76d9448a8014a785c6e5b0
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git "a/Assets/UI/Endless/Bottom/\351\200\217\346\230\216\351\273\221\345\272\225.png" "b/Assets/UI/Endless/Bottom/\351\200\217\346\230\216\351\273\221\345\272\225.png"
new file mode 100644
index 0000000..5f9ad99
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\351\200\217\346\230\216\351\273\221\345\272\225.png"
Binary files differ
diff --git "a/Assets/UI/Endless/Bottom/\351\200\217\346\230\216\351\273\221\345\272\225.png.meta" "b/Assets/UI/Endless/Bottom/\351\200\217\346\230\216\351\273\221\345\272\225.png.meta"
new file mode 100644
index 0000000..47e7acb
--- /dev/null
+++ "b/Assets/UI/Endless/Bottom/\351\200\217\346\230\216\351\273\221\345\272\225.png.meta"
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: 3e5d459ee05bb35479baf2fd2a3370eb
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

--
Gitblit v1.9.1