using System; using UnityEngine; using UnityEngine.Audio; [CreateAssetMenu(fileName = "New Audio Set", menuName = "SimpleSiege/Audio Set")] public class AudioSet : ScriptableObject { [Serializable] public class ClipArray { public AudioClip[] clips; public AudioClip GetRandomClip() { return clips[UnityEngine.Random.Range(0, clips.Length)]; } } [Header("MIXER GROUPS")] public AudioMixerGroup mixGroupFX; [Header("DAY/NIGHT")] [SerializeField] private AudioClip nightSurvived; [SerializeField] private AudioClip buildingRepair; [Header("BUILDING")] [SerializeField] private AudioClip coinslotFill; [SerializeField] private AudioClip lastCoinslotFill; [SerializeField] private AudioClip coinslotInteractionStart; [SerializeField] private AudioClip payBackground; [SerializeField] private AudioClip buildingBuild; [SerializeField] private AudioClip buildingUpgrade; [SerializeField] private ClipArray towerShot; [SerializeField] private ClipArray ballistaShot; [SerializeField] private AudioClip enemySpawn; [SerializeField] private ClipArray defaultOnFootStep; [SerializeField] private ClipArray giantStep; [SerializeField] private ClipArray flyingSmall; [SerializeField] private ClipArray siegeRoll; [SerializeField] private ClipArray racerRoll; [SerializeField] private ClipArray squishyBounce; [SerializeField] private ClipArray exploderRoll; [SerializeField] private ClipArray monsterRiderGallop; [SerializeField] private ClipArray slimeStep; [SerializeField] private ClipArray defaultSwordAttack; [SerializeField] private ClipArray massiveBluntAttack; [SerializeField] private ClipArray flyerSpit; [SerializeField] private ClipArray flatbowShot; [SerializeField] private ClipArray crossbowShow; [SerializeField] private ClipArray catapultShot; [SerializeField] private ClipArray ram; [SerializeField] private ClipArray racerBite; [SerializeField] private ClipArray hunterlingBite; [SerializeField] private ClipArray slimeSpit; [SerializeField] private ClipArray defaultHumanoidOnFootDamage; [SerializeField] private ClipArray bigOrganicDamage; [SerializeField] private ClipArray smallOrganicDamage; [SerializeField] private ClipArray siegeDamage; [SerializeField] private ClipArray defaultHumanoidOnFootDeath; [SerializeField] private ClipArray bigOrganicDeath; [SerializeField] private ClipArray siegeDeath; [SerializeField] private ClipArray exploderDeath; [SerializeField] private ClipArray eismolochAppear; [SerializeField] private ClipArray eismolochSpawnUnits; [SerializeField] private ClipArray eismolochScream; [SerializeField] private ClipArray playerSword; [SerializeField] private ClipArray playerSwordBigHit; [SerializeField] private ClipArray playerBow; [SerializeField] private ClipArray playerBowStab; [SerializeField] private ClipArray playerBowStabMiss; [SerializeField] private ClipArray playerCantUseActiveAbility; [SerializeField] private ClipArray activeAbilityCooldownReadyToUse; [SerializeField] private ClipArray playerSpear; [SerializeField] private ClipArray playerDeath; [SerializeField] private ClipArray playerDamage; [SerializeField] private AudioClip playerRevive; [SerializeField] private ClipArray addedUnitToCommanding; [SerializeField] private ClipArray placeCommandingUnits; [SerializeField] private ClipArray holdPosition; [SerializeField] private ClipArray catapultImpact; [SerializeField] private ClipArray buttonSelect; [SerializeField] private ClipArray buttonApply; [SerializeField] private ClipArray buttonApplyHero; [SerializeField] private ClipArray coinCollect; [SerializeField] private AudioClip nightCallStart; [SerializeField] private AudioClip nightCallComplete; [SerializeField] private AudioClip victory; [SerializeField] private AudioClip defeat; [SerializeField] private AudioClip pointLockInMinor; [SerializeField] private AudioClip pointLockInMajor; [SerializeField] private AudioClip pointScreenBuildA; [SerializeField] private AudioClip pointScreenBuildB; [SerializeField] private AudioClip pointScreenBuildC; [SerializeField] private AudioClip pointFillStart; [SerializeField] private AudioClip pointFill; [SerializeField] private AudioClip newHighscore; [SerializeField] private AudioClip levelUp; [SerializeField] private AudioClip showWaveCount; [SerializeField] private AudioClip closeWaveCount; [SerializeField] private AudioClip showTooltip; public AudioClip NightSurvived => nightSurvived; public AudioClip BuildingRepair => buildingRepair; public AudioClip CoinslotFill => coinslotFill; public AudioClip LastCoinslotFill => lastCoinslotFill; public AudioClip CoinslotInteractionStart => coinslotInteractionStart; public AudioClip PayBackground => payBackground; public AudioClip BuildingBuild => buildingBuild; public AudioClip BuildingUpgrade => buildingUpgrade; public ClipArray TowerShot => towerShot; public ClipArray BallistaShot => ballistaShot; public AudioClip EnemySpawn => enemySpawn; public ClipArray DefaultOnFootStep => defaultOnFootStep; public ClipArray GiantStep => giantStep; public ClipArray FlyingSmall => flyingSmall; public ClipArray SiegeRoll => siegeRoll; public ClipArray RacerRoll => racerRoll; public ClipArray SquishyBounce => squishyBounce; public ClipArray ExploderRoll => exploderRoll; public ClipArray MonsterRiderGallop => monsterRiderGallop; public ClipArray SlimeStep => slimeStep; public ClipArray DefaultSwordAttack => defaultSwordAttack; public ClipArray MassiveBluntAttack => massiveBluntAttack; public ClipArray FlyerSpit => flyerSpit; public ClipArray FlatbowShot => flatbowShot; public ClipArray CrossbowShot => crossbowShow; public ClipArray CatapultShot => catapultShot; public ClipArray Ram => ram; public ClipArray RacerBite => racerBite; public ClipArray HunterlingBite => hunterlingBite; public ClipArray SlimeSpit => slimeSpit; public ClipArray DefaultHumanoidOnFootDamage => defaultHumanoidOnFootDamage; public ClipArray BigOrganicDamage => bigOrganicDamage; public ClipArray SmallOrganicDamage => smallOrganicDamage; public ClipArray SiegeDamage => siegeDamage; public ClipArray DefaultHumanoidOnFootDeath => defaultHumanoidOnFootDeath; public ClipArray BigOrganicDeath => bigOrganicDeath; public ClipArray SiegeDeath => siegeDeath; public ClipArray ExploderDeath => exploderDeath; public ClipArray EismolochAppear => eismolochAppear; public ClipArray EismolochSpawnUnits => eismolochSpawnUnits; public ClipArray EismolochScream => eismolochScream; public ClipArray PlayerSword => playerSword; public ClipArray PlayerSwordBigHit => playerSwordBigHit; public ClipArray PlayerBow => playerBow; public ClipArray PlayerBowStab => playerBowStab; public ClipArray PlayerBowStabMiss => playerBowStabMiss; public ClipArray PlayerCantUseActiveAbility => playerCantUseActiveAbility; public ClipArray ActiveAbilityCooldownReadyToUse => activeAbilityCooldownReadyToUse; public ClipArray PlayerSpear => playerSpear; public ClipArray PlayerDeath => playerDeath; public ClipArray PlayerDamage => playerDamage; public AudioClip PlayerRevive => playerRevive; public ClipArray AddedUnitToCommanding => addedUnitToCommanding; public ClipArray PlaceCommandingUnits => placeCommandingUnits; public ClipArray HoldPosition => holdPosition; public ClipArray CatapultImpact => catapultImpact; public ClipArray ButtonSelect => buttonSelect; public ClipArray ButtonApply => buttonApply; public ClipArray ButtonApplyHero => buttonApplyHero; public ClipArray CoinCollect => coinCollect; public AudioClip NightCallStart => nightCallStart; public AudioClip NightCallComplete => nightCallComplete; public AudioClip Victory => victory; public AudioClip Defeat => defeat; public AudioClip PointLockInMinor => pointLockInMinor; public AudioClip PointLockInMajor => pointLockInMajor; public AudioClip PointScreenBuildA => pointScreenBuildA; public AudioClip PointScreenBuildB => pointScreenBuildB; public AudioClip PointScreenBuildC => pointScreenBuildC; public AudioClip PointFillStart => pointFillStart; public AudioClip PointFill => pointFill; public AudioClip NewHighscore => newHighscore; public AudioClip LevelUp => levelUp; public AudioClip ShowWaveCount => showWaveCount; public AudioClip CloseWaveCount => closeWaveCount; public AudioClip ShowTooltip => showTooltip; }