liuzhiwei
2020-11-13 adf4e32c75f0886b330c6ad449f6a2a46b3d3771
Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master
11 files added
20 files modified
115156 ■■■■■ changed files
Assets/00000/package/Prefab/Prefab/Effect_UI_KaPai_Huo.prefab 6 ●●●● patch | view | raw | blame | history
Assets/00000/package/Prefab/Prefab/Effect_UI_KaPai_Huo_02.prefab 6 ●●●● patch | view | raw | blame | history
Assets/Materials/UI/tileTowerVSMat.mat 2 ●●● patch | view | raw | blame | history
Assets/Prefabs/Camera.meta 8 ●●●●● patch | view | raw | blame | history
Assets/Prefabs/Camera/ClearCamera.prefab 76 ●●●●● patch | view | raw | blame | history
Assets/Prefabs/Camera/ClearCamera.prefab.meta 7 ●●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/GrowUpTower_0.prefab 2 ●●● patch | view | raw | blame | history
Assets/Prefabs/UI/PlacementTileMobile.prefab 90 ●●●●● patch | view | raw | blame | history
Assets/Resources/UI/Effect_Elf_Huo_DengChang_101.prefab 34039 ●●●●● patch | view | raw | blame | history
Assets/Resources/UI/Effect_Elf_Huo_DengChang_101.prefab.meta 7 ●●●●● patch | view | raw | blame | history
Assets/Resources/UI/Effect_Elf_Mu_DengChang_109.prefab 29168 ●●●●● patch | view | raw | blame | history
Assets/Resources/UI/Effect_Elf_Mu_DengChang_109.prefab.meta 7 ●●●●● patch | view | raw | blame | history
Assets/Resources/UI/Effect_Elf_Shui_DengChang_105.prefab 34049 ●●●●● patch | view | raw | blame | history
Assets/Resources/UI/Effect_Elf_Shui_DengChang_105.prefab.meta 7 ●●●●● patch | view | raw | blame | history
Assets/Resources/UI/Final/FinalPanel.prefab 135 ●●●●● patch | view | raw | blame | history
Assets/Resources/UI/Final/FinalPanelItem.prefab 40 ●●●● patch | view | raw | blame | history
Assets/Scenes/Levels/Battle/Endless.unity 22 ●●●● patch | view | raw | blame | history
Assets/Scenes/Levels/Battle/Endless2D.unity 17103 ●●●●● patch | view | raw | blame | history
Assets/Scenes/Levels/Battle/Endless2D.unity.meta 7 ●●●●● patch | view | raw | blame | history
Assets/Scenes/LoadingScene.unity 79 ●●●●● patch | view | raw | blame | history
Assets/Scripts/Common/ErrorLogOnGUIMyTools.cs 3 ●●●● patch | view | raw | blame | history
Assets/Scripts/Event/EventBase.cs 3 ●●●●● patch | view | raw | blame | history
Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs 2 ●●●●● patch | view | raw | blame | history
Assets/Scripts/Manager/ManagerRoot.cs 2 ●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs 1 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs 4 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs 95 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs 44 ●●●●● patch | view | raw | blame | history
Assets/Scripts/UI/FinalPanel/FinalPanel.cs 128 ●●●●● patch | view | raw | blame | history
Assets/Scripts/UI/FinalPanel/FinalPanelItem.cs 12 ●●●●● patch | view | raw | blame | history
ProjectSettings/TagManager.asset 2 ●●● patch | view | raw | blame | history
Assets/00000/package/Prefab/Prefab/Effect_UI_KaPai_Huo.prefab
@@ -56,7 +56,7 @@
  startDelay:
    serializedVersion: 2
    minMaxState: 0
    scalar: 0.6
    scalar: 0
    minScalar: 0
    maxCurve:
      serializedVersion: 2
@@ -4944,7 +4944,7 @@
  startDelay:
    serializedVersion: 2
    minMaxState: 0
    scalar: 0.6
    scalar: 0
    minScalar: 0
    maxCurve:
      serializedVersion: 2
@@ -9787,7 +9787,7 @@
  m_Component:
  - component: {fileID: 3046677259689348461}
  m_Layer: 0
  m_Name: Effect_HuoJingLing_BaoShi
  m_Name: Effect_UI_KaPai_Huo
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
Assets/00000/package/Prefab/Prefab/Effect_UI_KaPai_Huo_02.prefab
@@ -10,7 +10,7 @@
  m_Component:
  - component: {fileID: 7844127999702205425}
  m_Layer: 0
  m_Name: Effect_HuoJingLing_BaoShi
  m_Name: Effect_UI_KaPai_Huo_02
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
@@ -86,7 +86,7 @@
  startDelay:
    serializedVersion: 2
    minMaxState: 0
    scalar: 0.6
    scalar: 0
    minScalar: 0
    maxCurve:
      serializedVersion: 2
@@ -4975,7 +4975,7 @@
  startDelay:
    serializedVersion: 2
    minMaxState: 0
    scalar: 0.6
    scalar: 0
    minScalar: 0
    maxCurve:
      serializedVersion: 2
Assets/Materials/UI/tileTowerVSMat.mat
@@ -40,7 +40,7 @@
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _MainTex:
        m_Texture: {fileID: 2800000, guid: 8c9a3d26120e78f40aa4ef9ed23d573c, type: 3}
        m_Texture: {fileID: 2800000, guid: 93f40a01d57fbff418fc0b54b6ab7d9f, type: 3}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _MetallicGlossMap:
Assets/Prefabs/Camera.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 53d4dc1ab2a900442a281894c08ecf55
folderAsset: yes
DefaultImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Prefabs/Camera/ClearCamera.prefab
New file
@@ -0,0 +1,76 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3091314759354326717
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 3091314759354326715}
  - component: {fileID: 3091314759354326716}
  m_Layer: 0
  m_Name: ClearCamera
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &3091314759354326715
Transform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3091314759354326717}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 1417, y: 940, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 0}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!20 &3091314759354326716
Camera:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3091314759354326717}
  m_Enabled: 1
  serializedVersion: 2
  m_ClearFlags: 2
  m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
  m_projectionMatrixMode: 1
  m_GateFitMode: 2
  m_FOVAxisMode: 0
  m_SensorSize: {x: 36, y: 24}
  m_LensShift: {x: 0, y: 0}
  m_FocalLength: 50
  m_NormalizedViewPortRect:
    serializedVersion: 2
    x: 0
    y: 0
    width: 1
    height: 1
  near clip plane: 0.3
  far clip plane: 1000
  field of view: 60
  orthographic: 1
  orthographic size: 64
  m_Depth: -2
  m_CullingMask:
    serializedVersion: 2
    m_Bits: 4294967295
  m_RenderingPath: -1
  m_TargetTexture: {fileID: 0}
  m_TargetDisplay: 0
  m_TargetEye: 3
  m_HDR: 1
  m_AllowMSAA: 1
  m_AllowDynamicResolution: 0
  m_ForceIntoRT: 0
  m_OcclusionCulling: 1
  m_StereoConvergence: 10
  m_StereoSeparation: 0.022
Assets/Prefabs/Camera/ClearCamera.prefab.meta
New file
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 91d321cd869bc0c47808f6fd7d755ae3
PrefabImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Prefabs/Towers/Fire/GrowUpTower_0.prefab
@@ -134,7 +134,7 @@
    type: 3}
  buildEffectPrefab: {fileID: 7075300226719811381, guid: a3ffad0742f1416499458b12a1b8187c,
    type: 3}
  UpgradeEffectPrefab: {fileID: 3681181936307124407, guid: 4f841d500cb4a9c4a99872c566e45c63,
  UpgradeEffectPrefab: {fileID: 6847503030253729540, guid: f8ec855cfd7e13a4ebb2f2cbb8bbc480,
    type: 3}
  levelDamager: {fileID: 114588164740221456, guid: 9c5d242fe193d0241b17db92e61ab930,
    type: 3}
Assets/Prefabs/UI/PlacementTileMobile.prefab
@@ -30,8 +30,8 @@
  m_Children:
  - {fileID: 4082878821884824}
  - {fileID: 3708897891681601760}
  - {fileID: 675910950832637167}
  - {fileID: 5551798738058946706}
  - {fileID: 7663500724507464268}
  m_Father: {fileID: 0}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -56,7 +56,7 @@
  canPlaceRenderer: {fileID: 5722111975221064870}
  canPlaceMat: {fileID: 2100000, guid: 434316934db1c90498f004f124d7c733, type: 2}
  selectMat: {fileID: 2100000, guid: 3b7aa7626a2d4674ca2aa32958f14ca9, type: 2}
  myPS: {fileID: 675910951314242398}
  myPS: {fileID: 7663500723916369405}
  towerVSRenderer: {fileID: 2078962303223178405}
  towerVSMat: {fileID: 2100000, guid: c40b753d26a2b4a4facef99e60c526d2, type: 2}
  fire: {fileID: 2800000, guid: 8c9a3d26120e78f40aa4ef9ed23d573c, type: 3}
@@ -172,7 +172,7 @@
  m_LocalScale: {x: 1, y: 0.7293007, z: 1}
  m_Children: []
  m_Father: {fileID: 4376446327882660}
  m_RootOrder: 3
  m_RootOrder: 2
  m_LocalEulerAnglesHint: {x: 90.00001, y: 0, z: 0}
--- !u!23 &2078962303223178405
MeshRenderer:
@@ -304,114 +304,104 @@
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6911264303789898319}
  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1001 &6551026705143052334
--- !u!1001 &5052097780309765736
PrefabInstance:
  m_ObjectHideFlags: 0
  serializedVersion: 2
  m_Modification:
    m_TransformParent: {fileID: 4376446327882660}
    m_Modifications:
    - target: {fileID: 6019269231563473776, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
        type: 3}
      propertyPath: playOnAwake
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269231563473778, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
        type: 3}
      propertyPath: m_LocalPosition.y
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269231827229285, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
        type: 3}
      propertyPath: playOnAwake
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856512, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
        type: 3}
      propertyPath: m_Name
      value: Effect_ShengJiTiShi
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856512, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
        type: 3}
      propertyPath: m_IsActive
      value: 1
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalPosition.x
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalPosition.y
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalPosition.z
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalRotation.x
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalRotation.y
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalRotation.z
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalRotation.w
      value: 1
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_RootOrder
      value: 2
      value: 3
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalEulerAnglesHint.x
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalEulerAnglesHint.y
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalEulerAnglesHint.z
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalScale.x
      value: 0.12647022
      objectReference: {fileID: 0}
    - target: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
    - target: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_LocalScale.z
      value: 0.09259259
      objectReference: {fileID: 0}
    - target: {fileID: 3190397260455246885, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: m_Name
      value: Effect_UI_BaoShiShengJi_TiShi
      objectReference: {fileID: 0}
    - target: {fileID: 3190397261047448469, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: playOnAwake
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 3190397261319985792, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
        type: 3}
      propertyPath: playOnAwake
      value: 0
      objectReference: {fileID: 0}
    m_RemovedComponents: []
  m_SourcePrefab: {fileID: 100100000, guid: 99628a6db7adeb64ebad4ab2dd550ad6, type: 3}
--- !u!4 &675910950832637167 stripped
  m_SourcePrefab: {fileID: 100100000, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad, type: 3}
--- !u!4 &7663500724507464268 stripped
Transform:
  m_CorrespondingSourceObject: {fileID: 6019269233228856513, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
  m_CorrespondingSourceObject: {fileID: 3190397260455246884, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
    type: 3}
  m_PrefabInstance: {fileID: 6551026705143052334}
  m_PrefabInstance: {fileID: 5052097780309765736}
  m_PrefabAsset: {fileID: 0}
--- !u!198 &675910951314242398 stripped
--- !u!198 &7663500723916369405 stripped
ParticleSystem:
  m_CorrespondingSourceObject: {fileID: 6019269231563473776, guid: 99628a6db7adeb64ebad4ab2dd550ad6,
  m_CorrespondingSourceObject: {fileID: 3190397261047448469, guid: 4fcc58d4d215bdf43807fe35b9e8f9ad,
    type: 3}
  m_PrefabInstance: {fileID: 6551026705143052334}
  m_PrefabInstance: {fileID: 5052097780309765736}
  m_PrefabAsset: {fileID: 0}
Assets/Resources/UI/Effect_Elf_Huo_DengChang_101.prefab
New file
Diff too large
Assets/Resources/UI/Effect_Elf_Huo_DengChang_101.prefab.meta
New file
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 084aa14abae8f2848b1754dd42a96c57
PrefabImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Resources/UI/Effect_Elf_Mu_DengChang_109.prefab
New file
Diff too large
Assets/Resources/UI/Effect_Elf_Mu_DengChang_109.prefab.meta
New file
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 53b785d4837c81540893df9d2e893604
PrefabImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Resources/UI/Effect_Elf_Shui_DengChang_105.prefab
New file
Diff too large
Assets/Resources/UI/Effect_Elf_Shui_DengChang_105.prefab.meta
New file
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c505e0cbb4df2334188fc4c01bdc2306
PrefabImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Resources/UI/Final/FinalPanel.prefab
@@ -49,6 +49,7 @@
  - component: {fileID: 516299254}
  - component: {fileID: 516299253}
  - component: {fileID: 516299252}
  - component: {fileID: 3197980363054477934}
  m_Layer: 5
  m_Name: Scroller
  m_TagString: Untagged
@@ -69,12 +70,12 @@
  m_Children:
  - {fileID: 332274925}
  m_Father: {fileID: 5825945650563712391}
  m_RootOrder: 9
  m_RootOrder: 7
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 1}
  m_AnchorMax: {x: 0.5, y: 1}
  m_AnchoredPosition: {x: -1.5, y: -1000}
  m_SizeDelta: {x: 711.27344, y: 640}
  m_SizeDelta: {x: 771.2734, y: 640}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &516299256
CanvasRenderer:
@@ -99,8 +100,8 @@
  scrollDirection: 0
  spacing: 25
  padding:
    m_Left: 10
    m_Right: 10
    m_Left: 40
    m_Right: 40
    m_Top: 30
    m_Bottom: 10
  loop: 0
@@ -186,6 +187,18 @@
  m_Name: 
  m_EditorClassIdentifier: 
  m_ShowMaskGraphic: 1
--- !u!225 &3197980363054477934
CanvasGroup:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 516299250}
  m_Enabled: 1
  m_Alpha: 0
  m_Interactable: 1
  m_BlocksRaycasts: 1
  m_IgnoreParentGroups: 0
--- !u!1 &2271693986087398356
GameObject:
  m_ObjectHideFlags: 0
@@ -217,23 +230,20 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children:
  - {fileID: 5646961902762380150}
  - {fileID: 6820271757256221080}
  - {fileID: 197643528144310344}
  - {fileID: 4943816522755542425}
  - {fileID: 1818325968707775638}
  - {fileID: 8661324587580357946}
  - {fileID: 3492065258373943105}
  - {fileID: 7909169244235860091}
  - {fileID: 8214016810444386803}
  - {fileID: 3950903702536346173}
  - {fileID: 516299251}
  - {fileID: 2909423727142955745}
  m_Father: {fileID: 0}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0, y: 0}
  m_AnchorMax: {x: 1, y: 1}
  m_AnchorMin: {x: 0.5, y: 0.5}
  m_AnchorMax: {x: 0.5, y: 0.5}
  m_AnchoredPosition: {x: 0, y: 0}
  m_SizeDelta: {x: 0, y: 0}
  m_SizeDelta: {x: 1080, y: 1920}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2077414507324883705
CanvasRenderer:
@@ -326,7 +336,7 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 5825945650563712391}
  m_RootOrder: 4
  m_RootOrder: 3
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 1}
  m_AnchorMax: {x: 0.5, y: 1}
@@ -405,12 +415,12 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 5825945650563712391}
  m_RootOrder: 8
  m_RootOrder: 6
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 0.5}
  m_AnchorMax: {x: 0.5, y: 0.5}
  m_AnchoredPosition: {x: -3.1, y: -590.18}
  m_SizeDelta: {x: 263.4099, y: 49.729706}
  m_AnchorMin: {x: 0.5, y: 0}
  m_AnchorMax: {x: 0.5, y: 0}
  m_AnchoredPosition: {x: -3.1, y: 369.82}
  m_SizeDelta: {x: 263.4099, y: 49.729736}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3364687659647567917
CanvasRenderer:
@@ -479,17 +489,17 @@
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3957429093911465766}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  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: 5825945650563712391}
  m_RootOrder: 10
  m_Father: {fileID: 7909169244235860091}
  m_RootOrder: 1
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 0.5}
  m_AnchorMax: {x: 0.5, y: 0.5}
  m_AnchoredPosition: {x: 115.2, y: -424.1}
  m_SizeDelta: {x: 405.58575, y: 64.630035}
  m_AnchorMin: {x: 0.5, y: 0}
  m_AnchorMax: {x: 0.5, y: 0}
  m_AnchoredPosition: {x: 115.2, y: 35}
  m_SizeDelta: {x: 405.58575, y: 64.630005}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7463909619429382955
CanvasRenderer:
@@ -708,6 +718,43 @@
  m_OnClick:
    m_PersistentCalls:
      m_Calls: []
--- !u!1 &5006132482673416349
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 4943816522755542425}
  m_Layer: 5
  m_Name: Images
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!224 &4943816522755542425
RectTransform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5006132482673416349}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 2, y: 2, z: 2}
  m_Children:
  - {fileID: 6820271757256221080}
  - {fileID: 197643528144310344}
  m_Father: {fileID: 5825945650563712391}
  m_RootOrder: 1
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 0.5}
  m_AnchorMax: {x: 0.5, y: 0.5}
  m_AnchoredPosition: {x: 0, y: 0}
  m_SizeDelta: {x: 1080, y: 1920}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &6023250998366712290
GameObject:
  m_ObjectHideFlags: 0
@@ -733,16 +780,16 @@
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6023250998366712290}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  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: 5825945650563712391}
  m_RootOrder: 7
  m_Father: {fileID: 7909169244235860091}
  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: -218.5, y: 530.2}
  m_AnchoredPosition: {x: -218.5, y: 29.299927}
  m_SizeDelta: {x: 200.58157, y: 47.86261}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1295767360570489712
@@ -812,12 +859,12 @@
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 6819379700565871762}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  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: 5825945650563712391}
  m_RootOrder: 1
  m_Father: {fileID: 4943816522755542425}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 1}
  m_AnchorMax: {x: 0.5, y: 1}
@@ -874,7 +921,7 @@
  - component: {fileID: 3351698810775391857}
  - component: {fileID: 3769021108208984057}
  m_Layer: 5
  m_Name: Image
  m_Name: Image_NewRecord
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
@@ -892,7 +939,7 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 5825945650563712391}
  m_RootOrder: 3
  m_RootOrder: 2
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 1}
  m_AnchorMax: {x: 0.5, y: 1}
@@ -967,11 +1014,11 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 5825945650563712391}
  m_RootOrder: 5
  m_RootOrder: 4
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 0.5}
  m_AnchorMax: {x: 0.5, y: 0.5}
  m_AnchoredPosition: {x: -4.4, y: 599.66}
  m_AnchorMin: {x: 0.5, y: 1}
  m_AnchorMax: {x: 0.5, y: 1}
  m_AnchoredPosition: {x: -4.4, y: -505}
  m_SizeDelta: {x: 572.84656, y: 146.90869}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8224162413350209359
@@ -1041,12 +1088,12 @@
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 8519968415981260941}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  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: 5825945650563712391}
  m_RootOrder: 2
  m_Father: {fileID: 4943816522755542425}
  m_RootOrder: 1
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 1}
  m_AnchorMax: {x: 0.5, y: 1}
@@ -1103,7 +1150,7 @@
  - component: {fileID: 139394436063301678}
  - component: {fileID: 3500119513403614750}
  m_Layer: 5
  m_Name: Image
  m_Name: Image_HScore
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
@@ -1119,9 +1166,11 @@
  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_Children:
  - {fileID: 8214016810444386803}
  - {fileID: 2909423727142955745}
  m_Father: {fileID: 5825945650563712391}
  m_RootOrder: 6
  m_RootOrder: 5
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 0}
  m_AnchorMax: {x: 0.5, y: 0}
Assets/Resources/UI/Final/FinalPanelItem.prefab
@@ -25,12 +25,12 @@
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3159367684285514522}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  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: 8311693735236508096}
  m_RootOrder: 4
  m_Father: {fileID: 7359536407882811423}
  m_RootOrder: 3
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0, y: 0.5}
  m_AnchorMax: {x: 0, y: 0.5}
@@ -160,12 +160,12 @@
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3761020362054372983}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  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: 8311693735236508096}
  m_RootOrder: 1
  m_Father: {fileID: 7359536407882811423}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0, y: 0.5}
  m_AnchorMax: {x: 0, y: 0.5}
@@ -238,15 +238,19 @@
  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_Children:
  - {fileID: 2331103944869751900}
  - {fileID: 1569594598514201795}
  - {fileID: 8306878617479166037}
  - {fileID: 4247350568657291985}
  m_Father: {fileID: 8311693735236508096}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 0.5}
  m_AnchorMax: {x: 0.5, y: 0.5}
  m_AnchorMin: {x: 0, y: 0.5}
  m_AnchorMax: {x: 0, y: 0.5}
  m_AnchoredPosition: {x: 0, y: 0}
  m_SizeDelta: {x: 696, y: 70}
  m_Pivot: {x: 0.5, y: 0.5}
  m_Pivot: {x: 0, y: 0.5}
--- !u!222 &1258189153454871389
CanvasRenderer:
  m_ObjectHideFlags: 0
@@ -314,12 +318,12 @@
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 8311693735236508096}
  m_RootOrder: 3
  m_Father: {fileID: 7359536407882811423}
  m_RootOrder: 2
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 0.5}
  m_AnchorMax: {x: 0.5, y: 0.5}
  m_AnchoredPosition: {x: 171.89, y: -0.000036478}
  m_AnchoredPosition: {x: 171.89001, y: -0.000038146973}
  m_SizeDelta: {x: 300, y: 70}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2147142016798250748
@@ -445,12 +449,12 @@
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 8306847320312959411}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  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: 8311693735236508096}
  m_RootOrder: 2
  m_Father: {fileID: 7359536407882811423}
  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}
@@ -528,10 +532,6 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children:
  - {fileID: 7359536407882811423}
  - {fileID: 2331103944869751900}
  - {fileID: 1569594598514201795}
  - {fileID: 8306878617479166037}
  - {fileID: 4247350568657291985}
  m_Father: {fileID: 0}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
Assets/Scenes/Levels/Battle/Endless.unity
@@ -9310,9 +9310,21 @@
    type: 3}
  bloodCrit: {fileID: 8440900062448590821, guid: cab622f1453af2648981d24b37b76ee9,
    type: 3}
  TowerUpgradeEffectPrefab: {fileID: 3681181936307124407, guid: 4f841d500cb4a9c4a99872c566e45c63,
  TowerUpgradeEffectPrefab: {fileID: 6847503030253729540, guid: f8ec855cfd7e13a4ebb2f2cbb8bbc480,
    type: 3}
  TowerAppearEffectPrefab: {fileID: 7075300226719811381, guid: a3ffad0742f1416499458b12a1b8187c,
  TowerAppearEffectPrefab: {fileID: 1600692593755992933, guid: 3ac90252c12eda44094c4979e1677cbf,
    type: 3}
  fireAppearEffect1: {fileID: 8028903343430182617, guid: 576127ca8c56cab4e8628fcbc592c7c8,
    type: 3}
  fireAppearEffect2: {fileID: 3022035219195848773, guid: fbd3cb7333b82a54eb55c6522c430dd9,
    type: 3}
  waterAppearEffect1: {fileID: 4758164877748642480, guid: 4699595ee5573684884dcfcbf393aaaf,
    type: 3}
  waterAppearEffect2: {fileID: 2457906007645289368, guid: 9a03cd84842d11f44aaa440c15f90338,
    type: 3}
  woodAppearEffect1: {fileID: 3480929532651610515, guid: 497d987a2bec3ff48b5a92938dfb67cd,
    type: 3}
  woodAppearEffect2: {fileID: 3060165316166712612, guid: 73de43a338bdb974aa96e782d005f153,
    type: 3}
  MinLevel: 0
  temporaryMat: {fileID: 0}
@@ -15162,10 +15174,10 @@
  m_Father: {fileID: 849284131}
  m_RootOrder: 4
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0, y: 0}
  m_AnchorMax: {x: 1, y: 1}
  m_AnchorMin: {x: 0.5, y: 0.5}
  m_AnchorMax: {x: 0.5, y: 0.5}
  m_AnchoredPosition: {x: 0, y: 0}
  m_SizeDelta: {x: 0, y: 0}
  m_SizeDelta: {x: 1080, y: 1920}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1980697785
MonoBehaviour:
Assets/Scenes/Levels/Battle/Endless2D.unity
New file
Diff too large
Assets/Scenes/Levels/Battle/Endless2D.unity.meta
New file
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0a54d162fde195c44b566174040916f3
DefaultImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Scenes/LoadingScene.unity
@@ -243,7 +243,7 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 0}
  m_RootOrder: 2
  m_RootOrder: 3
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &494017137
GameObject:
@@ -413,7 +413,7 @@
  m_Children:
  - {fileID: 2142699187}
  m_Father: {fileID: 0}
  m_RootOrder: 3
  m_RootOrder: 4
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0, y: 0}
  m_AnchorMax: {x: 0, y: 0}
@@ -598,6 +598,75 @@
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 809190789}
  m_CullTransparentMesh: 0
--- !u!1001 &826703610
PrefabInstance:
  m_ObjectHideFlags: 0
  serializedVersion: 2
  m_Modification:
    m_TransformParent: {fileID: 0}
    m_Modifications:
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalPosition.x
      value: 1417
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalPosition.y
      value: 940
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalPosition.z
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalRotation.x
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalRotation.y
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalRotation.z
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalRotation.w
      value: 1
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_RootOrder
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalEulerAnglesHint.x
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalEulerAnglesHint.y
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326715, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_LocalEulerAnglesHint.z
      value: 0
      objectReference: {fileID: 0}
    - target: {fileID: 3091314759354326717, guid: 91d321cd869bc0c47808f6fd7d755ae3,
        type: 3}
      propertyPath: m_Name
      value: ClearCamera
      objectReference: {fileID: 0}
    m_RemovedComponents: []
  m_SourcePrefab: {fileID: 100100000, guid: 91d321cd869bc0c47808f6fd7d755ae3, type: 3}
--- !u!1 &901340337
GameObject:
  m_ObjectHideFlags: 0
@@ -688,7 +757,7 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 0}
  m_RootOrder: 1
  m_RootOrder: 2
  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &1234802519
GameObject:
@@ -952,7 +1021,7 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 0}
  m_RootOrder: 4
  m_RootOrder: 5
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1592474032
GameObject:
@@ -1260,7 +1329,7 @@
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 0}
  m_RootOrder: 0
  m_RootOrder: 1
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1761314359
GameObject:
Assets/Scripts/Common/ErrorLogOnGUIMyTools.cs
@@ -19,7 +19,8 @@
            DontDestroyOnLoad(this);
            Application.logMessageReceived += (string condition, string stackTrace, LogType type) =>
            {
                m_logEntries.Add(string.Format("{0}\n{1}", condition, stackTrace));
                if (type == LogType.Error)
                    m_logEntries.Add(string.Format("{0}\n{1}", condition, stackTrace));
            };
        }
Assets/Scripts/Event/EventBase.cs
@@ -18,6 +18,9 @@
        //存放各种事件的字典
        protected Dictionary<int, Delegate> m_EventTable = new Dictionary<int, Delegate>();
        public void RemoveAllListener(){
            m_EventTable = new Dictionary<int, Delegate>();
        }
        #region 私有方法
        private void OnListenerAdding(int eventType, Delegate callback)
Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs
@@ -27,6 +27,8 @@
    void Start()
    {
        EventCenter.Ins.RemoveAllListener();
        isLogining = false;
        repairBtn = transform.Find("Panel/RepairBtn").GetComponent<Button>();
Assets/Scripts/Manager/ManagerRoot.cs
@@ -18,7 +18,7 @@
            gameObject.AddComponent<TDAA_SDKManager>();
            gameObject.AddComponent<AudioSourceManager>();
            //gameObject.AddComponent<ErrorLogOnGUIMyTools>();
            gameObject.AddComponent<ErrorLogOnGUIMyTools>();
            //gameObject.AddComponent<JsonDataReader>();
        }
Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs
@@ -158,7 +158,6 @@
            {
                EndlessUIStart.instance.SetDarkGround(true);
                Debug.Log("什么时候拖拽的");
                this.isInDragState = true;
                AudioSourceManager.Ins.Play(AudioEnum.DragTower);
                m_GameUI.CheckAllCanPlace();//检查上阵宝石有么有可以合成的位置
Assets/Scripts/TowerDefense/UI/EndlessSettlement.cs
@@ -81,7 +81,7 @@
            GameObject go = Instantiate(Resources.Load<GameObject>("UI/Final/FinalPanel"), GameObject.Find("MainUI").transform);
            FinalPanel panelUI = go.GetComponent<FinalPanel>();
            panelUI.SetData($"成绩 {EndlessLevelManager.instance.CurrentLevel}关 {EndlessLevelManager.instance.WaveManager.CurrentWaveIndex}波", EndlessScoreData.CurrentSocre);
            panelUI.SetPlayEffectAC(PlayEffect);
            GameObject.Find("BottomUI").GetComponent<Canvas>().enabled = false;
            return;
@@ -99,7 +99,7 @@
                GameObject particleSystemObject = GameObject.Find("ParticleSystemObject");
                effectObj.transform.SetParent(particleSystemObject.transform, false);
                effectObj.transform.localPosition = new Vector3(0, 0, 36.6f);
                effectObj.transform.localScale = new Vector3(3, 3, 3);
                effectObj.transform.localScale = new Vector3(6, 6, 6);
            }
            ParticleSystem ps = effectObj.transform.GetChild(0).GetComponent<ParticleSystem>();
Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -179,9 +179,11 @@
        /// </summary>
        TowerPlacementGhost m_CurrentTower;
        public bool HasTower{
            get{
                return m_CurrentTower!=null;
        public bool HasTower
        {
            get
            {
                return m_CurrentTower != null;
            }
        }
@@ -253,6 +255,14 @@
        /// </summary>
        public GameObject TowerAppearEffectPrefab;
        //首次购买宝石特效
        public GameObject fireAppearEffect1;
        public GameObject fireAppearEffect2;
        public GameObject waterAppearEffect1;
        public GameObject waterAppearEffect2;
        public GameObject woodAppearEffect1;
        public GameObject woodAppearEffect2;
        /// <summary>
        /// 保存所有生成或合成的塔的最小等级,索引0 -> 火木水塔 索引1 -> 技能塔
        /// </summary>
@@ -1590,7 +1600,7 @@
        /// <exception cref="InvalidOperationException">
        /// Throws exception if not in Build State or <see cref="m_CurrentTower"/> is not at a valid position
        /// </exception>
        public void PlaceTower(int lvl = 0, bool isUpgrade = false, bool opponent = false)
        public void PlaceTower(int lvl = 0, bool isUpgrade = false, bool opponent = false, bool isFirstAppear = false)
        {
            if (!isBuilding)
                throw new InvalidOperationException("Trying to place tower when not in a Build Mode");
@@ -1611,16 +1621,70 @@
            // River: 内部缓存数据,用于后期容易找到数据.
            addTower(createdTower);
            CancelGhostPlacement();
            if (!isUpgrade)
            if (isFirstAppear)
            {
                PlayFirstAppearEffect(createdTower.towerName, createdTower.transform.position);
            }
            else if (!isUpgrade)
            {
                PlayAppearEffect(createdTower.transform.position);
            }
            else
            {
                PlayUpgradeEffect(createdTower);
            }
            // 处理成长骰子,复制骰子等等功能.
            if (lvl == 0)
            {
                ProcessFeatureTower(createdTower);
            }
        }
        /// <summary>
        /// 播放首次宝石出现特效
        /// </summary>
        public void PlayFirstAppearEffect(string towerName, Vector3 worldPos)
        {
            if (towerName.StartsWith("GrowUpTower"))
            {
                //火元素
                PlayAppearEffect(worldPos, fireAppearEffect1);
                PlayAppearEffect(worldPos, fireAppearEffect2);
                if (Application.platform == RuntimePlatform.WindowsEditor)
                {
                    //UnityEditor.EditorApplication.isPaused = true;
                }
            }
            else if (towerName.StartsWith("BlinkTower"))
            {
                //木元素
                PlayAppearEffect(worldPos, woodAppearEffect1);
                PlayAppearEffect(worldPos, woodAppearEffect2);
            }
            else if (towerName.StartsWith("CopyCatTower"))
            {
                //水元素
                PlayAppearEffect(worldPos, waterAppearEffect1);
                PlayAppearEffect(worldPos, waterAppearEffect2);
            }
        }
        void PlayAppearEffect(Vector3 worldPos, GameObject prefab)
        {
            GameObject obj = Instantiate(prefab);
            obj.transform.position = worldPos;
            Vector3 pos = obj.transform.position;
            pos.y += 5f;
            obj.transform.position = pos;
            ParticleSystem ps = obj.GetComponent<ParticleSystem>();
            if (ps == null)
                ps = obj.transform.GetChild(0).GetComponent<ParticleSystem>();
            ps.Play();
            Destroy(obj, ps.main.duration);
        }
        /// <summary>
@@ -1789,7 +1853,7 @@
            if (placeObj != null)
            {
                m_CurrentArea = placeObj.GetComponent<IPlacementArea>();
                dragTowerPlacement = placeObj.GetComponent<IPlacementArea>() as TowerPlacementGridEndless;
                dragTowerPlacement = placeObj.GetComponent<IPlacementArea>() as TowerPlacementGridEndless;
            }
            placeObj = GameObject.FindGameObjectWithTag("PlaceTowerOpponent");
            EventCenter.Ins.Add((int)KTGMGemClient.EventType.EndlessHeartAllLose, AllHeartLose);
@@ -1834,7 +1898,7 @@
        /// 直接在IPlaceArea上随机放置一个Tower。这是随机放置塔防的入口类。这是入口的塔防类。
        /// </summary>
        /// <param name="tow"></param>
        public bool RandomPlaceTower(Tower tow, int posx = -1, int posy = -1, int lvl = 0, int forceCost = -1, bool isUpgrade = false)
        public bool RandomPlaceTower(Tower tow, int posx = -1, int posy = -1, int lvl = 0, int forceCost = -1, bool isUpgrade = false, bool isFirstAppear = false)
        {
            // 获取IPlaceArea.
            if (m_CurrentArea == null)
@@ -1898,7 +1962,7 @@
                    OnSuccessBuyTower();
                SetState(State.Building);
                PlaceTower(lvl, isUpgrade);
                PlaceTower(lvl, isUpgrade, false, isFirstAppear);
            }
            return true;
@@ -2295,7 +2359,20 @@
        /// <param name="worldPos">世界坐标</param>
        public void PlayToAttackEffect(int attributeId, Vector3 worldPos)
        {
            string path = $"UI/ToBattle_{attributeId}";
            string path = "";
            if (attributeId == 101)
            {
                path = "UI/Effect_Elf_Huo_DengChang_101";
            }
            else if (attributeId == 105)
            {
                path = "UI/Effect_Elf_Shui_DengChang_105";
            }
            else if (attributeId == 109)
            {
                path = "UI/Effect_Elf_Mu_DengChang_109";
            }
            GameObject prefab = Resources.Load<GameObject>(path);
            GameObject obj = Instantiate(prefab);
            obj.transform.position = worldPos;
Assets/Scripts/TowerDefense/UI/HUD/EndlessRandomTower.cs
@@ -314,14 +314,52 @@
        if (!newTower)
            throw new Exception("未能成功产生Tower");
        RandomPlaceTower(newTower);
        if (newTower.towerFeature == EFeatureTower.NULL)
        {
            string tmpTowerName = newTower.towerName;
            towerNameLis.Add(tmpTowerName);
            int count = 0;
            bool isFirstBuy = true;
            for (int i = 0; i < towerNameLis.Count; i++)
            {
                if (towerNameLis[i] == tmpTowerName)
                {
                    count++;
                    if (count == 2)
                    {
                        isFirstBuy = false;
                        break;
                    }
                }
            }
            if (isFirstBuy)
            {
                //Debug.Log("首次购买:" + tmpTowerName);
            }
            else
            {
                //Debug.Log("购买了多次了:" + tmpTowerName);
            }
            RandomPlaceTower(newTower, -1, -1, -1, -1, isFirstBuy);
        }
        else
        {
            RandomPlaceTower(newTower, -1, -1, -1, -1, false);
        }
    }
    private List<string> towerNameLis = new List<string>();//用来判断是否是首次购买宝石
    /// <summary>
    /// 随机找一个空白位置放置塔防
    /// </summary>
    /// <param name="tower"></param>
    public bool RandomPlaceTower(Tower tower, int level = -1, int cost = -1, int posx = -1, int posy = -1)
    public bool RandomPlaceTower(Tower tower, int level = -1, int cost = -1, int posx = -1, int posy = -1, bool isFirstAppear = false)
    {
        EndlessGameUI gameUI = EndlessGameUI.instance;
@@ -339,7 +377,7 @@
                level = 0;
        }
        return gameUI.RandomPlaceTower(tower, posx, posy, level, cost);
        return gameUI.RandomPlaceTower(tower, posx, posy, level, cost, false, isFirstAppear);
    }
    /// <summary>
Assets/Scripts/UI/FinalPanel/FinalPanel.cs
@@ -1,10 +1,13 @@
using UnityEngine.UI;
using System.Collections;
using UnityEngine.UI;
using UnityEngine;
using EnhancedUI;
using EnhancedUI.EnhancedScroller;
using TMPro;
using UnityEngine.SceneManagement;
using KTGMGemClient;
using DG.Tweening;
using System;
public class FinalPanel : MonoBehaviour, IEnhancedScrollerDelegate
{
@@ -18,20 +21,39 @@
    [SerializeField]
    private Sprite rank_icon_0, rank_icon_1, rank_icon_2;
    public string endlessGameScene = "Endless";
    public string loadingScene = "LoadingScene";
    Button closeBtn;
    // Start is called before the first frame update
    void Start()
    {
        transform.Find("BackGround").GetComponent<Button>().onClick.AddListener(() =>
        closeBtn = transform.Find("BackGround").GetComponent<Button>();
        closeBtn.onClick.AddListener(() =>
        {
            gameObject.SetActive(false);
            GameConfig.NextSceneName = endlessGameScene;
            SceneManager.LoadScene(loadingScene);
        });
        closeBtn.interactable = false;
    }
    Text waveText;
    GameObject image_HScore;
    Text scoreText;
    GameObject image_NewRecord;
    bool isNewH = false;
    int hScore;
    CanvasGroup scrollerCanvasGroup;
    Action playEffectAC = null;
    /// <summary>
    /// 设置播放胜利特效
    /// </summary>
    /// <param name="ac"></param>
    public void SetPlayEffectAC(Action ac)
    {
        playEffectAC = ac;
    }
    /// <summary>
@@ -41,26 +63,110 @@
    /// <param name="myScore">789220</param>
    public void SetData(string waveInfo, int myScore)
    {
        transform.Find("Text_Wave").GetComponent<Text>().text = waveInfo;
        int hScore = PlayerPrefs.GetInt("GemBattleHScore");
        hScore = PlayerPrefs.GetInt("GemBattleHScore");
        scrollerCanvasGroup = transform.Find("Scroller").GetComponent<CanvasGroup>();
        if (myScore > hScore)
        {
            PlayerPrefs.SetInt("GemBattleHScore", myScore);
            hScore = myScore;
            isNewH = true;
        }
        transform.Find("Text_Score").GetComponent<Text>().text = myScore.ToString();
        transform.Find("Text_HScore").GetComponent<TextMeshProUGUI>().text = hScore.ToString();
        transform.Find("Image_HScore/Text_HScore").GetComponent<TextMeshProUGUI>().text = hScore.ToString();
        image_HScore = transform.Find("Image_HScore").gameObject;
        image_HScore.SetActive(false);
        scroller = transform.Find("Scroller").GetComponent<EnhancedScroller>();
        waveText = transform.Find("Text_Wave").GetComponent<Text>();
        scoreText = transform.Find("Text_Score").GetComponent<Text>();
        waveText.gameObject.SetActive(false);
        scoreText.gameObject.SetActive(false);
        scroller.Delegate = this;
        image_NewRecord = transform.Find("Image_NewRecord").gameObject;
        image_NewRecord.SetActive(false);
        LoadLargeData(hScore);
        Transform ts = transform.Find("Images");
        Sequence agentTweenSeq = DOTween.Sequence();
        agentTweenSeq.Append(ts.DOScale(Vector3.one, 0.2f));//变化图片大小
        agentTweenSeq.Append(ts.DOScale(new Vector3(1.7f, 1.7f, 1.7f), 0.2f));//变化图片大小
        agentTweenSeq.Append(ts.DOScale(Vector3.one, 0.2f));//变化图片大小
        agentTweenSeq.Append(ts.DOScale(new Vector3(1.2f, 1.2f, 1.2f), 0.2f));//变化图片大小
        agentTweenSeq.Append(ts.DOScale(Vector3.one, 0.2f));//变化图片大小
        agentTweenSeq.AppendCallback(StartLoadLargeData);
        agentTweenSeq.Append(DOTween.To(delegate (float value)
        {
            var temp = Math.Floor(value);
            scoreText.text = temp + "";
        }, 0, myScore, 3.0f));
        agentTweenSeq.AppendCallback(TextDoTweenFinish);
        agentTweenSeq.Append(waveText.DOText(waveInfo, 0.2f));
    }
    /// <summary>
    /// 开始展示排行榜
    /// </summary>
    protected void StartLoadLargeData()
    {
        scoreText.gameObject.SetActive(true);
        LoadLargeData(hScore);
        StartCoroutine(PlayerItemDoTween());
    }
    /// <summary>
    /// 播放排行榜动效
    /// </summary>
    /// <returns></returns>
    IEnumerator PlayerItemDoTween()
    {
        yield return 1f;
        FinalPanelItem[] allItems = transform.Find("Scroller/Container").GetComponentsInChildren<FinalPanelItem>();
        for (int i = 0; i < allItems.Length; i++)
        {
            allItems[i].SetPos();
        }
        yield return new WaitForEndOfFrame();
        scrollerCanvasGroup.alpha = 1;
        for (int i = 0; i < allItems.Length; i++)
        {
            allItems[i].PlayDoTween(0.1f);
            yield return new WaitForSeconds(0.1f);
        }
        image_HScore.SetActive(true);
        yield break;
    }
    /// <summary>
    /// 文字显示结束,显示波次和是否最高记录
    /// </summary>
    protected void TextDoTweenFinish()
    {
        waveText.gameObject.SetActive(true);
        if (isNewH)
        {
            image_NewRecord.SetActive(true);
        }
        if (playEffectAC != null)
        {
            playEffectAC();
        }
        closeBtn.interactable = true;
    }
    /// <summary>
    /// 生成假排行榜
    /// </summary>
    /// <param name="hScore">自身分数</param>
    private void LoadLargeData(int hScore)
    {
        scroller = transform.Find("Scroller").GetComponent<EnhancedScroller>();
        scroller.Delegate = this;
        _data = new SmallList<FinalPanelItemData>();
        FinalPanelItemData data;
        int score = 101;
Assets/Scripts/UI/FinalPanel/FinalPanelItem.cs
@@ -1,6 +1,7 @@
using UnityEngine.UI;
using EnhancedUI.EnhancedScroller;
using TMPro;
using DG.Tweening;
public class FinalPanelItem : EnhancedScrollerCellView
{
    public Text playerNameTxt;
@@ -28,4 +29,15 @@
        backGround.sprite = data.spriteBackGround;
    }
    public void SetPos()
    {
        backGround.rectTransform.anchoredPosition = new UnityEngine.Vector2(720, 0);
    }
    public void PlayDoTween(float duration)
    {
        Sequence agentTweenSeq = DOTween.Sequence();
        agentTweenSeq.Append(backGround.rectTransform.DOAnchorPosX(0, duration));
    }
}
ProjectSettings/TagManager.asset
@@ -26,7 +26,7 @@
  - GroundEnemyTargettingProjectiles
  - BattleAreaLayer
  - SystemParticleLayer
  -
  - BackGroundLayer
  - 
  - 
  -