Exemple #1
0
        private static List <ItemIdDataModel> ParseRewardItem(string str, ReadonlyObjectList <ItemIdDataModel> rewards)
        {
            var list    = new List <ItemIdDataModel>();
            var strList = str.Split('|');

            for (int k = 0; k < rewards.Count; k++)
            {
                var rewardData = rewards[k];
                if (k < strList.Length)
                {
                    var ret = strList[k].Split(',');
                    if (2 == ret.Length)
                    {
                        rewardData.ItemId = int.Parse(ret[0]);
                        rewardData.Count  = int.Parse(ret[1]);
                    }
                    else
                    {
                        rewardData.ItemId = -1;
                    }
                }
                else
                {
                    rewardData.ItemId = -1;
                }
            }

            return(list);
        }
 private void OnClickCharInfo(ReadonlyObjectList <LineMemberDataModel> list, int index)
 {
     if (index < 0 || index >= list.Count)
     {
         return;
     }
     DataModel.SelectData = list[index];
 }
Exemple #3
0
        private static void MissinReward(int missionId, ReadonlyObjectList <ItemIdDataModel> dataModel)
        {
            var tableData = Table.GetMissionBase(missionId);

            if (null == tableData)
            {
                return;
            }
            //重置
            for (var i = 0; i < dataModel.Count; i++)
            {
                dataModel[i].ItemId = -1;
                dataModel[i].Count  = -1;
            }

            //物品id
            const int expItemId = 1;

            var playerLevel = Math.Max(1, PlayerDataManager.Instance.GetLevel());
            var roleId      = PlayerDataManager.Instance.GetRoleId();
            var start       = 0;

            //职业奖励
            for (var i = 0; i < 2; i++)
            {
                if (tableData.RoleRewardId[roleId, i] != -1)
                {
                    dataModel[start].ItemId = tableData.RoleRewardId[roleId, i];
                    dataModel[start].Count  = tableData.RoleRewardCount[roleId, i];
                    start++;
                }
            }

            //等级系数经验奖励
            if (0 != tableData.IsDynamicExp)
            {
                var expCount = GameUtils.CalculateExpByLevel(tableData.DynamicExpRatio, playerLevel);
                dataModel[start].ItemId = expItemId;
                dataModel[start].Count  = expCount;
                start++;
            }

            //普通任务奖励
            for (var i = 0; i < tableData.RewardItem.Length && start < dataModel.Count; i++)
            {
                if (-1 == tableData.RewardItem[i])
                {
                    continue;
                }

                dataModel[start].ItemId = tableData.RewardItem[i];
                dataModel[start].Count  = SkillExtension.ModifyByLevel(tableData.RewardItemCount[i], playerLevel, 100000000);
                start++;
            }

            //普通任务奖励

            /*
             * var DataModelRewardItemCount1 = dataModel.Count - start;
             * for (int i = 0; i < DataModelRewardItemCount1; i++)
             * {
             * if (start > dataModel.Count)
             * {
             *  Logger.Debug("DataModel.RewardItem[{0}] out of index", start);
             *
             *  break;
             * }
             * if (-1 == tableData.RewardItem[i])
             * {
             *
             *  continue;
             * }
             * dataModel[start].ItemId = tableData.RewardItem[i];
             * dataModel[start].Count = tableData.RewardItemCount[i];
             * start++;
             * }
             */
        }