//获得新装备 public bool AddEquip(Equip equip) { Equip curEquip = equips[equip.equipType]; if (curEquip != null) { //curEquip.UnLoad(this); if (curEquip.level > equip.level) { WndTips.ShowTips("不可替换为低等级的装备!"); return(false); } else { AudioManager.instance.PlayEffect(ConstConfig.UpEquip); EquipModel equipModel = ModelManager.Get <EquipModel>("EquipModel"); curEquip.UnLoad(this); equipModel.AddEquip(curEquip); equips[equip.equipType] = equip; equip.Load(this); OnUpdateEquip?.Invoke(); return(true); } } else if (equip.level > cost && isLevelEffect == true) { WndTips.ShowTips("装备等级不能低于角色品质."); return(false); } else { AudioManager.instance.PlayEffect(ConstConfig.UpEquip); equips[equip.equipType] = equip; equip.Load(this); OnUpdateEquip?.Invoke(); return(true); } //return curEquip; }
//获得关卡奖励(不包括金币,金币奖励在 playerData类中处理) void GetReward(dynamic dy) { GameLevelModel gameLevel = ModelManager.Get <GameLevelModel>("GameLevelModel"); EquipModel equipModel = ModelManager.Get <EquipModel>("EquipModel"); int curLevel = gameLevel.GetLevel(); if (curLevel % ConstConfig.equipRewardLevel == 0) { //获得装备奖励 //第一个装备的id为1,随机直接int里随机 //获得随机3件装备 List <Equip> equipIds = new List <Equip>(MaxEquipReward); //概率 30 30 20 10 10 int gailv1 = 30; //1-30 int gailv2 = 60; //31-60 int gailv3 = 80; //61-80 int gailv4 = 90; //81-90 int gailv5 = 100; //91-100 for (int i = 0; i < MaxEquipReward; i++) { int randomRes = Random.Range(1, 101); int resLevel = 0; if (randomRes >= 1 && randomRes <= gailv1) { resLevel = 1; } else if (randomRes >= gailv1 + 1 && randomRes <= gailv2) { resLevel = 2; } else if (randomRes >= gailv2 + 1 && randomRes <= gailv3) { resLevel = 3; } else if (randomRes >= gailv3 + 1 && randomRes <= gailv4) { resLevel = 4; } else if (randomRes >= gailv4 + 1 && randomRes <= gailv5) { resLevel = 5; } var targetIds = EquipModel.equipIds[resLevel]; int id = targetIds[Random.Range(0, targetIds.Count)]; Equip e = new Equip(id); equipIds.Add(e); equipModel.AddEquip(e); } ViewManager.Get <WndFightOver>("WndFightOver").ShowEquipReward(equipIds); } if (curLevel % ConstConfig.talentRewardLevel == 0) { if (ModelManager.Get <TalentModel>("TalentModel").canUseTalent.Count > 0) { ViewManager.Get("WndTalent").SetVisible(true); } } }