void setData() { EquipmentList.Clear(); if (partyInfo.getSelectedEquipType() == EQUIPMENT_TYPE.MAX) { DebugLog.Log(false, "Invalid Equipment type 'MAX'"); return; } selectedEquipType = partyInfo.getSelectedEquipType(); UserServantData servantData = partyInfo.ServantList[partyInfo.selected_unit_idx]; DBServantData dbServantData = CSVData.Inst.GetServantData(servantData.id); for (int i = 0; i < UserDataManager.Inst.GetEquipmentList().Count; i++) { UserEquipmentData equipmentData = UserDataManager.Inst.GetEquipmentList()[i]; DBEquipmentData dbEquipmentData = CSVData.Inst.GetEquipmentData(equipmentData.id); // 장착 가능 레벨 검사 bool enable_equip_level = true; if (dbEquipmentData.tier == 2) { if (servantData.level <= 10) { enable_equip_level = false; } } else if (dbEquipmentData.tier == 3) { if (servantData.level <= 20) { enable_equip_level = false; } } else if (dbEquipmentData.tier == 4) { if (servantData.level <= 30) { enable_equip_level = false; } } //선택된 파츠, 선택중인 서번트 직업, 장착가능한 레벨, 다른 서번트가 장착한 장비 , 장착할수 있는 상태인 장비 if (equipmentData.equipmentType == selectedEquipType && equipmentData.isEquiped == false && dbEquipmentData.isEquipAble(dbServantData.GetJobFlag) && enable_equip_level && equipmentData.equipServantIndex == 0 && equipmentData.state == 1) { EquipmentList.Add(equipmentData); } } }
public void Popup(UserEquipmentData result) { SetActiveButtons(true); DBEquipmentData equipmentData = CSVData.Inst.GetEquipmentData(result.id); if (equipmentData == null) { DebugLog.Log(false, "Invalid Equipment ID : " + result.id); return; } resultName.text = equipmentData.tier + "T " + equipmentData.name; if (equipmentData.equipmentIcon.texture == null) { DebugLog.Log(false, "Invalid Texture : " + equipmentData.name); } resultImage.texture = equipmentData.equipmentIcon.texture; gradeImage.texture = CSVData.Inst.GetSpriteGachaGrade((GRADE_TYPE)result.grade).texture; switch (equipmentData.optionType) { case EQUIPMENT_OPTION_TYPE.ATK: case EQUIPMENT_OPTION_TYPE.DEF: case EQUIPMENT_OPTION_TYPE.MATK: case EQUIPMENT_OPTION_TYPE.MDEF: case EQUIPMENT_OPTION_TYPE.HP: valueStatusImage.texture = CSVData.Inst.GetSpriteOptionType(equipmentData.optionType).texture; break; case EQUIPMENT_OPTION_TYPE.STR: case EQUIPMENT_OPTION_TYPE.DEX: case EQUIPMENT_OPTION_TYPE.INT: valueStatusImage.texture = CSVData.Inst.GetSpriteOptionType(equipmentData.optionType).texture; break; default: DebugLog.Log(false, "Invalid Equipment Data"); return; } resultValueStat.text = result.value.ToString(); }
//상세정보창 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 = ""; } }
public void OnClickChange() { // 선택 서번트 인덱스 int servantIndex = partyInfo.ServantList[partyInfo.selected_unit_idx].index; int equipmentIndex = EquipmentList[selectedItemIdx].index; // 서번트 인덱스 검사 UserServantData servantData = UserDataManager.Inst.GetServantInfo(servantIndex); if (servantData == null) { DebugLog.Log(true, "Invalid Servant Index : " + servantIndex); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Servant Index"); return; } // 장비 타입 검사 if (servantData.equipmentDic.ContainsKey(selectedEquipType) == false) { DebugLog.Log(true, "Invalid Servant Data"); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Servant Data"); return; } // 서번트 동일 장비 검사 if (servantData.equipmentDic[selectedEquipType] == equipmentIndex) { DebugLog.Log(false, "Already Equiped"); SimpleErrorPopupVC.Inst.UpdateErrorText("Already Equiped"); return; } // 장비 인덱스 검사 UserEquipmentData equipmentData = UserDataManager.Inst.GetEquipmentInfo(equipmentIndex); if (equipmentData == null) { DebugLog.Log(true, "Invalid Equipment Index : " + equipmentIndex); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Equipment"); return; } // 장비 인덱스에 대한 타입 검사 if (equipmentData.equipmentType != selectedEquipType) { DebugLog.Log(false, "Invalid Equipment Type : " + selectedEquipType.ToString() + ", "); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Equipment Type"); return; } // 장착중인 장비인지 검사 if (equipmentData.isEquiped == true) { DebugLog.Log(false, "Already ServantEquiped : " + equipmentData.equipServantIndex); SimpleErrorPopupVC.Inst.UpdateErrorText("Already Servant Equiped"); return; } // DB 장비 ID 검사 DBEquipmentData dbEquipmentData = CSVData.Inst.GetEquipmentData(equipmentData.id); if (dbEquipmentData == null) { DebugLog.Log(false, "Invalid Equipment Data ID : " + equipmentData.id); return; } // DB 서번트 ID 검사 DBServantData dbServantData = CSVData.Inst.GetServantData(servantData.id); if (dbServantData == null) { DebugLog.Log(false, "Invalid Servant Data ID : " + servantData.id); return; } // 장착 가능 직업 검사 if (dbEquipmentData.isEquipAble(dbServantData.GetJobFlag) == false) { DebugLog.Log(false, "Invalid Servant Equipable Job : " + dbServantData.GetJobFlag + ", Need Job : " + dbEquipmentData.jobLimit); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Servant Equipable Job"); return; } // 장착 가능 레벨 검사 if (dbEquipmentData.tier == 2) { if (servantData.level <= 10) { DebugLog.Log(false, "Invalid Servant Equipable Level : " + servantData.level + ", Need Level : 11"); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Servant Equipable Level, Need Level : 11"); return; } } else if (dbEquipmentData.tier == 3) { if (servantData.level <= 20) { DebugLog.Log(false, "Invalid Servant Equipable Level : " + servantData.level + ", Need Level : 21"); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Servant Equipable Level, Need Level : 21"); return; } } else if (dbEquipmentData.tier == 4) { if (servantData.level <= 30) { DebugLog.Log(false, "Invalid Servant Equipable Level : " + servantData.level + ", Need Level : 31"); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Servant Equipable Level, Need Level : 31"); return; } } #if UNITY_EDITOR Cheat.Inst.RequestEquipServantCheat(servantIndex, selectedEquipType, equipmentIndex); #else PacketManager.Inst.RequestEquipServant(servantIndex, selectedEquipType, equipmentIndex); #endif }
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(); }
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(); }