2025-07-03 18:59:44 +08:00

55 lines
1.3 KiB
C#

// HintData.cs
using System;
using System.Collections.Generic;
using UnityEngine;
namespace RuntimeData
{
//TODO HintData序列化相关
[Serializable]
public class HintData
{
public uint Id;
public uint GridId;
public string Message;
public HintData(uint id, uint gridId, string message)
{
Id = id;
GridId = gridId;
Message = message;
}
}
[Serializable]
public class HintMapData
{
public List<HintData> HintList = new();
private Dictionary<uint, HintData> _idToHintDict = new();
public void AddHint(HintData data)
{
if (_idToHintDict.ContainsKey(data.Id)) return;
HintList.Add(data);
_idToHintDict[data.Id] = data;
}
public void RemoveHint(uint id)
{
if (!_idToHintDict.TryGetValue(id, out var data)) return;
HintList.Remove(data);
_idToHintDict.Remove(id);
}
public void ClearAll()
{
HintList.Clear();
_idToHintDict.Clear();
}
public bool GetHint(uint id, out HintData data) => _idToHintDict.TryGetValue(id, out data);
public List<HintData> GetAllHints() => HintList;
}
}