32 lines
911 B
C#
Raw Normal View History

2025-11-12 18:23:37 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CardLockSvc
{
2025-11-12 18:35:43 +08:00
private readonly HashSet<CardOSData.LOCK_EXCLUSIVE_CARD_ENUM> _exclusive_lock_queue = new();
2025-11-12 18:23:37 +08:00
2025-11-12 18:35:43 +08:00
public bool LOCK_APPLY(CardOSData.LOCK_EXCLUSIVE_CARD_ENUM lock_name)
2025-11-12 18:23:37 +08:00
{
if (!_exclusive_lock_queue.Add(lock_name))
{
Debug.LogWarning($"拒绝加锁: {lock_name}");
return false;
}
Debug.Log($"申请加锁: {lock_name}");
return true;
}
2025-11-12 18:35:43 +08:00
public void LOCK_RELEASE(CardOSData.LOCK_EXCLUSIVE_CARD_ENUM lock_name)
2025-11-12 18:23:37 +08:00
{
if (!_exclusive_lock_queue.Contains(lock_name)) return;
_exclusive_lock_queue.Remove(lock_name);
Debug.Log($"释放锁: {lock_name}");
}
2025-11-12 18:35:43 +08:00
public bool LOCK_GET(CardOSData.LOCK_EXCLUSIVE_CARD_ENUM lock_name)
2025-11-12 18:23:37 +08:00
{
return _exclusive_lock_queue.Contains(lock_name);
}
}