| | |
| | | } |
| | | } |
| | | |
| | | public void SelectCandidateEquip(string equipGuid) |
| | | public bool HasSamePlaceCandidateEquip(Int2 equipPosition) |
| | | { |
| | | for (int i = 0; i < candidateEquips.Count; i++) |
| | | { |
| | | var candidateEquip = candidateEquips[i]; |
| | | candidateEquip.selected.value = candidateEquip.guid == equipGuid; |
| | | var item = packModel.GetItemByGuid(candidateEquips[i].guid); |
| | | if (item != null && item.config.LV == equipPosition.x && item.config.EquipPlace == equipPosition.y) |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | public void RecommendCandidateEquip(Int2 equipPosition) |
| | | { |
| | | var highestScore = 0; |
| | | var highestScoreEquip = string.Empty; |
| | | for (int i = 0; i < candidateEquips.Count; i++) |
| | | { |
| | | var candidate = candidateEquips[i]; |
| | | var item = packModel.GetItemByGuid(candidate.guid); |
| | | if (equipPosition.x == item.config.LV && item.config.EquipPlace == equipPosition.y) |
| | | { |
| | | if (item.score > highestScore) |
| | | { |
| | | highestScore = item.score; |
| | | highestScoreEquip = candidate.guid; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(highestScoreEquip)) |
| | | { |
| | | candidateEquips.Sort((CandidateEquip x, CandidateEquip y) => |
| | | { |
| | | if (x.guid == highestScoreEquip && y.guid != highestScoreEquip) |
| | | { |
| | | return -1; |
| | | } |
| | | else if (x.guid != highestScoreEquip && y.guid == highestScoreEquip) |
| | | { |
| | | return 1; |
| | | } |
| | | else |
| | | { |
| | | var betterX = CompareToCurrent(x.guid); |
| | | var betterY = CompareToCurrent(y.guid); |
| | | |
| | | if (betterX > 0 && betterY < 0) |
| | | { |
| | | return -1; |
| | | } |
| | | else if (betterX < 0 && betterY > 0) |
| | | { |
| | | return 1; |
| | | } |
| | | else |
| | | { |
| | | var a = packModel.GetItemByGuid(x.guid); |
| | | var b = packModel.GetItemByGuid(y.guid); |
| | | return -a.score.CompareTo(b.score); |
| | | } |
| | | } |
| | | |
| | | }); |
| | | } |
| | | |
| | | for (int i = 0; i < candidateEquips.Count; i++) |
| | | { |
| | | candidateEquips[i].selected.value = candidateEquips[i].guid == highestScoreEquip; |
| | | } |
| | | |
| | | } |
| | | |
| | | public void ClearRecommendCandidateEquip() |
| | | { |
| | | for (int i = 0; i < candidateEquips.Count; i++) |
| | | { |
| | | candidateEquips[i].selected.value = false; |
| | | } |
| | | } |
| | | |