private void CreateSupportEntry() { oldIndex = supportList.GetPosition(); supportList.FilterShow((x) => x.index != selectedIndex); for (int i = 0; i < supportList.Size; i++) { CharEntry other = playerData.stats[supportList.GetEntry(i).index].charData; SupportTuple tuple = playerData.stats[selectedIndex].charData.GetSupport(other); SupportValue value = playerData.baseInfo[selectedIndex].GetSupportValue(other); supportList.GetEntry(i).SetDark(tuple == null); supportList.GetEntry(i).SetSupportValue(tuple, value); } }
/// <summary> /// Shows which support levels are available and what the current level are /// </summary> /// <param name="tuple"></param> /// <param name="value"></param> public void SetSupportValue(SupportTuple tuple, SupportValue value) { SupportLetter max = (tuple != null) ? tuple.maxlevel : SupportLetter.NONE; supportS.enabled = ((int)max >= 4); supportA.enabled = ((int)max >= 3); supportB.enabled = ((int)max >= 2); supportC.enabled = ((int)max >= 1); SupportLetter achieved = (tuple != null && value != null) ? (SupportLetter)value.currentLevel : SupportLetter.NONE; supportS.color = ((int)achieved >= 4) ? Color.green : Color.black; supportA.color = ((int)achieved >= 3) ? Color.white : Color.black; supportB.color = ((int)achieved >= 2) ? Color.white : Color.black; supportC.color = ((int)achieved >= 1) ? Color.white : Color.black; SupportLetter current = (tuple != null && value != null) ? tuple.CalculateLevel(value.value) : SupportLetter.NONE; newLevel.enabled = (current > achieved); }