using System; using System.Collections; using System.Collections.Generic; using Ktyl.Util; using UnityEngine; [CreateAssetMenu(menuName = "KernelPanic/Traps/Settings")] public class TrapSettings : ScriptableObject { [Serializable] public struct FallawayFloorSettings { public string FMODEvent => _fmodEvent; [SerializeField] private string _fmodEvent; [Header("Platform respawning")] // how long it takes for falling platforms to respawn while the player is safe [SerializeField] private SerialFloat _respawnTime; // how long the player has currently been safe for. -1 while the player is not // in a safe zone [SerializeField] private SerialFloat _safeTime; public bool CanRespawn => _safeTime > _respawnTime; public float ShakeStrength => _shakeStrength; [Header("Animation")] [SerializeField] private float _shakeStrength; } public FallawayFloorSettings FallawayFloor => _fallawayFloor; [SerializeField] private FallawayFloorSettings _fallawayFloor; }