public void GetCombinationList()//조합리스트 받아오기 { foreach (var ul in unitList) { Destroy(ul.gameObject); } unitList.Clear(); Recipe recipe = combineResult.gameObject.GetComponent <Recipe>(); foreach (var character in UnitPool.Instance.GetActiveCharacters()) { for (int i = 0; i < recipe.materialsName.Count; i++) { if (character.characterInfo.rarity == recipe.materialsRarity && character.characterInfo.unitName == recipe.materialsName[i] && !selectedUnitList.Contains(character.characterInfo)) { GameObject game = Instantiate(combinationEntity, unitListParent.transform); CombinationInfo cInfo = game.GetComponent <CombinationInfo>(); cInfo.toggle.isOn = false; cInfo.unitInfo = character.characterInfo; cInfo.ShowInfoInCombinationList(game.GetComponentInChildren <Text>()); cInfo.character = character; unitList.Add(cInfo); break; } } } foreach (var go in Slot.Instance.viewList) { if (recipe.materialsName.Count > 0) { for (int i = 0; i < recipe.materialsName.Count; i++) { if (go.Key.rarity == recipe.materialsRarity && go.Key.unitName == recipe.materialsName[i] && !selectedUnitList.Contains(go.Key)) { GameObject game = Instantiate(combinationEntity, unitListParent.transform); CombinationInfo cInfo = game.GetComponent <CombinationInfo>(); cInfo.toggle.isOn = false; cInfo.unitInfo = go.Key; cInfo.ShowInfoInCombinationList(game.GetComponentInChildren <Text>()); unitList.Add(cInfo); break; } } } } }
public void AutoFilling() { Recipe recipe = combineResult.gameObject.GetComponent <Recipe>(); int count = 0; int i = 0; int endCount = recipe.materialsName.Count; selectedNumber.Clear(); foreach (var va in Slot.Instance.viewList) { for (i = 0; i < endCount; i++) { if (selectedNumber.Contains(i)) { continue; } if (va.Key.unitName == recipe.materialsName[i] && va.Key.rarity == recipe.materialsRarity) { for (int j = 0; j <= 5; j++) { if (prefabs[j].GetComponent <CombinationPrefabs>().unitName == va.Key.unitName) { GameObject go = Instantiate(prefabs[j], combinationIcon[iconNumber]); CombinationInfo cbInfo = new CombinationInfo(); cbInfo.unitInfo = va.Key; var material = Database.Instance.rarityMaterial[(int)va.Key.rarity]; go.GetComponent <Image>().material = material; go.GetComponent <CombinationPrefabs>().cbInfo = cbInfo; go.GetComponent <CombinationPrefabs>().iconNumber = iconNumber++; selectedUnitList.Add(cbInfo.unitInfo); break; } } selectedNumber.Add(i); count++; break; } } if (count == endCount) { break; } } foreach (var character in UnitPool.Instance.GetActiveCharacters()) { for (i = 0; i < endCount; i++) { if (selectedNumber.Contains(i)) { continue; } if (character.characterInfo.unitName == recipe.materialsName[i] && character.characterInfo.rarity == recipe.materialsRarity) { for (int j = 0; j <= 5; j++) { if (prefabs[j].GetComponent <CombinationPrefabs>().unitName == character.characterInfo.unitName) { GameObject instanceGo = Instantiate(prefabs[j], combinationIcon[iconNumber]); CombinationInfo cbInfo = new CombinationInfo(); cbInfo.unitInfo = character.characterInfo; cbInfo.character = character; var material = Database.Instance.rarityMaterial[(int)character.characterInfo.rarity]; instanceGo.GetComponent <Image>().material = material; instanceGo.GetComponent <CombinationPrefabs>().cbInfo = cbInfo; instanceGo.GetComponent <CombinationPrefabs>().iconNumber = iconNumber++; selectedUnitList.Add(character.characterInfo); selectedCharacter.Add(character); break; } } selectedNumber.Add(i); count++; break; } } if (count == endCount) { break; } } }