public void SetUpgradeType(UPGRADE_TYPE type) { upgradeType = type; if (upgradeType == UPGRADE_TYPE.MONSTER) { partyInfo = PartyInfoVC.Inst; scrollList.prefabUnit = prefabPartyUnit; FrameScroll.SetActive(true); //선택된 몬스터 Data monsterData = partyInfo.MonsterList[partyInfo.selected_unit_idx]; } else//upgradeType == UPGRADE_TYPE.EQUIPMENT { equipmentInfo = EquipmentInfoManager.Inst; scrollList.prefabUnit = prefabItemUnit; FrameScroll.SetActive(false); //선택된 장비 Data equipmentData = equipmentInfo.EquipmentList[(int)equipmentInfo.GetSelectedMenu()][equipmentInfo.GetUnitIdx()]; InsertEquipmentUpgradeScroll(); } initScrollList(); updateView(); }
public void SetEquipment(UserEquipmentData equipmentData) { if (equipmentDic.ContainsKey(equipmentData.index) == true) { equipmentDic[equipmentData.index] = equipmentData; if (equipmentData.equipmentType == EQUIPMENT_TYPE.WEAPON) { weaponDic[equipmentData.index] = equipmentData; } else if (equipmentData.equipmentType == EQUIPMENT_TYPE.ARMOR) { armorDic[equipmentData.index] = equipmentData; } else if (equipmentData.equipmentType == EQUIPMENT_TYPE.ACCESSSORY) { accessoryDic[equipmentData.index] = equipmentData; } } else { equipmentDic.Add(equipmentData.index, equipmentData); if (equipmentData.equipmentType == EQUIPMENT_TYPE.WEAPON) { weaponDic.Add(equipmentData.index, equipmentData); } else if (equipmentData.equipmentType == EQUIPMENT_TYPE.ARMOR) { armorDic.Add(equipmentData.index, equipmentData); } else if (equipmentData.equipmentType == EQUIPMENT_TYPE.ACCESSSORY) { accessoryDic.Add(equipmentData.index, equipmentData); } } }
public void updateView(UserEquipmentData equipmentData) { imageItem.sprite = CSVData.Inst.GetEquipmentIcon(equipmentData.id); imageGrade.sprite = CSVData.Inst.GetSpriteGrade(equipmentData.gradeType); textTier.text = string.Format("{0}T", CSVData.Inst.GetEquipmentData(equipmentData.id).tier); textUpgrade.text = string.Format("+{0}", equipmentData.upgrade); }
public void updateView(bool is_success, UserEquipmentData equipmentData) { if (is_success) { objBreak.SetActive(false); textResult.text = "Upgrade Success!!!"; textResult.GetComponent <UITextGradient>().m_color1 = new Color(1, 245 / 255f, 138 / 255f); textResult.GetComponent <UITextGradient>().m_color2 = new Color(1, 176 / 255f, 45 / 255f); imageResultEffect.sprite = spriteSuccess; } else { objBreak.SetActive(true); textResult.text = "Upgrade Fail..."; textResult.GetComponent <UITextGradient>().m_color1 = new Color(150 / 255f, 150 / 255f, 150 / 255f); textResult.GetComponent <UITextGradient>().m_color2 = new Color(50 / 255f, 50 / 255f, 50 / 255f); imageResultEffect.sprite = spriteFail; } GameObject resultEquipment = Instantiate(resultItemPrefab); resultEquipment.transform.SetParent(FrameResultImage); resultEquipment.GetComponent <RectTransform>().anchoredPosition = Vector2.zero; resultEquipment.GetComponent <UpgradeResuiltItem>().updateView(equipmentData); }
//캐릭터 전체 장비(무기,갑옷,악세사리)에 존재하는 Stats의 총합을 리턴 //해당 능력치 가져올때(리턴된 Array변수명[EQUIPMENT_OPTION_TYPE.해당능력치]) //EX) equipmentValue[EQUIPMENT_OPTION_TYPE.STR] ->> 장비로 증가하는 STR 값 public static int[] GetStatsOnlyAllEquipment(UserServantData servant) { int type_max = (int)EQUIPMENT_OPTION_TYPE.MAX; int[] statsValue = new int[type_max]; for (int i = 0; i < type_max; i++) { statsValue[i] = 0; } int equip_type_max = (int)EQUIPMENT_TYPE.MAX; for (int equip_type = 0; equip_type < equip_type_max; equip_type++) { if (servant.equipmentDic[(EQUIPMENT_TYPE)equip_type] > 0) { UserEquipmentData equipData = UserDataManager.Inst.GetEquipmentInfo(servant.equipmentDic[(EQUIPMENT_TYPE)equip_type]); if (equipData == null) { DebugLog.Log(false, "Invalid EquipData Info " + servant.equipmentDic[(EQUIPMENT_TYPE)equip_type]); } statsValue[(int)equipData.optionType] += equipData.value; } else { DebugLog.Log(false, "Select servant not equip " + (EQUIPMENT_TYPE)equip_type); } } return(statsValue); }
public void ShowUpgradeEquipmentResult(bool is_success, UserEquipmentData equipmentData) { GameObject objSubView = Instantiate(Resources.Load("UI/Misc/UpgradeResultVC")) as GameObject; objSubView.transform.SetParent(this.transform); objSubView.GetComponent <RectTransform>().anchoredPosition = Vector2.zero; objSubView.GetComponent <UpgradeResultVC>().updateView(is_success, equipmentData); LobbyTopInfo.Inst.UpdateTopInfo(); }
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); } } }
/// <param name="isBasicStatue"> 힘민지만 계산할지 </param> public void Equipment(Dictionary <EQUIPMENT_TYPE, int> equipmentDic, bool isBasicStatue = true) { foreach (KeyValuePair <EQUIPMENT_TYPE, int> state in equipmentDic) { if (state.Value != 0) { UserEquipmentData equipmentData = UserDataManager.Inst.GetEquipmentInfo(state.Value); if (isBasicStatue) { switch (equipmentData.optionType) { case EQUIPMENT_OPTION_TYPE.STR: Status[EFFECT_ID.STR] += equipmentData.value; break; case EQUIPMENT_OPTION_TYPE.DEX: Status[EFFECT_ID.DEX] += equipmentData.value; break; case EQUIPMENT_OPTION_TYPE.INT: Status[EFFECT_ID.INT] += equipmentData.value; break; } } else { switch (equipmentData.optionType) { case EQUIPMENT_OPTION_TYPE.ATK: Status[EFFECT_ID.ATK] += equipmentData.value; break; case EQUIPMENT_OPTION_TYPE.MATK: Status[EFFECT_ID.MATK] += equipmentData.value; break; case EQUIPMENT_OPTION_TYPE.DEF: Status[EFFECT_ID.DEF] += equipmentData.value; break; case EQUIPMENT_OPTION_TYPE.MDEF: Status[EFFECT_ID.MDEF] += equipmentData.value; break; } } } } }
public void UpgradeEquipment() { if (textNeedPerCount.color == Color.red) { SimpleErrorPopupVC.Inst.UpdateErrorText("Not Enough Scroll"); return; } UserEquipmentData userEquipmentData = UserDataManager.Inst.GetEquipmentInfo(equipmentData.index); if (userEquipmentData == null) { DebugLog.Log(false, "Invalid Request Equipment ID : " + equipmentData.index); return; } if (userEquipmentData.state != 1) { DebugLog.Log(false, "Invalid Equipment State : " + userEquipmentData.state); return; } if (userEquipmentData.equipServantIndex != 0) { DebugLog.Log(false, "Invalid Equipment Already Equip Servant Index : " + userEquipmentData.equipServantIndex); return; } List <int> addItem = new List <int>(); DBEquipmentUpgradeData upgradeData = CSVData.Inst.GetEquipmentUpgradeData(equipmentData.grade, (int)equipmentData.equipmentType, equipmentData.upgrade); if (upgradeData == null) { DebugLog.Log(false, "Invalid Upgrade Data : " + equipmentData.grade + ", " + equipmentData.equipmentType + ", " + equipmentData.upgrade); return; } addItem.Add(upgradeData.needItemID); #if UNITY_EDITOR Cheat.Inst.RequestEquipmentUpgradeCheat(userEquipmentData.index); #else PacketManager.Inst.RequestEquipmentUpgrade(equipmentData.index, addItem); #endif }
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(); }
public void setData() { for (int i = 0; i < EquipmentList.Count; i++) { EquipmentList[i].Clear(); } EquipmentList.Clear(); for (int i = 0; i < 3; i++) // 0:weapon, 1:armor, 2:acc { List <UserEquipmentData> item_list = new List <UserEquipmentData>(); EquipmentList.Add(item_list); } if (UserDataManager.Inst.GetEquipmentList() != null) { for (int i = 0; i < UserDataManager.Inst.GetEquipmentList().Count; i++) { UserEquipmentData equip_info = UserDataManager.Inst.GetEquipmentList()[i]; if (EQUIPMENT_TYPE.WEAPON == equip_info.equipmentType) { EquipmentList[(int)Inventory_Menu_Type.WEAPON].Add(equip_info); } else if (EQUIPMENT_TYPE.ARMOR == equip_info.equipmentType) { EquipmentList[(int)Inventory_Menu_Type.ARMOR].Add(equip_info); } else if (EQUIPMENT_TYPE.ACCESSSORY == equip_info.equipmentType) { EquipmentList[(int)Inventory_Menu_Type.ACCESSORY].Add(equip_info); } else { DebugLog.Log(false, "Equipment type : max"); } } } }
public bool AddEquipmentData(UserEquipmentData equipmentData) { if (equipmentDic.ContainsKey(equipmentData.index) == true) { return(false); } equipmentDic.Add(equipmentData.index, equipmentData); if (equipmentData.equipmentType == EQUIPMENT_TYPE.WEAPON) { weaponDic.Add(equipmentData.index, equipmentData); } else if (equipmentData.equipmentType == EQUIPMENT_TYPE.ARMOR) { armorDic.Add(equipmentData.index, equipmentData); } else if (equipmentData.equipmentType == EQUIPMENT_TYPE.ACCESSSORY) { accessoryDic.Add(equipmentData.index, equipmentData); } return(true); }
public void InsertUnit(int scroll_unit_idx) { UserDataManager u_data = UserDataManager.Inst; if (dType == DECONSTRUCTION_TYPE.SERVANT || dType == DECONSTRUCTION_TYPE.MONSTER) { if (dType == DECONSTRUCTION_TYPE.SERVANT) // Servant { UserServantData servantData = UserDataManager.Inst.GetServantInfo(scroll_unit_idx); if (servantData == null) { DebugLog.Log(false, "Invalid Request Servant ID : " + scroll_unit_idx); return; } if (servantData.state != 1) { DebugLog.Log(false, "Invalid Servant State : " + servantData.state); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Servant State"); return; } if (servantData.partyIndex != 0) { DebugLog.Log(false, "Invalid Servant Party Index : " + servantData.partyIndex); SimpleErrorPopupVC.Inst.UpdateErrorText("Already In Party"); return; } } else//Monster { UserMonsterData monsterData = UserDataManager.Inst.GetMonsterInfo(scroll_unit_idx); if (monsterData == null) { DebugLog.Log(false, "Invalid Request Monster ID : " + scroll_unit_idx); return; } if (monsterData.state != 1) { DebugLog.Log(false, "Invalid Monster State : " + monsterData.state); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Monster State"); return; } if (monsterData.partyIndex != 0) { DebugLog.Log(false, "Invalid Monster Index : " + monsterData.partyIndex); SimpleErrorPopupVC.Inst.UpdateErrorText("Already In Party"); return; } } } else//Equip { UserEquipmentData equipmentData = UserDataManager.Inst.GetEquipmentInfo(scroll_unit_idx); if (equipmentData == null) { DebugLog.Log(false, "Invalid Request Servant ID : " + scroll_unit_idx); return; } if (equipmentData.state != 1) { DebugLog.Log(false, "Invalid Equip State : " + equipmentData.state); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Equipment State"); return; } if (equipmentData.isEquiped) { DebugLog.Log(false, "Invalid Equip isEquiped : " + equipmentData.isEquiped); SimpleErrorPopupVC.Inst.UpdateErrorText("Already Equiped Servant"); return; } } deconstructionUnitList[unit_count] = scroll_unit_idx; unit_count++; updateView(); }
public void updateServantInfo(UserServantData s_data) { //unit_idx = u_idx; for (int i = 0; i < buttonEquip.Length; i++) { buttonEquip[i].gameObject.SetActive(false); } for (int i = 0; i < 3; i++) { buttonEquip[i].gameObject.SetActive(true); } UserServantData unit_data = s_data;// UserDataManager.Inst.GetServantInfo(unit_idx); if (unit_data == null) { DebugLog.Log(false, "Invalid Servant data By ServantInfoManager"); } DBServantData db_unit_data = CSVData.Inst.GetServantData(unit_data.id); if (db_unit_data == null) { DebugLog.Log(false, "Invalid DB_Servant data By ServantInfoManager"); } textUnitName.text = db_unit_data.name; textLevel.text = string.Format("{0}", unit_data.level); for (EQUIPMENT_TYPE type = EQUIPMENT_TYPE.WEAPON; type < EQUIPMENT_TYPE.MAX; type++) { if (unit_data.equipmentDic[type] != 0) { UserEquipmentData equip_info = UserDataManager.Inst.GetEquipmentInfo(unit_data.equipmentDic[type]); if (equip_info == null) { DebugLog.Log(true, "Invalid Index : " + unit_data.equipmentDic[type]); return; } buttonEquip[(int)type].image.sprite = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)equip_info.grade); buttonEquip[(int)type].transform.GetChild(0).GetComponent <Image>().enabled = false; buttonEquip[(int)type].transform.GetChild(1).GetComponent <Image>().enabled = true; buttonEquip[(int)type].transform.GetChild(1).GetComponent <Image>().sprite = CSVData.Inst.GetEquipmentData(equip_info.id).equipmentIcon; } else { buttonEquip[(int)type].image.sprite = spriteEmptySlot; buttonEquip[(int)type].transform.GetChild(0).GetComponent <Image>().enabled = true; buttonEquip[(int)type].transform.GetChild(1).GetComponent <Image>().enabled = false; } } if (unit_data.level >= DEFINE.MAX_LEVEL) { textExp.text = "MAX"; imageExp.fillAmount = 1f; } else { DBExpData dbExpData = CSVData.Inst.GetExpData(unit_data.level); if (dbExpData == null) { DebugLog.Log(false, "Invalid Level Data"); } else { int exExp = 0; if (unit_data.level - 1 > 0) { DBExpData exDBExpData = CSVData.Inst.GetExpData(unit_data.level - 1); if (exDBExpData == null) { DebugLog.Log(false, "Invalid Level Data"); } else { exExp = exDBExpData.charExp; } } textExp.text = unit_data.exp + " / " + dbExpData.charExp; imageExp.fillAmount = (exExp - unit_data.exp) / (float)(exExp - dbExpData.charExp); } } //textGradeText.text; textGrade.text = string.Format("{0}", unit_data.gradeType); textGrade.color = DEFINE.GetGradeColor(unit_data.gradeType); //textJobText.text; imagejob.sprite = CSVData.Inst.GetSpriteServantJob(unit_data.jobType); //textStatsText.text; int[] stat_by_set_equipment = Calculator.GetServantStatsEquipAllItem(unit_data); textStr.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.STR]); textDex.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.DEX]); textInt.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.INT]); textHP.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.HP]); textAvoid.text = string.Format("{0}", db_unit_data.avoid); textPAtk.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.ATK]); textPDef.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.DEF]); textMAtk.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.MATK]); textMDef.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.MDEF]); textPCri.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.CriDmg]); textPCriPer.text = string.Format("{0}", stat_by_set_equipment[(int)EQUIPMENT_OPTION_TYPE.CriPer]); /* * textStr.text = string.Format("{0}", unit_data.status.basicStr); * textDex.text = string.Format("{0}", unit_data.status.basicDex); * textInt.text = string.Format("{0}", unit_data.status.basicInt); * * textHP.text = string.Format("{0}", unit_data.maxHP); * textSpeed.text = string.Format("{0}", db_unit_data.speed); * textPAtk.text = string.Format("{0}", unit_data.atk); * textPDef.text = string.Format("{0}", unit_data.def); * textMAtk.text = string.Format("{0}", unit_data.mAtk); * textMDef.text = string.Format("{0}", unit_data.mDef); * textPCri.text = string.Format("{0}", unit_data.criDmg); * textPCriPer.text = string.Format("{0}", unit_data.criPer); */ if (unit_data.activeSkillList.Count > 0) { imageActive.gameObject.SetActive(true); imageActive.sprite = CSVData.Inst.GetSkillActiveData(unit_data.activeSkillList[0].id).activeIcon; } else { imageActive.gameObject.SetActive(false); } if (unit_data.passiveSkillList.Count > 0) { imagePassive.gameObject.SetActive(true); imagePassive.sprite = CSVData.Inst.GetSkillPassiveData(unit_data.passiveSkillList[0].id).passiveIcon; } else { imagePassive.gameObject.SetActive(false); } }
public void updateSlot(int unit_idx) { if (unit_idx > 0) { if (SubViewDeconstruction.Inst.GetDeconstructionType() == DECONSTRUCTION_TYPE.SERVANT || SubViewDeconstruction.Inst.GetDeconstructionType() == DECONSTRUCTION_TYPE.MONSTER) { FrameUnitInfo.SetActive(true); FrameItemInfo.SetActive(false); imageEmptySlot.enabled = false; this.GetComponent <Button>().interactable = true; PartyInfoVC party_info = PartyInfoVC.Inst; if (party_info.selectedMenu == PartyInfoVC.menu_type.SERVANT) { UserServantData s_info = UserDataManager.Inst.GetServantInfo(unit_idx); if (s_info == null) { DebugLog.Log(false, "Invalid Servant ID : " + s_info.id); } imageUnitGrade.sprite = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)s_info.grade); imageUnit.sprite = CSVData.Inst.GetServantData(s_info.id).servantIcon; textUnitLevel.text = string.Format("{0}", s_info.level); textStr.text = string.Format("{0}", s_info.status.basicStr); textDex.text = string.Format("{0}", s_info.status.basicDex); textInt.text = string.Format("{0}", s_info.status.basicInt); } else if (party_info.selectedMenu == PartyInfoVC.menu_type.MONSTER) { UserMonsterData m_info = UserDataManager.Inst.GetMonsterInfo(unit_idx); if (m_info == null) { DebugLog.Log(false, "Invalid Monster ID : " + m_info.id); } imageUnitGrade.sprite = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)m_info.grade); imageUnit.sprite = CSVData.Inst.GetMonsterData(m_info.id).monsterIcon; textUnitLevel.text = string.Format("{0}", m_info.level); textStr.text = string.Format("{0}", m_info.status.basicStr); textDex.text = string.Format("{0}", m_info.status.basicDex); textInt.text = string.Format("{0}", m_info.status.basicInt); } } else//Equip { FrameUnitInfo.SetActive(false); FrameItemInfo.SetActive(true); imageEmptySlot.enabled = false; this.GetComponent <Button>().interactable = true; UserEquipmentData e_info = UserDataManager.Inst.GetEquipmentInfo(unit_idx); if (e_info == null) { DebugLog.Log(false, "Invalid Equip ID : " + e_info.id); } imageItemGrade.sprite = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)e_info.grade); imageItem.sprite = CSVData.Inst.GetEquipmentData(e_info.id).equipmentIcon; textItemLevel.text = string.Format("{0}", e_info.upgrade); imageStat.sprite = CSVData.Inst.GetSpriteOptionType(e_info.optionType); textStat.text = string.Format("{0}", e_info.value); } } else { this.GetComponent <Button>().interactable = false; imageEmptySlot.enabled = true; } }
//상세정보창 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(); }
public void OnClickButtonGrind() { if (dType == DECONSTRUCTION_TYPE.SERVANT) // Servant { List <int> servantIndexList = new List <int>(); for (int i = 0; i < deconstructionUnitList.Length; i++) { if (deconstructionUnitList[i] == 0) { continue; } UserServantData servantData = UserDataManager.Inst.GetServantInfo(deconstructionUnitList[i]); if (servantData == null) { DebugLog.Log(false, "Invalid Request Servant ID : " + deconstructionUnitList[i]); return; } if (servantData.state != 1) { DebugLog.Log(false, "Invalid Servant State : " + servantData.state); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Servant State"); return; } if (servantData.partyIndex != 0) { DebugLog.Log(false, "Invalid Servant Index : " + servantData.partyIndex); SimpleErrorPopupVC.Inst.UpdateErrorText("Already In Party"); return; } servantIndexList.Add(deconstructionUnitList[i]); } #if UNITY_EDITOR Cheat.Inst.RequestServantBurnCheat(servantIndexList); #else PacketManager.Inst.RequestServantBurn(servantIndexList); #endif } else if (dType == DECONSTRUCTION_TYPE.MONSTER) // Monster { List <int> monsterIndexList = new List <int>(); for (int i = 0; i < deconstructionUnitList.Length; i++) { if (deconstructionUnitList[i] == 0) { continue; } UserMonsterData monsterData = UserDataManager.Inst.GetMonsterInfo(deconstructionUnitList[i]); if (monsterData == null) { DebugLog.Log(false, "Invalid Request Monster ID : " + deconstructionUnitList[i]); return; } if (monsterData.state != 1) { DebugLog.Log(false, "Invalid Monster State : " + monsterData.state); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Monster State"); return; } if (monsterData.partyIndex != 0) { DebugLog.Log(false, "Invalid Monster Index : " + monsterData.partyIndex); SimpleErrorPopupVC.Inst.UpdateErrorText("Already In Party"); return; } monsterIndexList.Add(deconstructionUnitList[i]); } #if UNITY_EDITOR Cheat.Inst.RequestMonsterBurnCheat(monsterIndexList); #else PacketManager.Inst.RequestMonsterBurn(monsterIndexList); #endif } else if (dType == DECONSTRUCTION_TYPE.EQUIPMENT) // Equip { List <int> equipmentIndexList = new List <int>(); for (int i = 0; i < deconstructionUnitList.Length; i++) { if (deconstructionUnitList[i] == 0) { continue; } UserEquipmentData equipmentData = UserDataManager.Inst.GetEquipmentInfo(deconstructionUnitList[i]); if (equipmentData == null) { DebugLog.Log(false, "Invalid Request Equipment ID : " + deconstructionUnitList[i]); return; } if (equipmentData.state != 1) { DebugLog.Log(false, "Invalid Equipment State : " + equipmentData.state); SimpleErrorPopupVC.Inst.UpdateErrorText("Invalid Equipment State"); return; } if (equipmentData.equipServantIndex != 0) { DebugLog.Log(false, "Invalid Equipment Already Equip Servant Index : " + equipmentData.equipServantIndex); SimpleErrorPopupVC.Inst.UpdateErrorText("Already Equiped Servant"); return; } equipmentIndexList.Add(deconstructionUnitList[i]); } #if UNITY_EDITOR Cheat.Inst.RequestEquipmentBurnCheat(equipmentIndexList); #else PacketManager.Inst.RequestEquipmentBurn(equipmentIndexList); #endif } }
public void InsertUnit(int scroll_unit_idx) { //재료를 다른 몬스터(또는 다른 주문서)로 바꿀 수 있기 때문에 필요 없을듯. //if (inserted_object_idx > 0) //{ // DebugLog.Log(false, "Warning : 이미 필요한 아이템 삽입됨!"); //} UserDataManager u_data = UserDataManager.Inst; int unit_idx = 0; if (checkInsertedObject(scroll_unit_idx)) { DebugLog.Log(false, "Warning : 이미 분해 슬롯에 등록된 유닛 입니다."); } else { if (upgradeType == UPGRADE_TYPE.MONSTER) { UserMonsterData insertMonsterData = UserDataManager.Inst.GetMonsterInfo(scroll_unit_idx); if (insertMonsterData == null) { DebugLog.Log(false, "Invalid Request Monster ID : " + scroll_unit_idx); return; } if (insertMonsterData.state != 1) { DebugLog.Log(false, "Invalid Monster State : " + insertMonsterData.state); SimpleErrorPopupVC.Inst.UpdateErrorText("Monster Invalid Monster State"); return; } if (insertMonsterData.partyIndex != 0) { DebugLog.Log(false, "Invalid Monster Index : " + insertMonsterData.partyIndex); SimpleErrorPopupVC.Inst.UpdateErrorText("Monster Already In Party"); return; } //같은 종류의 몬스터, 같은 등급, 선택된 몬스터보다 등급이 낮거나 같은 것들만, //if (insertMonsterData.id == partyInfo.MonsterList[i].id && insertMonsterData.grade == partyInfo.MonsterList[i].grade && insertMonsterData.upgrade >= partyInfo.MonsterList[i].upgrade) //현재 선택된 몬스터 제외 : insertMonsterData.index >= partyInfo.MonsterList[i].index } else//Equip { UserEquipmentData insertEquipmentData = UserDataManager.Inst.GetEquipmentInfo(scroll_unit_idx); if (insertEquipmentData == null) { DebugLog.Log(false, "Invalid Request Servant ID : " + scroll_unit_idx); return; } if (insertEquipmentData.state != 1) { DebugLog.Log(false, "Invalid Equip State : " + insertEquipmentData.state); return; } if (insertEquipmentData.isEquiped) { DebugLog.Log(false, "Invalid Equip isEquiped : " + insertEquipmentData.isEquiped); return; } //같은 종류의 장비, 같은 등급, 선택된 장비보다 등급이 낮거나 같은 것들만 } unit_idx = scroll_unit_idx; inserted_object_idx = unit_idx; updateView(); } }