namespace ET { public class RoleInfosComponentDestroySystem : DestroySystem { public override void Destroy(RoleInfosComponent self) { foreach(var roleInfo in self.RoleInfos) { roleInfo?.Dispose(); } self.RoleInfos.Clear(); self.CurrentRoleId = 0; } } public static class RoleInfosComponentSystem { public static string GetCurrentRoleName(this RoleInfosComponent self) { foreach(var i in self.RoleInfos) { if(i.Id == self.CurrentRoleId) { return i.Name; } } return ""; } public static RoleInfo GetCurrentRole(this RoleInfosComponent self) { foreach (var i in self.RoleInfos) { if (i.Id == self.CurrentRoleId) { return i; } } return null; } } }