Files
Cielonos/Assets/Scripts/MainGame/GameRun/RunMapData.cs
2026-05-10 11:47:55 -04:00

43 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using Cielonos.MainGame.Map;
using UnityEngine;
namespace Cielonos.MainGame
{
[Serializable]
public class RunMapNode
{
public Vector2Int gridPosition; // 节点在网格中的坐标
public MapNodeType nodeType;
public Vector2 position; // UI 定位用
public ZoneData zoneData; // 关联的 ZoneData 资产(战斗节点,非战斗节点为 null
public List<Vector2Int> connectedPositions; // 双向连接的相邻节点坐标列表
/// <summary>
/// 该节点的连接数(度数)。度数为 1 的节点为"死胡同"。
/// </summary>
public int Degree => connectedPositions?.Count ?? 0;
}
public enum MapNodeType
{
Start, // 起始节点
NormalBattle, // 普通战斗
EliteBattle, // 精英战斗(更强的敌人配置)
BossBattle, // Boss 战
MechanicalTable, // 机械台(宝箱房,可获取装备)
LogisticsCenter, // 物流中心(商店)
MedicalStation, // 医疗站点恢复HP
}
[Serializable]
public class RunMapData
{
public Dictionary<Vector2Int, RunMapNode> nodes; // 所有节点,按网格坐标索引
public Vector2Int startPosition; // 起始节点坐标
public Vector2Int bossPosition; // Boss 节点坐标
public int totalNodes; // 节点总数
}
}