NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/GameWrapper/Level/LegionLevelData.cs

75 lines
2.2 KiB
C#
Raw Normal View History

2025-02-18 19:13:41 +08:00
using System;
using UnityEngine;
using Sirenix.OdinInspector;
using System.Collections.Generic;
[Serializable]
public class LegionLevelData
{
[ReadOnly] [LabelText("宽")] public int Width;
[ReadOnly] [LabelText("高")] public int Height;
[ReadOnly] [LabelText("内径")] public float Radius;
[HideInInspector] public List<Building> Buildings = new List<Building>();
[HideInInspector] [LabelText("出生点A")] public List<int> BornPosA = new List<int>();
[HideInInspector] [LabelText("出生点B")] public List<int> BornPosB = new List<int>();
2025-04-21 13:32:41 +08:00
2025-04-21 15:06:12 +08:00
[ReadOnly] [LabelText("减速格子")] public List<int> ReduceCells = new List<int>();
2025-02-18 19:13:41 +08:00
[LabelText("出生点A区标识位置")] public int BornAFlagPos;
[LabelText("出生点B区标识位置")] public int BornBFlagPos;
2025-02-18 19:13:41 +08:00
[HideInInspector] [LabelText("轨道")] public List<TrackData> Tracks = new List<TrackData>();
[LabelText("建筑对")] public List<LinkBuilding> linkBuildings = new List<LinkBuilding>();
[Serializable]
public class Building
{
[LabelText("建筑唯一序号")] public int id;
[LabelText("建筑ID")] public int buildingID;
[LabelText("位置")] public int position;
2025-02-21 13:09:57 +08:00
2025-02-18 19:13:41 +08:00
[LabelText("势力格子")] public List<int> cells = new List<int>();
}
[Serializable]
public class LinkBuilding
{
[LabelText("建筑1")] public int building1;
2025-02-27 17:03:10 +08:00
[HideInInspector] public int startPos;
2025-02-18 19:13:41 +08:00
[LabelText("建筑2")] public int building2;
2025-02-27 17:03:10 +08:00
[HideInInspector] public int endPos;
2025-02-18 19:13:41 +08:00
}
[Serializable]
public class TrackData
{
[LabelText("轨道ID")] public int trackID;
[LabelText("起点建筑")] public int startBuilding;
[LabelText("终点建筑")] public int endBuilding;
[LabelText("运行状态")] public TrackState state;
}
[Serializable]
public class BezierKnotData
{
public Vector3 position; // 关键点位置
public Vector3 tangentOut; // 指向下一个点的方向
public Vector3 tangentIn; // 从上一个点来的方向
public Quaternion rotation; // 旋转
}
public enum TrackState
{
Stop, // 停止
Moving, // 运行
}
2025-02-11 15:03:22 +08:00
}