using System; using System.Collections.Generic; namespace JNGame.Sync { public abstract class JNSyncService : Feature { //系统列表 protected abstract JNBaseSystem[] AllSystems { get; } //获取当前逻辑帧 public abstract int DeltaTime { get; } //获取系统 public T GetSystem() where T : JNBaseSystem { foreach (var service in AllSystems) { if (service is T system) return system; } throw new InvalidOperationException($"No Service of type {typeof(T).Name} was found."); } public List GetSystems() { var list = new List(); foreach (var service in AllSystems) { if (service is T system) { list.Add(system); } } return list; } } }