protected override void OnLoad()
        {
            dtItem = GameEntry.DataTable.GetDataTable <DRItem>();
            if (dtItem == null)
            {
                throw new System.Exception("Can not get data table Item");
            }

            dtItemGroup = GameEntry.DataTable.GetDataTable <DRItemGroup>();
            if (dtItemGroup == null)
            {
                throw new System.Exception("Can not get data table ItemGroup");
            }

            dicItemData      = new Dictionary <int, ItemData>();
            dicItemGroupData = new Dictionary <int, ItemGroupData>();

            DRItem[] drItems = dtItem.GetAllDataRows();
            foreach (var drItem in drItems)
            {
                ItemGroupData itemGroupData = null;
                if (!dicItemGroupData.TryGetValue(drItem.ItemGroupId, out itemGroupData))
                {
                    DRItemGroup dRItemGroup = dtItemGroup.GetDataRow(drItem.ItemGroupId);
                    if (dRItemGroup == null)
                    {
                        throw new System.Exception("Can not find ItemGroup id :" + drItem.ItemGroupId);
                    }
                    PoolParamData poolParamData = GameEntry.Data.GetData <DataPoolParam>().GetPoolParamData(dRItemGroup.PoolParamId);

                    itemGroupData = new ItemGroupData(dRItemGroup, poolParamData);
                    dicItemGroupData.Add(drItem.ItemGroupId, itemGroupData);
                }

                DRAssetsPath dRAssetsPath = GameEntry.Data.GetData <DataAssetsPath>().GetDRAssetsPathByAssetsId(drItem.AssetId);

                ItemData itemData = new ItemData(drItem, dRAssetsPath, itemGroupData);
                dicItemData.Add(drItem.Id, itemData);
            }
        }
Ejemplo n.º 2
0
 public ItemGroupData(DRItemGroup dRItemGroup, PoolParamData poolParamData)
 {
     this.dRItemGroup   = dRItemGroup;
     this.poolParamData = poolParamData;
 }