public bool isEquipAble(SERVANT_JOB_FLAG job) { if (jobLimit == SERVANT_JOB_FLAG.None) { return(false); } if (jobLimit == SERVANT_JOB_FLAG.All) { return(true); } if ((jobLimit & job) == job) { return(true); } return(false); }
public void updateChangeItemInfo(int selectedChangeItemIdx) { if (selectedChangeItemIdx >= 0) { selectedItemIdx = selectedChangeItemIdx; int change_item_idx = EquipmentList[selectedItemIdx].index; FrameChangeItemInfo.SetActive(true); FrameChangeItemNone.SetActive(false); UserEquipmentData changeEquipmentData = UserDataManager.Inst.GetEquipmentInfo(change_item_idx); if (changeEquipmentData == null) { DebugLog.Log(false, "Invalid Equipment data"); } DBEquipmentData dBChangeEquipment = CSVData.Inst.GetEquipmentData(changeEquipmentData.id); if (dBChangeEquipment == null) { DebugLog.Log(false, "Invalid equipmentData ID : " + changeEquipmentData.id); } imageChangeItem.sprite = dBChangeEquipment.equipmentIcon; textChangeItemName.text = dBChangeEquipment.name; //textCurrentGradeText.text; textChangeGrade.text = string.Format("{0}", ((GRADE_TYPE)changeEquipmentData.grade)); textChangeGrade.color = DEFINE.GetGradeColor((GRADE_TYPE)changeEquipmentData.grade); //textCurrentUpgradeText.text; textChangeUpgrade.text = string.Format("+{0}", (changeEquipmentData.upgrade));; //textCurrentTierText.text; textChangeTier.text = string.Format("{0}T", dBChangeEquipment.tier); //textCurrentJobText.text; Color temp_color = imageChangeJob[0].color; for (int i = 0; i < 5; i++) { imageChangeJob[i].color = new Color(temp_color.r, temp_color.g, temp_color.b, 0.2f); } if (dBChangeEquipment.jobLimit == SERVANT_JOB_FLAG.All) { for (int i = 0; i < 5; i++) { imageChangeJob[i].color = new Color(temp_color.r, temp_color.g, temp_color.b, 1f); } } else { for (int i = 0; i < 5; i++) { SERVANT_JOB_FLAG checkJob = (SERVANT_JOB_FLAG)Math.Pow(2, (double)(i + 1)); if (dBChangeEquipment.isEquipAble(checkJob) == true) { imageChangeJob[i].color = new Color(temp_color.r, temp_color.g, temp_color.b, 1f); } } } //초기화 for (int i = 0; i < 10; i++) { change_stat[i] = 0; } imageChangeStat[0].sprite = CSVData.Inst.GetSpriteOptionType(changeEquipmentData.optionType); textChangeStat[0].text = string.Format("{0}", changeEquipmentData.value); change_stat[(int)changeEquipmentData.optionType] = changeEquipmentData.value; buttonChange.interactable = true; } else { DebugLog.Log(false, "change item none"); FrameChangeItemInfo.SetActive(false); FrameChangeItemNone.SetActive(true); buttonChange.interactable = false; } SetChangeAllValue(); }
//상세정보창 Update public void updateDetailInfo(int _selected_unit_idx) { unit_idx = _selected_unit_idx; UserEquipmentData equipmentData = UserDataManager.Inst.GetEquipmentInfo(EquipmentList[(int)selectedMenu][unit_idx].index); if (equipmentData == null) { DebugLog.Log(false, "Invalid Equipment Inddex : " + unit_idx); } DBEquipmentData dBEquipmentData = CSVData.Inst.GetEquipmentData(equipmentData.id); if (dBEquipmentData == null) { DebugLog.Log(false, "Invalid equipment ID : " + equipmentData.id); } imageEquipment.sprite = dBEquipmentData.equipmentIcon; textEquipmentName.text = dBEquipmentData.name; //textCurrentGradeText.text; textGrade.text = string.Format("{0}", ((GRADE_TYPE)equipmentData.grade)); textGrade.color = DEFINE.GetGradeColor((GRADE_TYPE)equipmentData.grade); //textCurrentUpgradeText.text; textUpgrade.text = string.Format("+{0}", (equipmentData.upgrade));; //textCurrentTierText.text; textTier.text = string.Format("{0}T", dBEquipmentData.tier); //textCurrentJobText.text; Color temp_color = imageJobIcon[0].color; for (int i = 0; i < 5; i++) { imageJobIcon[i].color = new Color(temp_color.r, temp_color.g, temp_color.b, 0.2f); } if (dBEquipmentData.jobLimit == SERVANT_JOB_FLAG.All) { for (int i = 0; i < 5; i++) { imageJobIcon[i].color = new Color(temp_color.r, temp_color.g, temp_color.b, 1f); } } else { for (int i = 0; i < 5; i++) { SERVANT_JOB_FLAG checkJob = (SERVANT_JOB_FLAG)Math.Pow(2, (double)(i + 1)); if (dBEquipmentData.isEquipAble(checkJob) == true) { imageJobIcon[i].color = new Color(temp_color.r, temp_color.g, temp_color.b, 1f); } } } imageStatsIcon.sprite = CSVData.Inst.GetSpriteOptionType(dBEquipmentData.optionType); textStats.text = string.Format("{0}", equipmentData.value); //장착 중인 장비인지. if (equipmentData.upgrade >= DEFINE.MAX_EQUIPMENT_UPGRADE_COUNT) { buttonUpgrade.interactable = false; textEquipItem.fontSize = 40; textEquipItem.text = "MAX"; } else if (equipmentData.equipServantIndex > 0) { buttonUpgrade.interactable = false; textEquipItem.fontSize = 60; textEquipItem.text = "E"; } else { buttonUpgrade.interactable = true; textEquipItem.text = ""; } }
void updateAllView() { //Current Item UserServantData servantData = partyInfo.ServantList[partyInfo.selected_unit_idx]; if (servantData == null) { DebugLog.Log(false, "Invalid Servant Index : " + partyInfo.selected_unit_idx); } UserEquipmentData currentEquipmentData = null; if (partyInfo.getSelectedEquipType() == EQUIPMENT_TYPE.MAX) { DebugLog.Log(false, "Invalid Equipment type 'MAX'"); return; } int current_item_idx = servantData.equipmentDic[partyInfo.getSelectedEquipType()]; if (current_item_idx > 0) { FrameCurrentItemInfo.SetActive(true); FrameCurrentItemNone.SetActive(false); currentEquipmentData = UserDataManager.Inst.GetEquipmentInfo(current_item_idx); if (currentEquipmentData == null) { DebugLog.Log(false, "Invalid Equipment data"); } DBEquipmentData dBEquipment = CSVData.Inst.GetEquipmentData(currentEquipmentData.id); if (dBEquipment == null) { DebugLog.Log(false, "Invalid equipmentData ID : " + currentEquipmentData.id); } imageCurrentItem.sprite = dBEquipment.equipmentIcon; textCurrentItemName.text = dBEquipment.name; //textCurrentGradeText.text; textCurrentGrade.text = string.Format("{0}", ((GRADE_TYPE)currentEquipmentData.grade)); textCurrentGrade.color = DEFINE.GetGradeColor((GRADE_TYPE)currentEquipmentData.grade); //textCurrentUpgradeText.text; textCurrentUpgrade.text = string.Format("+{0}", (currentEquipmentData.upgrade));; //textCurrentTierText.text; textCurrentTier.text = string.Format("{0}T", dBEquipment.tier); //textCurrentJobText.text; Color temp_color = imageCurrentJob[0].color; for (int i = 0; i < 5; i++) { imageCurrentJob[i].color = new Color(temp_color.r, temp_color.g, temp_color.b, 0.2f); } if (dBEquipment.jobLimit == SERVANT_JOB_FLAG.All) { for (int i = 0; i < 5; i++) { imageCurrentJob[i].color = new Color(temp_color.r, temp_color.g, temp_color.b, 1f); } } else { for (int i = 0; i < 5; i++) { SERVANT_JOB_FLAG checkJob = (SERVANT_JOB_FLAG)Math.Pow(2, (double)(i + 1)); if (dBEquipment.isEquipAble(checkJob) == true) { imageCurrentJob[i].color = new Color(temp_color.r, temp_color.g, temp_color.b, 1f); } } } //초기화 for (int i = 0; i < 10; i++) { current_stat[i] = 0; } imageCurrentStat[0].sprite = CSVData.Inst.GetSpriteOptionType(currentEquipmentData.optionType); textCurrentStat[0].text = string.Format("{0}", currentEquipmentData.value); current_stat[(int)currentEquipmentData.optionType] = currentEquipmentData.value; //장착된 아이템이 있을땐 Clear버튼 활성화 buttonClear.interactable = true; } else { DebugLog.Log(false, "current item none"); FrameCurrentItemInfo.SetActive(false); FrameCurrentItemNone.SetActive(true); //장착된 아이템이 없을땐 Clear버튼 비활성화 buttonClear.interactable = false; } updateChangeItemInfo(selectedItemIdx); SetChangeAllValue(); }