private void GetPossibleNewUnitByMinCost(ReplaceUnitInfo replaceUnitInfo) { List <Card> possibleUnits = DataManager.CachedCardsLibraryData.Cards.FindAll(x => x.Cost >= replaceUnitInfo.NewUnitPossibleCost); if (possibleUnits.Count == 0) { possibleUnits = DataManager.CachedCardsLibraryData.Cards.FindAll(x => x.Cost >= replaceUnitInfo.OldUnitCost); } replaceUnitInfo.NewUnitCardTitle = possibleUnits[UnityEngine.Random.Range(0, possibleUnits.Count)].Name; }
private void GetPossibleNewUnits() { ReplaceUnitInfo replaceUnitInfo = null; foreach (BoardUnit unit in _boardUnits) { replaceUnitInfo = new ReplaceUnitInfo() { OldUnitCost = unit.Card.RealCost, NewUnitPossibleCost = unit.Card.RealCost + 1, OldUnit = unit, OwnerPlayer = unit.OwnerPlayer }; _replaceUnitInfos.Add(replaceUnitInfo); } _replaceUnitInfos.ForEach(GetPossibleNewUnitByMinCost); }