You've already forked zumbi-game
add random sfx to zombies
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f5ad48521bc6e104b91b244b73c17c2b
|
||||||
|
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:
|
||||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1e52096c131bbbb4f94236be610dbb22
|
||||||
|
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:
|
||||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a6d7ea851c2ca764a829054b971cfe67
|
||||||
|
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:
|
||||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 98cbf8c7e7fb89345a25a8606b4761eb
|
||||||
|
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:
|
||||||
@@ -1780,6 +1780,7 @@ GameObject:
|
|||||||
- component: {fileID: 2441744333336506289}
|
- component: {fileID: 2441744333336506289}
|
||||||
- component: {fileID: 5950679062911607196}
|
- component: {fileID: 5950679062911607196}
|
||||||
- component: {fileID: -7112169132516269854}
|
- component: {fileID: -7112169132516269854}
|
||||||
|
- component: {fileID: 8752207854750903613}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Zombie1
|
m_Name: Zombie1
|
||||||
m_TagString: Zombie
|
m_TagString: Zombie
|
||||||
@@ -1899,6 +1900,108 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 9e6afdd2619c6db4e9c079733c664364, type: 3}
|
m_Script: {fileID: 11500000, guid: 9e6afdd2619c6db4e9c079733c664364, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::ZombieController
|
m_EditorClassIdentifier: Assembly-CSharp::ZombieController
|
||||||
|
sfx:
|
||||||
|
- {fileID: 8300000, guid: f5ad48521bc6e104b91b244b73c17c2b, type: 3}
|
||||||
|
- {fileID: 8300000, guid: 1e52096c131bbbb4f94236be610dbb22, type: 3}
|
||||||
|
- {fileID: 8300000, guid: a6d7ea851c2ca764a829054b971cfe67, type: 3}
|
||||||
|
- {fileID: 8300000, guid: 98cbf8c7e7fb89345a25a8606b4761eb, type: 3}
|
||||||
|
--- !u!82 &8752207854750903613
|
||||||
|
AudioSource:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4493914613880827488}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 4
|
||||||
|
OutputAudioMixerGroup: {fileID: 0}
|
||||||
|
m_audioClip: {fileID: 0}
|
||||||
|
m_Resource: {fileID: 0}
|
||||||
|
m_PlayOnAwake: 0
|
||||||
|
m_Volume: 1
|
||||||
|
m_Pitch: 1
|
||||||
|
Loop: 0
|
||||||
|
Mute: 0
|
||||||
|
Spatialize: 0
|
||||||
|
SpatializePostEffects: 0
|
||||||
|
Priority: 128
|
||||||
|
DopplerLevel: 1
|
||||||
|
MinDistance: 1
|
||||||
|
MaxDistance: 500
|
||||||
|
Pan2D: 0
|
||||||
|
rolloffMode: 0
|
||||||
|
BypassEffects: 0
|
||||||
|
BypassListenerEffects: 0
|
||||||
|
BypassReverbZones: 0
|
||||||
|
rolloffCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
panLevelCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
spreadCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
reverbZoneMixCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
--- !u!1 &4710940672626480558
|
--- !u!1 &4710940672626480558
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
using NUnit.Framework;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
[RequireComponent(typeof(Animator))]
|
[RequireComponent(typeof(Animator))]
|
||||||
[RequireComponent(typeof(Rigidbody))]
|
[RequireComponent(typeof(Rigidbody))]
|
||||||
|
[RequireComponent(typeof(AudioSource))]
|
||||||
public class ZombieController : MonoBehaviour
|
public class ZombieController : MonoBehaviour
|
||||||
{
|
{
|
||||||
private static readonly int DieHash = Animator.StringToHash("Die");
|
private static readonly int DieHash = Animator.StringToHash("Die");
|
||||||
@@ -25,8 +25,14 @@ public class ZombieController : MonoBehaviour
|
|||||||
private readonly float attackCooldown = 1f;
|
private readonly float attackCooldown = 1f;
|
||||||
private float lastAttackTime;
|
private float lastAttackTime;
|
||||||
|
|
||||||
|
[Header("Sounds")]
|
||||||
|
[SerializeField] private AudioClip[] sfx;
|
||||||
|
[SerializeField] private int sfxDelay = 5; // seconds
|
||||||
|
|
||||||
private Transform player;
|
private Transform player;
|
||||||
private Animator animator;
|
private Animator animator;
|
||||||
|
private AudioSource audioSource;
|
||||||
|
private float lastSfxPlay;
|
||||||
|
|
||||||
private bool IsDead() => currentHealth == 0;
|
private bool IsDead() => currentHealth == 0;
|
||||||
|
|
||||||
@@ -35,12 +41,15 @@ public class ZombieController : MonoBehaviour
|
|||||||
currentHealth = maxHealth;
|
currentHealth = maxHealth;
|
||||||
animator = GetComponent<Animator>();
|
animator = GetComponent<Animator>();
|
||||||
player = GameObject.FindGameObjectWithTag("Player").transform;
|
player = GameObject.FindGameObjectWithTag("Player").transform;
|
||||||
|
audioSource = GetComponent<AudioSource>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
if (IsDead()) return;
|
if (IsDead()) return;
|
||||||
|
|
||||||
|
PlaySfx();
|
||||||
|
|
||||||
float distance = Vector3.Distance(transform.position, player.position);
|
float distance = Vector3.Distance(transform.position, player.position);
|
||||||
|
|
||||||
if (distance <= attackDistance)
|
if (distance <= attackDistance)
|
||||||
@@ -64,6 +73,23 @@ public class ZombieController : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private AudioClip PickSfx()
|
||||||
|
{
|
||||||
|
return sfx[UnityEngine.Random.Range(0, sfx.Length)];
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlaySfx()
|
||||||
|
{
|
||||||
|
if (Time.time - lastSfxPlay <= sfxDelay)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var clip = PickSfx();
|
||||||
|
audioSource.PlayOneShot(clip);
|
||||||
|
lastSfxPlay = Time.time;
|
||||||
|
}
|
||||||
|
|
||||||
private void MoveToPlayer(float speed)
|
private void MoveToPlayer(float speed)
|
||||||
{
|
{
|
||||||
Vector3 direction = (player.position - transform.position).normalized;
|
Vector3 direction = (player.position - transform.position).normalized;
|
||||||
|
|||||||
Reference in New Issue
Block a user