revival/game/Assets/Scripts/Traps/TrapSettings.cs

31 lines
1.1 KiB
C#

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;
}