Files
MinFt/Client/Assets/Scripts/InfiniteBuilding/InfiniteBuildingConf.cs
2026-04-27 12:07:32 +08:00

57 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using Unity.Mathematics;
using UnityEngine;
[CreateAssetMenu(fileName = "InfiniteBuildingConf",
menuName = "ScriptableObjects/InfiniteBuildingConf", order = 1)]
public class InfiniteBuildingConf : ScriptableObject
{
[Serializable]
public class HeightConfigData
{
public int LvlThresh;
public float craneHeightRise;
public float craneHeightDescend;
public float craneCycleTime;
public float cameraDepth = 20f;
}
[Header("General Debug Settings")]
public bool FreezeCrane = false;
public int NextBlockToSpawn = -1;
[Header("Block Generation Settings")]
public int blockDestroyDelay = 4000;//in miliseconds, 1/1000 second
public Vector2 craneAnchorOffset = new(0.2f, -0.5f);
public float blockAnchorCoefficient = 0.8f;
public Vector3 blockSpawnOffset = new(0, -3f, 0);
public float blockDriftOffset = 2f;
public float blockDestroyThreshAngle = 10f;//in deg
public bool maxDistanceOnly = true;
public bool hasAutoDistance = true;
public float blockRestingOffset = -5f;
public float blockDestroyOffset = -8f;
public float deathWallOffset = -3;
public float snapThresh = 0.5f;
public float blockDepth = 20f;
public float blockFreezeVelocity = 0.1f;
public float blockFreezeAngularVelocity = 0.1f;
public float blockFreezeAcc = 1f;
public float blockFreezeAngularAcc = 1f;
[Header("Crane Settings")]
//public float craneRiseTime = 0.5f;
//public List<HeightConfigData> heightSpecificConfig = new List<HeightConfigData>();
public float craneCycleHalfDistance = 5f;
public float craneLineThickness = 0.1f;
[Header("Camera Settings")]
public float skyLoopTriggerHeight = 1200f;
public float skyLoopOffsetDelta = 0.2f;
[Header("FX Settings")]
public Vector3 fxCollapse = -8f * Vector3.up;
public Vector3 fxCloud = -5f * Vector3.up;
public float fxCloudAppearHeight = 0f;
public Vector3 fxFall = Vector3.zero;
public Vector3 fxPerfect = Vector3.zero;
[Header("Furniture Animation")]
public float3 animationDurationRange = new float3(0.33f, 0.66f, 0.2f);
public Color glassColor = new Color(0.7735f, 0.4370f, 0.2298f, 1);
}