From 16072ec5c78cf2f183ef5cbdddeb34416225a9ea Mon Sep 17 00:00:00 2001
From: River Jiang <546213258@qq.com>
Date: Wed, 21 Oct 2020 15:07:55 +0800
Subject: [PATCH] 加入玉米动画

---
 Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs        |    8 
 Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat.meta |    8 
 Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png.meta      |  118 ++++++
 Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png           |    0 
 Assets/Prefabs/Towers/Fire/GrowUpTower_3.prefab                |    2 
 Assets/Materials/PVPTD/MonsterMat/fire_oppo.png.meta           |    6 
 Assets/Prefabs/Towers/Fire/GrowUpTower_4.prefab                |    2 
 Assets/Scripts/TowerDefense/Towers/Tower.cs                    |   39 ++
 Assets/Prefabs/UI/BulletUI.prefab                              |    1 
 Assets/Materials/PVPTD/Materials/SheetAnim.mat.meta            |    8 
 Assets/Materials/Shader.meta                                   |    8 
 Assets/Materials/PVPTD/MonsterMat/Anim.png                     |    0 
 Assets/Prefabs/Towers/Fire/GrowUpTower_1.prefab                |    4 
 Assets/Materials/PVPTD/MonsterMat/Anim.png.meta                |  118 ++++++
 Assets/Prefabs/Towers/Fire/GrowUpTower_2.prefab                |    2 
 Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png         |    0 
 Assets/Scripts/TowerDefense/UI/BulletUICtl.cs                  |   32 +
 Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat.meta |    8 
 Assets/Prefabs/Towers/Fire/GrowUpTower.prefab                  |   23 
 Assets/Scripts/TowerDefense/Towers/TowerLevel.cs               |   22 
 Assets/Prefabs/Towers/Fire/GrowUpTower_0.prefab                |    2 
 Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat         |   81 ++++
 Assets/Materials/Shader/TexAnimation.shader.meta               |    9 
 Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat       |   81 ++++
 Assets/Materials/PVPTD/Materials/SheetAnim.mat                 |  100 +++++
 Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat.meta    |    8 
 Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat      |   81 ++++
 Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat.meta  |    8 
 Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png.meta    |  118 ++++++
 Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat      |   78 ++++
 Assets/Materials/Shader/TexAnimation.shader                    |   82 ++++
 Assets/Scripts/TowerDefense/Affectors/Affector.cs              |    6 
 Assets/Scenes/Levels/Battle/GemBattle.unity                    |   20 
 33 files changed, 1,047 insertions(+), 36 deletions(-)

diff --git a/Assets/Materials/PVPTD/Materials/SheetAnim.mat b/Assets/Materials/PVPTD/Materials/SheetAnim.mat
new file mode 100644
index 0000000..5d09a49
--- /dev/null
+++ b/Assets/Materials/PVPTD/Materials/SheetAnim.mat
@@ -0,0 +1,100 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: SheetAnim
+  m_Shader: {fileID: 4800000, guid: c00c30c0ead4b7541b8bd8219a17fcc0, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 0
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 1
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 87e7b1739c34f954a84bc403d667b2ed, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BlendOp: 0
+    - _BumpScale: 1
+    - _CameraFadingEnabled: 0
+    - _CameraFarFadeDistance: 2
+    - _CameraNearFadeDistance: 1
+    - _ColorMode: 0
+    - _Cull: 2
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DistortionBlend: 0.5
+    - _DistortionEnabled: 0
+    - _DistortionStrength: 1
+    - _DistortionStrengthScaled: 0
+    - _DstBlend: 0
+    - _EmissionEnabled: 0
+    - _FlipbookMode: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _HorizontalAmount: 8
+    - _LightingEnabled: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SoftParticlesEnabled: 0
+    - _SoftParticlesFarFadeDistance: 1
+    - _SoftParticlesNearFadeDistance: 0
+    - _SpecularHighlights: 1
+    - _Speed: 2
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _VerticalAmount: 8
+    - _ZWrite: 1
+    m_Colors:
+    - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
+  m_BuildTextureStacks: []
diff --git a/Assets/Materials/PVPTD/Materials/SheetAnim.mat.meta b/Assets/Materials/PVPTD/Materials/SheetAnim.mat.meta
new file mode 100644
index 0000000..f67130a
--- /dev/null
+++ b/Assets/Materials/PVPTD/Materials/SheetAnim.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f4bd12a931d6bd344838a0eaf9bc250a
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat b/Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat
new file mode 100644
index 0000000..a96c121
--- /dev/null
+++ b/Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat
@@ -0,0 +1,81 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: fire_self_attackMat
+  m_Shader: {fileID: 4800000, guid: c00c30c0ead4b7541b8bd8219a17fcc0, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 6db6f567b39489d40b7b32d00cd7a9a0, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _HorizontalAmount: 4
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _Speed: 8
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _VerticalAmount: 2
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []
diff --git a/Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat.meta b/Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat.meta
new file mode 100644
index 0000000..21cd4af
--- /dev/null
+++ b/Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 56734acd3a9832f458892e0ba6f1901b
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat b/Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat
new file mode 100644
index 0000000..f930bad
--- /dev/null
+++ b/Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat
@@ -0,0 +1,81 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: fire_self_waitMat
+  m_Shader: {fileID: 4800000, guid: c00c30c0ead4b7541b8bd8219a17fcc0, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 6ad66871bcd459d45bc16915b27a2670, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _HorizontalAmount: 4
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _Speed: 8
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _VerticalAmount: 1
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []
diff --git a/Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat.meta b/Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat.meta
new file mode 100644
index 0000000..ed7225a
--- /dev/null
+++ b/Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 492ec3bf4cc3d7c4ca1649716bf69377
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Materials/PVPTD/MonsterMat/Anim.png b/Assets/Materials/PVPTD/MonsterMat/Anim.png
new file mode 100644
index 0000000..eb40c40
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/Anim.png
Binary files differ
diff --git a/Assets/Materials/PVPTD/MonsterMat/Anim.png.meta b/Assets/Materials/PVPTD/MonsterMat/Anim.png.meta
new file mode 100644
index 0000000..f79b29b
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/Anim.png.meta
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: 87e7b1739c34f954a84bc403d667b2ed
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  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: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat b/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat
new file mode 100644
index 0000000..9bc82c5
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat
@@ -0,0 +1,78 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: fireMonMat_animOppo
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []
diff --git a/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat.meta b/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat.meta
new file mode 100644
index 0000000..f575aa9
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6a0c910afa1b24749a24a17e4b534534
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat b/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat
new file mode 100644
index 0000000..bfe0e30
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat
@@ -0,0 +1,81 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: fireMonMat_animSelf
+  m_Shader: {fileID: 4800000, guid: c00c30c0ead4b7541b8bd8219a17fcc0, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 87e7b1739c34f954a84bc403d667b2ed, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _HorizontalAmount: 4
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _Speed: 8
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _VerticalAmount: 2
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []
diff --git a/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat.meta b/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat.meta
new file mode 100644
index 0000000..e15fdce
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 65706b9ab6be2dc45bde7720914dd662
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Materials/PVPTD/MonsterMat/fire_oppo.png.meta b/Assets/Materials/PVPTD/MonsterMat/fire_oppo.png.meta
index 01ffb79..f90f942 100644
--- a/Assets/Materials/PVPTD/MonsterMat/fire_oppo.png.meta
+++ b/Assets/Materials/PVPTD/MonsterMat/fire_oppo.png.meta
@@ -35,9 +35,9 @@
     filterMode: 0
     aniso: -1
     mipBias: -100
-    wrapU: 1
-    wrapV: 1
-    wrapW: 1
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
   nPOTScale: 0
   lightmap: 0
   compressionQuality: 50
diff --git a/Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png b/Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png
new file mode 100644
index 0000000..d2c90d4
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png
Binary files differ
diff --git a/Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png.meta b/Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png.meta
new file mode 100644
index 0000000..c92765b
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png.meta
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: 6db6f567b39489d40b7b32d00cd7a9a0
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  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: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  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: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png b/Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png
new file mode 100644
index 0000000..d6215b4
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png
Binary files differ
diff --git a/Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png.meta b/Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png.meta
new file mode 100644
index 0000000..96fc50d
--- /dev/null
+++ b/Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png.meta
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: 6ad66871bcd459d45bc16915b27a2670
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  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: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  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: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Materials/Shader.meta b/Assets/Materials/Shader.meta
new file mode 100644
index 0000000..b440aec
--- /dev/null
+++ b/Assets/Materials/Shader.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1bdbfa3720a6f9843974327e9e6cdf89
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Materials/Shader/TexAnimation.shader b/Assets/Materials/Shader/TexAnimation.shader
new file mode 100644
index 0000000..655c90c
--- /dev/null
+++ b/Assets/Materials/Shader/TexAnimation.shader
@@ -0,0 +1,82 @@
+
+Shader "MyShader/ImageSequenceAnimation"
+{
+	Properties
+	{
+		_Color("Color Tint",Color) = (1,1,1,1)
+		_MainTex("Image Sequence", 2D) = "white" {}
+		_HorizontalAmount("Horizontal Amount",Float) = 8
+		_VerticalAmount("Vertical Amount",Float) = 8
+		_Speed("Speed",Range(1,150)) = 30
+	}
+	SubShader
+	{
+		Tags{"Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent"}
+		Pass
+		{
+			Tags{"LightMode" = "ForwardBase"}
+
+			ZWrite Off
+			Blend SrcAlpha OneMinusSrcAlpha
+
+			CGPROGRAM
+
+			#pragma vertex vert
+			#pragma fragment frag
+			#include "Lighting.cginc"
+
+			fixed4 _Color;
+			sampler2D _MainTex;
+			float4 _MainTex_ST;
+			float _HorizontalAmount;
+			float _VerticalAmount;
+			float _Speed;
+
+			struct a2v
+			{
+				float4 vertex:POSITION;
+				float2 texcoord:TEXCOORD0;
+			};
+
+			struct v2f
+			{
+				float4 pos:SV_POSITION;
+				float2 uv:TEXCOORD0;
+			};
+
+			v2f vert(a2v v)
+			{
+				v2f o;
+				o.pos = UnityObjectToClipPos(v.vertex);
+				o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
+				return o;
+			}
+
+			fixed4 frag(v2f i) :SV_Target
+			{
+				float time = floor(_Time.y * _Speed);
+				float row = floor(time / _HorizontalAmount);
+				float column = time - row * _HorizontalAmount;
+				//--
+					//half2 uv = float2(i.uv.x / _HorizontalAmount, i.uv.y / _VerticalAmount);
+					//uv.x += column / _HorizontalAmount;
+					//uv.y -= row / _VerticalAmount;
+				//    --
+
+				//--
+				half2 uv = i.uv + half2(column, -row);
+				uv.x /= _HorizontalAmount;
+				uv.y /= _VerticalAmount;
+				//--
+
+				fixed4 c = tex2D(_MainTex, uv);
+				c.rgb *= _Color;
+
+				return c;
+			}
+
+			ENDCG
+		}
+	}
+	Fallback "Transparent/VertexLit"
+}
\ No newline at end of file
diff --git a/Assets/Materials/Shader/TexAnimation.shader.meta b/Assets/Materials/Shader/TexAnimation.shader.meta
new file mode 100644
index 0000000..c513aef
--- /dev/null
+++ b/Assets/Materials/Shader/TexAnimation.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c00c30c0ead4b7541b8bd8219a17fcc0
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  nonModifiableTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Prefabs/Towers/Fire/GrowUpTower.prefab b/Assets/Prefabs/Towers/Fire/GrowUpTower.prefab
index 6e5976a..acb67b2 100644
--- a/Assets/Prefabs/Towers/Fire/GrowUpTower.prefab
+++ b/Assets/Prefabs/Towers/Fire/GrowUpTower.prefab
@@ -110,26 +110,31 @@
   poisonTex: {fileID: 0}
   frozenTex: {fileID: 0}
   commonTex: {fileID: 0}
+  towerName: GrowUpTower
+  dimensions:
+    x: 1
+    y: 1
+  towerFeature: 0
+  materialMonsterSelf: {fileID: 2100000, guid: 65706b9ab6be2dc45bde7720914dd662, type: 2}
+  materialMonsterOppo: {fileID: 2100000, guid: 005b2213e521ef04a9f51bde68b9735f, type: 2}
+  materialTowerAttackSelf: {fileID: 2100000, guid: 56734acd3a9832f458892e0ba6f1901b,
+    type: 2}
+  materialTowerWaitSelf: {fileID: 2100000, guid: 492ec3bf4cc3d7c4ca1649716bf69377,
+    type: 2}
+  eTowerFuntion: 1
+  bulletCtl: {fileID: 0}
   levels:
   - {fileID: 114779466188146336, guid: 0ead2ba21a4e3e84e9bca834100c4456, type: 3}
   - {fileID: 114056922861069036, guid: 538d7be2cf35d90438a4c101023e8839, type: 3}
   - {fileID: 114683032773000130, guid: d2b30bda72c5af749b1cd014f1cd871f, type: 3}
   - {fileID: 114683032773000130, guid: 54bfb565a1d898c4e9107b949981cc9c, type: 3}
   - {fileID: 114683032773000130, guid: 23c8e8148828aba4ca7113aabaf73d20, type: 3}
-  towerName: GrowUpTower
-  dimensions:
-    x: 1
-    y: 1
-  towerFeature: 0
-  eTowerFuntion: 1
-  materialMonsterSelf: {fileID: 2100000, guid: e4a344b484251ce4e8b5f18e0618e647, type: 2}
-  materialMonsterOppo: {fileID: 2100000, guid: 005b2213e521ef04a9f51bde68b9735f, type: 2}
-  bDoubleHitElit: 0
   attributeId: 101
   uiImage: {fileID: 21300000, guid: 9e3de4693b87558498eceb6c232005e2, type: 3}
   enemyLayerMask:
     serializedVersion: 2
     m_Bits: 4294967295
+  bDoubleHitElit: 0
 --- !u!65 &65801875245033440
 BoxCollider:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Towers/Fire/GrowUpTower_0.prefab b/Assets/Prefabs/Towers/Fire/GrowUpTower_0.prefab
index f4d878b..45a7090 100644
--- a/Assets/Prefabs/Towers/Fire/GrowUpTower_0.prefab
+++ b/Assets/Prefabs/Towers/Fire/GrowUpTower_0.prefab
@@ -161,7 +161,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1430798241748466}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0.1538, z: 0}
+  m_LocalPosition: {x: 0, y: 0.15, z: 0.77}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 4877050138446582}
diff --git a/Assets/Prefabs/Towers/Fire/GrowUpTower_1.prefab b/Assets/Prefabs/Towers/Fire/GrowUpTower_1.prefab
index dc7a98d..85f07c4 100644
--- a/Assets/Prefabs/Towers/Fire/GrowUpTower_1.prefab
+++ b/Assets/Prefabs/Towers/Fire/GrowUpTower_1.prefab
@@ -9612,7 +9612,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1373619305943026}
   m_LocalRotation: {x: 0.0009147092, y: 0.0016288152, z: -0.0014009047, w: 0.9999973}
-  m_LocalPosition: {x: 0, y: -0, z: 0}
+  m_LocalPosition: {x: 0, y: 0.15, z: 0.77}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 4861835295132458}
@@ -62620,7 +62620,7 @@
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 2100000, guid: cc66d767889529f408583abd001b56de, type: 2}
+  - {fileID: 2100000, guid: 94110c9a997a3cf4d971aa75155f5351, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
diff --git a/Assets/Prefabs/Towers/Fire/GrowUpTower_2.prefab b/Assets/Prefabs/Towers/Fire/GrowUpTower_2.prefab
index 8cf7c51..b9b512c 100644
--- a/Assets/Prefabs/Towers/Fire/GrowUpTower_2.prefab
+++ b/Assets/Prefabs/Towers/Fire/GrowUpTower_2.prefab
@@ -28942,7 +28942,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1788557851062624}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalPosition: {x: 0, y: 0.15, z: 0.77}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 4221898185616454}
diff --git a/Assets/Prefabs/Towers/Fire/GrowUpTower_3.prefab b/Assets/Prefabs/Towers/Fire/GrowUpTower_3.prefab
index 205a799..9ae9194 100644
--- a/Assets/Prefabs/Towers/Fire/GrowUpTower_3.prefab
+++ b/Assets/Prefabs/Towers/Fire/GrowUpTower_3.prefab
@@ -28942,7 +28942,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1788557851062624}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalPosition: {x: 0, y: 0.15, z: 0.77}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 4221898185616454}
diff --git a/Assets/Prefabs/Towers/Fire/GrowUpTower_4.prefab b/Assets/Prefabs/Towers/Fire/GrowUpTower_4.prefab
index 51a8346..63a1b8f 100644
--- a/Assets/Prefabs/Towers/Fire/GrowUpTower_4.prefab
+++ b/Assets/Prefabs/Towers/Fire/GrowUpTower_4.prefab
@@ -28942,7 +28942,7 @@
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1788557851062624}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalPosition: {x: 0, y: 0.15, z: 0.77}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 4221898185616454}
diff --git a/Assets/Prefabs/UI/BulletUI.prefab b/Assets/Prefabs/UI/BulletUI.prefab
index d690f05..10bfa0d 100644
--- a/Assets/Prefabs/UI/BulletUI.prefab
+++ b/Assets/Prefabs/UI/BulletUI.prefab
@@ -91,6 +91,7 @@
   m_EditorClassIdentifier: 
   bulletScaleMask: {fileID: 4636030447972189695}
   fAdjValue: 0.008
+  maxBulletNum: 6
 --- !u!1 &4636030447972189693
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/Levels/Battle/GemBattle.unity b/Assets/Scenes/Levels/Battle/GemBattle.unity
index 96d5ef0..f2b5e5e 100644
--- a/Assets/Scenes/Levels/Battle/GemBattle.unity
+++ b/Assets/Scenes/Levels/Battle/GemBattle.unity
@@ -1653,7 +1653,7 @@
   - {fileID: 1776264327}
   - {fileID: 512550108}
   m_Father: {fileID: 925045745}
-  m_RootOrder: 4
+  m_RootOrder: 9
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -4579,7 +4579,7 @@
   m_Children:
   - {fileID: 1172682253}
   m_Father: {fileID: 925045745}
-  m_RootOrder: 1
+  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}
@@ -4964,7 +4964,7 @@
   - {fileID: 1457595363}
   - {fileID: 1810904458}
   m_Father: {fileID: 925045745}
-  m_RootOrder: 8
+  m_RootOrder: 7
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 1, y: 1}
@@ -5901,7 +5901,7 @@
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 925045745}
-  m_RootOrder: 9
+  m_RootOrder: 8
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -8245,12 +8245,14 @@
   m_Children:
   - {fileID: 992080607}
   - {fileID: 783401285}
-  - {fileID: 157945768}
+  - {fileID: 441929933}
+  - {fileID: 998930542}
   - {fileID: 996808778}
   - {fileID: 1571374742}
   - {fileID: 1622783961}
   - {fileID: 508973503}
   - {fileID: 624594681}
+  - {fileID: 157945768}
   m_Father: {fileID: 0}
   m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -8984,7 +8986,7 @@
   m_Children:
   - {fileID: 851418740}
   m_Father: {fileID: 925045745}
-  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}
@@ -9060,7 +9062,7 @@
   m_Children:
   - {fileID: 1474713017}
   m_Father: {fileID: 925045745}
-  m_RootOrder: 2
+  m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -13212,7 +13214,7 @@
   m_Children:
   - {fileID: 114205549}
   m_Father: {fileID: 925045745}
-  m_RootOrder: 6
+  m_RootOrder: 5
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -13856,7 +13858,7 @@
   - {fileID: 1006785496}
   - {fileID: 2029757850}
   m_Father: {fileID: 925045745}
-  m_RootOrder: 7
+  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}
diff --git a/Assets/Scripts/TowerDefense/Affectors/Affector.cs b/Assets/Scripts/TowerDefense/Affectors/Affector.cs
index 0e3394d..c97bd72 100644
--- a/Assets/Scripts/TowerDefense/Affectors/Affector.cs
+++ b/Assets/Scripts/TowerDefense/Affectors/Affector.cs
@@ -1,4 +1,5 @@
 using Core.Health;
+using TowerDefense.Towers;
 using UnityEngine;
 
 namespace TowerDefense.Affectors
@@ -31,6 +32,11 @@
 
 
 		/// <summary>
+		/// 当前Affactor对应的Tower指针.
+		/// </summary>
+		public Tower towerPtr { get; set; }
+
+		/// <summary>
 		/// Initializes the effect with search data
 		/// </summary>
 		/// <param name="affectorAlignment">
diff --git a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
index 2cb58cf..43013f7 100644
--- a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
+++ b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
@@ -260,8 +260,14 @@
 			m_TrackingEnemy = targetter.GetTarget( waveLineID, bWoodAffector );
 			if (m_TrackingEnemy == null)
 			{
+				if (this.towerPtr) 
+					towerPtr.setTowerState(false);
 				return;
-			}
+			}else
+            {
+				if (this.towerPtr) 
+					towerPtr.setTowerState(true);
+            }
 
 			if (isMultiAttack)
 			{
diff --git a/Assets/Scripts/TowerDefense/Towers/Tower.cs b/Assets/Scripts/TowerDefense/Towers/Tower.cs
index 9b7d72b..d354c9a 100644
--- a/Assets/Scripts/TowerDefense/Towers/Tower.cs
+++ b/Assets/Scripts/TowerDefense/Towers/Tower.cs
@@ -58,9 +58,21 @@
         public Material materialMonsterOppo;
 
         /// <summary>
+        /// 当前塔防对应的攻击和等待Mat.
+        /// </summary>
+        public Material materialTowerAttackSelf;
+        public Material materialTowerWaitSelf;
+
+        /// <summary>
+        /// 0 空状态  1 等待状态  2 攻击状态.
+        /// </summary>
+        protected int curActionState = 0;
+
+        /// <summary>
         /// 塔防对应的充能状态.
         /// </summary>
         public ETowerFuntion eTowerFuntion = ETowerFuntion.NULL;
+        public BulletUICtl bulletCtl = null;
 
         /// <summary>
         /// The tower levels associated with this tower
@@ -120,6 +132,23 @@
             get { return currentLevel == levels.Length - 1; }
         }
 
+        public void setTowerState(bool attack)
+        {
+            if (!materialTowerAttackSelf) return;
+
+            if (attack && (this.curActionState != 2))
+            {
+                currentTowerLevel.SetTowerMonsterMat(materialTowerAttackSelf);
+                this.curActionState = 2;
+            }
+
+            if ((!attack) && (this.curActionState != 1))
+            {
+                currentTowerLevel.SetTowerMonsterMat(materialTowerWaitSelf);
+                this.curActionState = 1;
+            }
+        }
+
         /// <summary>
         /// 是否是对手塔防
         /// </summary>
@@ -142,7 +171,11 @@
                     if (opponentSide)
                         currentTowerLevel.SetTowerMonsterMat(materialMonsterOppo);
                     else
+                    {
                         currentTowerLevel.SetTowerMonsterMat(materialMonsterSelf);
+                        this.setTowerState(false);
+                    }
+                        
 
                     if (opponentSide)
                     {
@@ -163,12 +196,16 @@
                     }
 
                     // 
-                    // 根据是否是子弹塔防来决定是否显示相应的界面.WORK START: 处理出来下一步的子弹减少和对应的充子弹时间.
+                    // 根据是否是子弹塔防来决定是否显示相应的界面
                     if (this.eTowerFuntion == ETowerFuntion.BULLET)
                     {
                         BulletUICtl buc = this.placementArea.GetBulletUICtl(gridPosition.x);
                         if (buc)
+                        {
                             buc.gameObject.SetActive(true);
+                            this.bulletCtl = buc;
+                            buc.resetToMaxBullet();
+                        }  
                     }
                 }
 
diff --git a/Assets/Scripts/TowerDefense/Towers/TowerLevel.cs b/Assets/Scripts/TowerDefense/Towers/TowerLevel.cs
index 49eab2e..5f886c3 100644
--- a/Assets/Scripts/TowerDefense/Towers/TowerLevel.cs
+++ b/Assets/Scripts/TowerDefense/Towers/TowerLevel.cs
@@ -46,6 +46,11 @@
 		Affector[] m_Affectors;
 
 		/// <summary>
+		/// TEST CODE: 是否已经缩放.
+		/// </summary>
+		protected bool bScaleForCombat = false;
+
+		/// <summary>
 		/// Gets the list of effects attached to the tower
 		/// </summary>
 		protected Affector[] Affectors
@@ -123,7 +128,7 @@
 			foreach (Affector effect in Affectors)
 			{
 				effect.Initialize(alignment, mask);
-			    
+				effect.towerPtr = tower;
 			}
 			m_ParentTower = tower;
 		}
@@ -142,11 +147,16 @@
 				{
 					t.GetComponent<MeshRenderer>().material = mat;
 					Vector3 scale = t.localScale;
-					scale.z *= 1.267f;
-					t.localScale = scale;
-					Vector3 pos = t.localPosition;
-					pos.z -= 0.2f;
-					t.localPosition = pos;
+					
+					if( !this.bScaleForCombat)
+                    {
+						scale.z *= 1.267f;
+						t.localScale = scale;
+						Vector3 pos = t.localPosition;
+						pos.z -= 0.2f;
+						t.localPosition = pos;
+						bScaleForCombat = true;
+					}
 				}
 			}
 		}
diff --git a/Assets/Scripts/TowerDefense/UI/BulletUICtl.cs b/Assets/Scripts/TowerDefense/UI/BulletUICtl.cs
index dd82f4a..114c314 100644
--- a/Assets/Scripts/TowerDefense/UI/BulletUICtl.cs
+++ b/Assets/Scripts/TowerDefense/UI/BulletUICtl.cs
@@ -11,11 +11,41 @@
 {
     public Image bulletScaleMask;
     public float fAdjValue;
+    /// <summary>
+    /// 最大子弹数目.
+    /// </summary>
+    public int maxBulletNum;
+    /// <summary>
+    /// 当前的子弹数目.
+    /// </summary>
+    protected int curBulletNum;
 
     // Start is called before the first frame update
     void Start()
     {
-        
+        resetToMaxBullet();
+    }
+
+    /// <summary>
+    /// 重设子弹数目到最大.
+    /// </summary>
+    public void resetToMaxBullet()
+    {
+        this.curBulletNum = maxBulletNum;
+        this.updateBulletUI(curBulletNum, maxBulletNum);
+    }
+
+
+    /// <summary>
+    /// 减少子弹,返回减少后的子弹数目。
+    /// </summary>
+    /// <returns></returns>
+    public int decBullet()
+    {
+        if (this.curBulletNum <= 0) return 0;
+        this.curBulletNum--;
+        this.updateBulletUI(curBulletNum, maxBulletNum);
+        return curBulletNum;
     }
 
     /// <summary>

--
Gitblit v1.9.1