This commit is contained in:
CortexCore 2025-03-04 20:32:30 +08:00
parent 42eb7b00d9
commit 268c24de0d
3 changed files with 8 additions and 14 deletions

View File

@ -1,8 +1,10 @@
using System.Collections.Generic;
namespace BITKit namespace BITKit
{ {
public interface ITag public interface ITag
{ {
int Hash { get; } int Hash { get; }
string[] GetTags(); IReadOnlyCollection<string> Tags { get; }
} }
} }

View File

@ -41,7 +41,7 @@ namespace BITKit
/// <summary> /// <summary>
/// 异步循环 /// 异步循环
/// </summary> /// </summary>
public interface IAsyncTicker public interface IAsyncTicker:IDisposable
{ {
ulong TickCount { get; } ulong TickCount { get; }
int TickRate { get; set; } int TickRate { get; set; }
@ -183,6 +183,7 @@ namespace BITKit
public void Dispose() public void Dispose()
{ {
OnTickAsync = null;
_isDisposed = true; _isDisposed = true;
_timer.Stop(); _timer.Stop();
_timer.Dispose(); _timer.Dispose();

View File

@ -8,19 +8,10 @@ namespace BITKit
{ {
public class Tag : MonoBehaviour,ITag public class Tag : MonoBehaviour,ITag
{ {
[Header(Constant.Header.Settings)]
[Tooltip("It's will be deprecated in the future, use reference instead.")]
[SerializeField] private string[] tags;
[Tooltip("Disable when tags is not empty")]
[SerializeReference,SubclassSelector] private IReference[] reference; [SerializeReference,SubclassSelector] private IReference[] reference;
public int Hash => _id is 0 ? _id = MathE.GetHash(GetTags()) : _id; public int Hash => _id is 0 ? _id = MathE.GetHash(Tags) : _id;
private int _id; private int _id;
public string[] GetTags() => CacheTags ??= reference?.Length > 0 ? reference.Select(x => x.Value).ToArray() : tags; public IReadOnlyCollection<string> Tags=> _cacheTags ??= reference.Select(x => x.Value).ToArray();
private string[] CacheTags; private string[] _cacheTags;
public void SetTags(IReference[] newReference)
{
reference = newReference;
CacheTags = null;
}
} }
} }