River Jiang
2020-10-21 16072ec5c78cf2f183ef5cbdddeb34416225a9ea
加入玉米动画
19 files added
14 files modified
1083 ■■■■■ changed files
Assets/Materials/PVPTD/Materials/SheetAnim.mat 100 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/Materials/SheetAnim.mat.meta 8 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat 81 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat.meta 8 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat 81 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat.meta 8 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/Anim.png patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/Anim.png.meta 118 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat 78 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat.meta 8 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat 81 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat.meta 8 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/fire_oppo.png.meta 6 ●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png.meta 118 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png patch | view | raw | blame | history
Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png.meta 118 ●●●●● patch | view | raw | blame | history
Assets/Materials/Shader.meta 8 ●●●●● patch | view | raw | blame | history
Assets/Materials/Shader/TexAnimation.shader 82 ●●●●● patch | view | raw | blame | history
Assets/Materials/Shader/TexAnimation.shader.meta 9 ●●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/GrowUpTower.prefab 23 ●●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/GrowUpTower_0.prefab 2 ●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/GrowUpTower_1.prefab 4 ●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/GrowUpTower_2.prefab 2 ●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/GrowUpTower_3.prefab 2 ●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/GrowUpTower_4.prefab 2 ●●● patch | view | raw | blame | history
Assets/Prefabs/UI/BulletUI.prefab 1 ●●●● patch | view | raw | blame | history
Assets/Scenes/Levels/Battle/GemBattle.unity 20 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Affectors/Affector.cs 6 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs 8 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Towers/Tower.cs 39 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Towers/TowerLevel.cs 22 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/BulletUICtl.cs 32 ●●●●● patch | view | raw | blame | history
Assets/Materials/PVPTD/Materials/SheetAnim.mat
New file
@@ -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: []
Assets/Materials/PVPTD/Materials/SheetAnim.mat.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f4bd12a931d6bd344838a0eaf9bc250a
NativeFormatImporter:
  externalObjects: {}
  mainObjectFileID: 0
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat
New file
@@ -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: []
Assets/Materials/PVPTD/Materials/fire_self_attackMat.mat.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 56734acd3a9832f458892e0ba6f1901b
NativeFormatImporter:
  externalObjects: {}
  mainObjectFileID: 0
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat
New file
@@ -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: []
Assets/Materials/PVPTD/Materials/fire_self_waitMat.mat.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 492ec3bf4cc3d7c4ca1649716bf69377
NativeFormatImporter:
  externalObjects: {}
  mainObjectFileID: 0
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Materials/PVPTD/MonsterMat/Anim.png
Assets/Materials/PVPTD/MonsterMat/Anim.png.meta
New file
@@ -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:
Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat
New file
@@ -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: []
Assets/Materials/PVPTD/MonsterMat/fireMonMat_animOppo.mat.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6a0c910afa1b24749a24a17e4b534534
NativeFormatImporter:
  externalObjects: {}
  mainObjectFileID: 0
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat
New file
@@ -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: []
Assets/Materials/PVPTD/MonsterMat/fireMonMat_animSelf.mat.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 65706b9ab6be2dc45bde7720914dd662
NativeFormatImporter:
  externalObjects: {}
  mainObjectFileID: 0
  userData:
  assetBundleName:
  assetBundleVariant:
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
Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png
Assets/Materials/PVPTD/MonsterMat/self_fire_attack.png.meta
New file
@@ -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:
Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png
Assets/Materials/PVPTD/MonsterMat/self_fire_wait.png.meta
New file
@@ -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:
Assets/Materials/Shader.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1bdbfa3720a6f9843974327e9e6cdf89
folderAsset: yes
DefaultImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Materials/Shader/TexAnimation.shader
New file
@@ -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"
}
Assets/Materials/Shader/TexAnimation.shader.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: c00c30c0ead4b7541b8bd8219a17fcc0
ShaderImporter:
  externalObjects: {}
  defaultTextures: []
  nonModifiableTextures: []
  userData:
  assetBundleName:
  assetBundleVariant:
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
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}
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
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}
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}
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}
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
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}
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">
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)
            {
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();
                        }
                    }
                }
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;
                    }
                }
            }
        }
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>