public EntityGroupData[] GetAllEntityGroupData() { int index = 0; EntityGroupData[] results = new EntityGroupData[dicEntityGroupData.Count]; foreach (var entityGroupData in dicEntityGroupData.Values) { results[index++] = entityGroupData; } return(results); }
protected override void OnLoad() { dtEntity = GameEntry.DataTable.GetDataTable <DREntity>(); if (dtEntity == null) { throw new System.Exception("Can not get data table Entity"); } dtEntityGroup = GameEntry.DataTable.GetDataTable <DREntityGroup>(); if (dtEntityGroup == null) { throw new System.Exception("Can not get data table EntityGroup"); } dicEntityData = new Dictionary <int, EntityData>(); dicEntityGroupData = new Dictionary <int, EntityGroupData>(); DREntity[] drEntitys = dtEntity.GetAllDataRows(); foreach (var drEntity in drEntitys) { EntityGroupData entityGroupData = null; if (!dicEntityGroupData.TryGetValue(drEntity.EntityGroupId, out entityGroupData)) { DREntityGroup dREntityGroup = dtEntityGroup.GetDataRow(drEntity.EntityGroupId); if (dREntityGroup == null) { throw new System.Exception("Can not find EntityGroup id :" + drEntity.EntityGroupId); } PoolParamData poolParamData = GameEntry.Data.GetData <DataPoolParam>().GetPoolParamData(dREntityGroup.PoolParamId); entityGroupData = new EntityGroupData(dREntityGroup, poolParamData); dicEntityGroupData.Add(drEntity.EntityGroupId, entityGroupData); } DRAssetsPath dRAssetsPath = GameEntry.Data.GetData <DataAssetsPath>().GetDRAssetsPathByAssetsId(drEntity.AssetId); EntityData entityData = new EntityData(drEntity, dRAssetsPath, entityGroupData); dicEntityData.Add(drEntity.Id, entityData); } }