Compare commits

...

5 commits

Author SHA1 Message Date
ffe38ed8b1 add sounds to a few more units 2026-07-06 14:13:25 -07:00
7c0beddec4 remove useless files 2026-07-06 14:08:53 -07:00
51b7d58ada cool sounds 2026-07-06 14:02:00 -07:00
da4f729681 rudimentary dust and shockwave 2026-07-06 13:20:23 -07:00
49ac784f6d VFX graph for basic dust 2026-07-06 11:26:49 -07:00
12 changed files with 5890 additions and 17 deletions

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f2d17bc871279624da92e209e890fee4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 9be8cca0a26062700863614752c39b8b
VisualEffectImporter:
externalObjects: {}
serializedVersion: 2
template:
name:
category:
description:
icon: {instanceID: 0}
thumbnail: {instanceID: 0}
useAsTemplate: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 09acbe3c28493f2e3be6d1f0f743ee30
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 4ee1b63f27ea04451802bafd35ecef89
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,152 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5755158003138779588
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5415886315182518892}
- component: {fileID: 312167897979414843}
- component: {fileID: 2180370240332948376}
m_Layer: 0
m_Name: Burst
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5415886315182518892
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5755158003138779588}
serializedVersion: 2
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8962335376457110685}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!2083052967 &312167897979414843
VisualEffect:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5755158003138779588}
m_Enabled: 1
m_Asset: {fileID: 8926484042661614526, guid: 9be8cca0a26062700863614752c39b8b, type: 3}
m_InitialEventName: OnPlay
m_InitialEventNameOverriden: 0
m_StartSeed: 0
m_ResetSeedOnPlay: 1
m_AllowInstancing: 1
m_ResourceVersion: 1
m_PropertySheet:
m_Float:
m_Array: []
m_Vector2f:
m_Array: []
m_Vector3f:
m_Array: []
m_Vector4f:
m_Array: []
m_Uint:
m_Array: []
m_Int:
m_Array: []
m_Matrix4x4f:
m_Array: []
m_AnimationCurve:
m_Array: []
m_Gradient:
m_Array: []
m_NamedObject:
m_Array: []
m_Bool:
m_Array: []
--- !u!73398921 &2180370240332948376
VFXRenderer:
serializedVersion: 1
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5755158003138779588}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
--- !u!1 &6874992557687165507
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8962335376457110685}
m_Layer: 0
m_Name: TowerImpactDust
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8962335376457110685
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6874992557687165507}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.20536, y: -2.27998, z: 6.22769}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5415886315182518892}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a9080df4046b863c8b07b3ad73d76bf4
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -275,10 +275,10 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::TD.Combat.TowerLandedSound
landedSound:
clip: {fileID: 0}
volume: 0
minPitch: 0
maxPitch: 0
clip: {fileID: 8300000, guid: 4ee1b63f27ea04451802bafd35ecef89, type: 3}
volume: 0.667
minPitch: 0.96
maxPitch: 1.04
--- !u!114 &3412005213656160288
MonoBehaviour:
m_ObjectHideFlags: 0
@ -315,7 +315,7 @@ MonoBehaviour:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
impactVfxPrefab: {fileID: 0}
impactVfxPrefab: {fileID: 6874992557687165507, guid: a9080df4046b863c8b07b3ad73d76bf4, type: 3}
impactVfxLifetime: 3
--- !u!1 &7580197837852108944
GameObject:

View file

@ -258,10 +258,10 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::TD.Combat.TowerLandedSound
landedSound:
clip: {fileID: 0}
volume: 0
minPitch: 0
maxPitch: 0
clip: {fileID: 8300000, guid: 4ee1b63f27ea04451802bafd35ecef89, type: 3}
volume: 0.667
minPitch: 0.96
maxPitch: 1.04
--- !u!114 &4003901452716391977
MonoBehaviour:
m_ObjectHideFlags: 0
@ -298,7 +298,7 @@ MonoBehaviour:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
impactVfxPrefab: {fileID: 0}
impactVfxPrefab: {fileID: 6874992557687165507, guid: a9080df4046b863c8b07b3ad73d76bf4, type: 3}
impactVfxLifetime: 3
--- !u!1 &7580197837852108944
GameObject:

View file

@ -269,9 +269,10 @@ MonoBehaviour:
m_EditorClassIdentifier: Assembly-CSharp::TD.Combat.TowerBuiltSound
builtSound:
clip: {fileID: 8300000, guid: 6ff2e0ba45ef5eb6abeb34bd2c6e2da8, type: 3}
volume: 0.496
volume: 0.3
minPitch: 1
maxPitch: 1
delaySeconds: 0.3
--- !u!114 &1829137298732744432
MonoBehaviour:
m_ObjectHideFlags: 0
@ -285,10 +286,10 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::TD.Combat.TowerLandedSound
landedSound:
clip: {fileID: 0}
volume: 0
minPitch: 0
maxPitch: 0
clip: {fileID: 8300000, guid: 4ee1b63f27ea04451802bafd35ecef89, type: 3}
volume: 0.663
minPitch: 0.96
maxPitch: 1.04
--- !u!114 &8125712573731754244
MonoBehaviour:
m_ObjectHideFlags: 0
@ -325,8 +326,8 @@ MonoBehaviour:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
impactVfxPrefab: {fileID: 0}
impactVfxLifetime: 3
impactVfxPrefab: {fileID: 6874992557687165507, guid: a9080df4046b863c8b07b3ad73d76bf4, type: 3}
impactVfxLifetime: 4
--- !u!1 &7101790219931971190
GameObject:
m_ObjectHideFlags: 0

View file

@ -15,6 +15,7 @@ namespace TD.Combat
public class TowerBuiltSound : MonoBehaviour
{
[SerializeField] private SoundConfig builtSound;
[SerializeField] private float delaySeconds = 0.3f;
private TowerInstance towerInstance;
@ -34,6 +35,11 @@ namespace TD.Combat
}
private void HandleBuilt()
{
Invoke(nameof(PlayBuiltSound), delaySeconds);
}
private void PlayBuiltSound()
{
AudioManager.Instance?.Play(builtSound.clip, AudioCategory.UI, builtSound.RandomPitch(), builtSound.volume);
}