public void UpdateRuneCombinableNum(RuneGrade grade) { isActive = true; var runeCombinableNumDataSheet = DataBase.Instance.runeCombinableNumDataSheet; if (runeCombinableNumDataSheet.TryGetRuneCombinableNum(grade, out var runeCombinableNum)) { int numIndex = 0; foreach (var uiSelectedRuneSpace in uiSelectedRuneSpaceList) { uiSelectedRuneSpace.Reset(); if (numIndex >= runeCombinableNum) { uiSelectedRuneSpace.OnHide(); } else { uiSelectedRuneSpace.OnShow(); } ++numIndex; } } }
public static int GetRandomIdByGrade(RuneGrade runeGrade) { var runeIdList = ListOfRuneIdsByGrade[runeGrade]; int randomIndex = RandomService.RandRange(0, runeIdList.Count - 1); return(runeIdList[randomIndex]); }
private void SetCombinationButton() { combinationButton.onClick.AddListener(() => { var runeIdAndIsEquippedList = uiCombinationSpace.GetRuneIdAndIsEquippedList(); foreach (var runeIdAndIsEquipped in runeIdAndIsEquippedList) { var runeId = runeIdAndIsEquipped.runeId; var isEquipped = runeIdAndIsEquipped.IsEquipped; RuneManager.Instance.RemoveRune(runeId, isEquipped); } Reset(); /// 조합 과정 /// RuneGrade combinationGrade = uiCombinationSpace.combinationGrade; // 조합된 룬 등급에서 한 단계 업그레이드 된 등급 int randomId = RuneService.GetRandomIdByGrade(combinationGrade + 1); RuneManager.Instance.AddRune(randomId); var uiObtainedRuneByCombinationScreen = MainManager.instance.backCanvas.uiMainMenu.uiIllustratedBook.uiObtainedRuneByCombinationScreen; uiObtainedRuneByCombinationScreen.SetUIObtainedScreen(randomId); UIManager.Instance.ShowNew(uiObtainedRuneByCombinationScreen); HideCombinationButton(); }); }
protected void SetGoodsPrice(int price, RuneGrade runeGrade) { if (RuneService.IsPlusGrade(runeGrade)) { price = RuneService.GetPriceOfPlusGrade(runeGrade); } goodsPrice.text = price.ToString(); }
private void GenerateData() { RuneCombinableNumDatas = new Dictionary <RuneGrade, int>(); foreach (var runeCombinableNumExcelData in RuneCombinableNumExcelDatas) { RuneGrade grade = runeCombinableNumExcelData.Grade; int num = runeCombinableNumExcelData.Num; RuneCombinableNumDatas.Add(grade, num); } }
public static bool IsPlusGrade(RuneGrade runeGrade) { if (runeGrade == RuneGrade.S_1 || runeGrade == RuneGrade.SS_1 || runeGrade == RuneGrade.SS_2 || runeGrade == RuneGrade.SSS_1 || runeGrade == RuneGrade.SSS_2 || runeGrade == RuneGrade.SSS_3) { return(true); } else { return(false); } }
public bool TryGetRuneCombinableNum(RuneGrade grade, out int num) { num = 0; if (RuneCombinableNumDatas.TryGetValue(grade, out var runeCombinableNum)) { num = runeCombinableNum; return(true); } Debug.LogError($"Error TryGetRuneCombinableNum grade:{grade}"); return(false); }
private void AddRuneToRuneListByGrade(int runeId, int num = 1) { RuneGrade grade = RuneGrade.None; if (DataBase.Instance.runeDataSheet.TryGetRuneData(runeId, out var runeData)) { grade = runeData.Grade; } if (ownedRuneListByGrade.ContainsKey(grade)) { ownedRuneListByGrade[grade] += num; } else { ownedRuneListByGrade.Add(grade, num); } }
public void LockUpdate(RuneGrade grade) { uiCanSelectRuneList = new List <UIRuneForCombination>(); foreach (var uiRuneForCombination in uiRuneListForCombination) { RuneGrade runeGrade = uiRuneForCombination.rune.runeData.Grade; if (runeGrade != grade) { uiRuneForCombination.Lock(); } else { uiRuneForCombination.Unlock(); uiCanSelectRuneList.Add(uiRuneForCombination); } } }
private void RemoveRuneToRuneListByGrade(int runeId, int num = 1) { RuneGrade grade = RuneGrade.None; if (DataBase.Instance.runeDataSheet.TryGetRuneData(runeId, out var runeData)) { grade = runeData.Grade; } if (ownedRuneListByGrade.ContainsKey(grade)) { ownedRuneListByGrade[grade] -= num; } if (ownedRuneListByGrade[grade] <= 0) { ownedRuneListByGrade.Remove(grade); } }
public static int GetPriceOfPlusGrade(RuneGrade runeGrade) { int price = 0; switch (runeGrade) { case RuneGrade.S_1: price = 100; break; case RuneGrade.SS_1: price = 200; break; case RuneGrade.SS_2: price = 300; break; case RuneGrade.SSS_1: price = 400; break; case RuneGrade.SSS_2: price = 500; break; case RuneGrade.SSS_3: price = 600; break; default: price = -1; break; } return(price); }
public UISelectedRuneSpace AddSelectedRune(RuneData runeData, UIRuneForCombination uiRuneForCombination) { if (!isActive) { combinationGrade = runeData.Grade; UpdateRuneCombinableNum(runeData.Grade); OnShow(); var uiRunesForCombination = MainManager.instance.backCanvas.uiMainMenu.uiIllustratedBook.uiRunePage.uiRuneCombination.uiRunesForCombination; uiRunesForCombination.LockUpdate(runeData.Grade); } foreach (var uiSelectedRuneSpace in uiSelectedRuneSpaceList) { if (!uiSelectedRuneSpace.gameObject.activeSelf) { continue; } if (uiSelectedRuneSpace.uiSelectedRune.rune != null) { continue; } uiSelectedRuneSpace.SetUISelectRune(runeData, uiRuneForCombination); if (IsFull()) { MainManager.instance.backCanvas.uiMainMenu.uiIllustratedBook.uiRunePage.uiRuneCombination.ShowCombinationButton(); } return(uiSelectedRuneSpace); } return(null); }
private void SetRuneGrade(RuneGrade runeGrade) { this.goodsGrade.text = RuneService.GetNameStrByGrade(runeGrade); }
private void SetRuneGrade(RuneGrade runeGrade) { this.runeGrade = runeGrade; }
public void SetGoodsGrade(RuneGrade runeGrade) { goodsGrade.text = RuneService.GetNameStrByGrade(runeGrade); }
public static string GetNameStrByGrade(RuneGrade runeGrade) { string gradeStr = ""; switch (runeGrade) { case RuneGrade.None: gradeStr = "에러"; break; case RuneGrade.F_0: gradeStr = "F등급"; break; case RuneGrade.D_0: gradeStr = "D등급"; break; case RuneGrade.C_0: gradeStr = "C등급"; break; case RuneGrade.B_0: gradeStr = "B등급"; break; case RuneGrade.A_0: gradeStr = "A등급"; break; case RuneGrade.S_0: gradeStr = "S등급"; break; case RuneGrade.S_1: gradeStr = "S+등급"; break; case RuneGrade.SS_0: gradeStr = "SS등급"; break; case RuneGrade.SS_1: gradeStr = "SS+등급"; break; case RuneGrade.SS_2: gradeStr = "SS++등급"; break; case RuneGrade.SSS_0: gradeStr = "SSS등급"; break; case RuneGrade.SSS_1: gradeStr = "SSS+등급"; break; case RuneGrade.SSS_2: gradeStr = "SSS++등급"; break; case RuneGrade.SSS_3: gradeStr = "SSS+++등급"; break; default: break; } return(gradeStr); }