mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-06-26 11:24:46 +00:00
44 lines
886 B
C#
44 lines
886 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Entitas;
|
|
using JNGame.Util.Types;
|
|
|
|
namespace JNGame.EntitasExtend
|
|
{
|
|
public abstract class JNLookup
|
|
{
|
|
|
|
private int _index = 0;
|
|
|
|
public int Count => _index + 1;
|
|
|
|
public int Next()
|
|
{
|
|
return _index++;
|
|
}
|
|
|
|
|
|
private readonly KeyValue<int, Type> _types = new();
|
|
|
|
public JNLookup()
|
|
{
|
|
BindIndex();
|
|
BindType(_types);
|
|
}
|
|
|
|
protected abstract void BindIndex();
|
|
protected abstract void BindType(KeyValue<int, Type> types);
|
|
|
|
//查询下标
|
|
public int GetIndex(Type type)
|
|
{
|
|
return _types.Value2Key(type);
|
|
}
|
|
//查询下标
|
|
public int GetIndex<T>()
|
|
{
|
|
return _types.Value2Key(typeof(T));
|
|
}
|
|
|
|
}
|
|
} |