コード例 #1
0
        public ItemGroupData[] GetAllItemGroupData()
        {
            int index = 0;

            ItemGroupData[] results = new ItemGroupData[dicItemGroupData.Count];
            foreach (var itemGroupData in dicItemGroupData.Values)
            {
                results[index++] = itemGroupData;
            }

            return(results);
        }
コード例 #2
0
        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);
            }
        }