LethalCompany/Lethal Company/ExportedProject/Assets/Scripts/Assembly-CSharp/SelectableLevel.cs

100 lines
2.1 KiB
C#
Raw Normal View History

2023-12-22 22:51:17 +00:00
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
[CreateAssetMenu(menuName = "ScriptableObjects/Level", order = 2)]
public class SelectableLevel : ScriptableObject
{
public GameObject planetPrefab;
public string sceneName;
public int levelID;
public bool lockedForDemo;
[Space(3f)]
public bool spawnEnemiesAndScrap = true;
public string PlanetName;
[TextArea(5, 15)]
public string LevelDescription;
public VideoClip videoReel;
public string riskLevel;
public float timeToArrive = 8f;
[Header("Time")]
public float OffsetFromGlobalTime;
public float DaySpeedMultiplier = 1f;
public bool planetHasTime = true;
[Space(5f)]
public RandomWeatherWithVariables[] randomWeathers;
public bool overrideWeather;
public LevelWeatherType overrideWeatherType;
[Space(2f)]
public LevelWeatherType currentWeather;
[Space(7f)]
[Header("Level Values")]
public float factorySizeMultiplier;
2023-12-22 23:28:38 +00:00
public IntWithRarity[] dungeonFlowTypes;
2023-12-22 22:51:17 +00:00
[Space(3f)]
public SpawnableMapObject[] spawnableMapObjects;
public SpawnableOutsideObjectWithRarity[] spawnableOutsideObjects;
[Space(3f)]
public List<SpawnableItemWithRarity> spawnableScrap = new List<SpawnableItemWithRarity>();
public int minScrap;
public int maxScrap;
public int minTotalScrapValue;
public int maxTotalScrapValue;
[Space(3f)]
public LevelAmbienceLibrary levelAmbienceClips;
[Header("Level enemy values")]
public int maxEnemyPowerCount = 8;
public int maxOutsideEnemyPowerCount = 15;
public int maxDaytimeEnemyPowerCount = 20;
[Space(3f)]
public List<SpawnableEnemyWithRarity> Enemies = new List<SpawnableEnemyWithRarity>();
public List<SpawnableEnemyWithRarity> OutsideEnemies = new List<SpawnableEnemyWithRarity>();
[Space(4f)]
public List<SpawnableEnemyWithRarity> DaytimeEnemies = new List<SpawnableEnemyWithRarity>();
[Space(3f)]
public AnimationCurve enemySpawnChanceThroughoutDay;
public AnimationCurve outsideEnemySpawnChanceThroughDay;
public AnimationCurve daytimeEnemySpawnChanceThroughDay;
public float spawnProbabilityRange = 3f;
public float daytimeEnemiesProbabilityRange = 10f;
public bool levelIncludesSnowFootprints;
}