Exemple #1
0
    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
    }
Exemple #2
0
    void updateView()
    {
        //선택중인 오브젝트 정보
        if (upgradeType == UPGRADE_TYPE.MONSTER)
        {
            FrameSelectedObject.sprite     = CSVData.Inst.GetSpriteGrade(monsterData.gradeType);
            ImageSelectedObject.sprite     = CSVData.Inst.GetMonsterData(monsterData.id).monsterIcon;
            textSelectedObjectUpgrade.text = string.Format("+{0}", monsterData.upgrade);
        }
        else
        {
            FrameSelectedObject.sprite     = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)equipmentData.grade);
            ImageSelectedObject.sprite     = CSVData.Inst.GetEquipmentData(equipmentData.id).equipmentIcon;
            textSelectedObjectUpgrade.text = string.Format("+{0}", equipmentData.upgrade);
        }

        if (upgradeType == UPGRADE_TYPE.MONSTER)//강화에 사용될 오브젝트를 선택했을때
        {
            if (inserted_object_idx > 0)
            {
                FrameInsertObject.gameObject.SetActive(true);
                FrameResultSlot.gameObject.SetActive(true);
                textUgt.gameObject.SetActive(true);

                //강화에 사용될 오브젝트 정보
                UserMonsterData inserted_monster_data = UserDataManager.Inst.GetMonsterInfo(inserted_object_idx);
                if (inserted_monster_data == null)
                {
                    DebugLog.Log(false, "Invalid Insert monster data by SubViewUpgrade");
                    return;
                }

                FrameInsertObject.sprite     = CSVData.Inst.GetSpriteGrade(inserted_monster_data.gradeType);
                ImageInsertObject.sprite     = CSVData.Inst.GetMonsterData(inserted_monster_data.id).monsterIcon;
                textInsertObjectUpgrade.text = string.Format("+{0}", inserted_monster_data.upgrade);
                textNeedPerCount.text        = "";

                DBMonsterUpgradeData upgradeData = CSVData.Inst.GetMonsterUpgradeData(monsterData.grade, monsterData.upgrade, inserted_monster_data.upgrade);
                if (upgradeData == null)
                {
                    DebugLog.Log(false, "Invalid Upgrade Data : " + monsterData.grade + ", " + monsterData.upgrade + ", " + inserted_monster_data.upgrade);
                    return;
                }

                //강화 비용, 성공률
                textUgt.text        = string.Format("{0}", (upgradeData.needUTGCount / 10000));
                textSuccessPer.text = string.Format("{0}%", upgradeData.successPer);

                //강화 성공시 오브젝트 정보
                FrameResultSlot.sprite = CSVData.Inst.GetSpriteGrade(monsterData.gradeType);
                imageResultSlot.sprite = CSVData.Inst.GetMonsterData(monsterData.id).monsterIcon;
                textResultUpgrade.text = string.Format("+{0}", monsterData.upgrade + 1);

                buttonUpgrade.interactable = true;
            }
            else
            {
                FrameInsertObject.gameObject.SetActive(false);
                textUgt.gameObject.SetActive(false);
                textSuccessPer.text = "";
                FrameResultSlot.gameObject.SetActive(false);

                buttonUpgrade.interactable = false;
            }
        }
        else if (upgradeType == UPGRADE_TYPE.EQUIPMENT)
        {
            FrameInsertObject.gameObject.SetActive(true);
            FrameResultSlot.gameObject.SetActive(true);
            textUgt.gameObject.SetActive(true);

            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;
            }

            DBItemData scrollData = CSVData.Inst.GetItemData(upgradeData.needItemID);
            if (scrollData == null)
            {
                DebugLog.Log(false, "Invalid Scroll Data : " + upgradeData.needItemID);
                return;
            }

            FrameInsertObject.sprite = CSVData.Inst.GetSpriteGrade(GRADE_TYPE.COMMON);
            ImageInsertObject.sprite = scrollData.ItemIcon;
            //주문서는 업그레이드 표시 X
            textInsertObjectUpgrade.text = "";
            int itemCount = UserDataManager.Inst.GetItemCount(scrollData.id);
            textNeedPerCount.text = upgradeData.needItemCount + "/" + itemCount;
            if (itemCount < upgradeData.needItemCount)
            {
                textNeedPerCount.color = Color.red;
            }
            else
            {
                textNeedPerCount.color = Color.white;
            }

            //강화 비용, 성공률
            textUgt.text        = string.Format("{0}", upgradeData.needUTGCount);
            textSuccessPer.text = string.Format("{0}%", upgradeData.successPer);

            //강화 성공시 오브젝트 정보
            FrameResultSlot.sprite = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)equipmentData.grade);
            imageResultSlot.sprite = CSVData.Inst.GetEquipmentData(equipmentData.id).equipmentIcon;
            textResultUpgrade.text = string.Format("+{0}", equipmentData.upgrade + 1);

            buttonUpgrade.interactable = true;
        }
        else
        {
            FrameInsertObject.gameObject.SetActive(false);
            textUgt.gameObject.SetActive(false);
            textSuccessPer.text = "";
            FrameResultSlot.gameObject.SetActive(false);

            buttonUpgrade.interactable = false;
        }
    }