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]; }
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++; * } */ }