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 _types = new(); public JNLookup() { BindIndex(); BindType(_types); } protected abstract void BindIndex(); protected abstract void BindType(KeyValue types); //查询下标 public int GetIndex(Type type) { return _types.Value2Key(type); } //查询下标 public int GetIndex() { return _types.Value2Key(typeof(T)); } } }