Exemple #1
0
    /// <summary>
    /// 更新指定技能ID的信息,技能列表中,技能索引减1即列表索引;
    /// </summary>
    /// <param name="skillId">Skill identifier.</param>
    void UpdateSkillInfo(int skillId)
    {
        if (!MySkillModule.IsLegalSkillID(skillId))
        {
            return;
        }

        //		if(skillId > skillsList.Count || skillId < 1)
        //			return;

        SkillItemUI item = skillsList[skillId - 1] as SkillItemUI;

        if (item == null)
        {
            return;
        }

        int  skillLv = MySkillModule.GetSkillLvBySkillID(skillId);
        bool canOpen = MySkillModule.canOpen(skillId);

        if (skillLv == 0 && !canOpen)//锁定状态;
        {
            item.SLockType         = SkillLockType.Locked;
            item.IsShowEquiSlotNum = false;
            item.IsShowLv          = false;
            int openLv = MySkillModule.GetSkillUnlockLvByID(skillId);
            item.SetShowHint(openLv.ToString() + "级解锁");
            return;
        }

        else if (skillLv == 0 && canOpen)//可解锁状态;
        {
            item.SLockType         = SkillLockType.Opened;
            item.IsShowEquiSlotNum = false;
            item.IsShowLv          = false;
            item.SetShowHint("可解锁");
            return;
        }

        else
        {
            item.SLockType = SkillLockType.UnLocked;
            item.SetShowLevel(skillLv);
            item.IsShowHint = false;

            int slotIdx = -1;
            if (MySkillModule.GetSlotIdxBySkillID(skillId, ref slotIdx))
            {
                item.IsShowEquiSlotNum = true;
                item.SetShowEquipNum(slotIdx + 1);
            }
            else
            {
                item.IsShowEquiSlotNum = false;
            }
        }
    }
Exemple #2
0
    /// <summary>
    /// 刷新技能说明处显示信息;
    /// </summary>
    void UpdateDetails(bool needTypeWriterEffect)
    {
        SkillLearnTableItem learnItem = MySkillModule.GetDetailBySkillId(CurSkillId);

        if (learnItem == null)
        {
            return;
        }

        SkillLevelTableItem levelItem = null;
        int levelId = 0;

        int lv = MySkillModule.GetSkillLvBySkillID(CurSkillId);

        if (lv < 0)
        {
            return;
        }

        skillName.text = learnItem.skill_name;

        if (lv == 0)                                //锁定状态/可解锁状态;
        {
            if (!MySkillModule.canOpen(CurSkillId)) //锁定;
            {
                skillLV.text = StringHelper.StringWithColor(FontColor.Red, "未解锁");
            }
            else
            {
                skillLV.text = "[079d6a]可解锁[-]";
            }

            levelId   = SkillModule.SkillLearnToLevel(CurSkillId, 1);
            levelItem = MySkillModule.GetDetailByLevelID(levelId);
            if (levelItem == null)
            {
                Debug.LogError("SkillLevel表格缺少ID为" + levelId.ToString() + "的数据!");
                return;
            }
            detail1.text = learnItem.skill_desc + "\n" + levelItem.skill_desc.Replace("\\n", "\n");

            levelId   = SkillModule.SkillLearnToLevel(CurSkillId, 2);
            levelItem = MySkillModule.GetDetailByLevelID(levelId);
            if (levelItem == null)
            {
                Debug.LogError("SkillLevel表格缺少ID为" + levelId.ToString() + "的数据!");
                return;
            }
            detail2.text = levelItem.skill_desc.Replace("\\n", "\n");

            needLvLb.gameObject.SetActive(true);
            int lvUpLv = SkillModule.GetPlayerLvBySkillLevelId(levelId);
            if (lvUpLv > 0)
            {
                PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>();
                if (pdm == null)
                {
                    GameDebug.LogError("f**k");
                    return;
                }

                if (pdm.GetLevel() < lvUpLv)
                {
                    needLvLb.text = string.Format(StringHelper.GetString("skill_open_lv", FontColor.Red), lvUpLv);
                }
                else
                {
                    needLvLb.text = string.Format(StringHelper.GetString("skill_open_lv", FontColor.Green), lvUpLv);
                }
            }
            else
            {
                needLvLb.text = "";
            }
        }

        else
        {
            skillLV.text = "Lv. " + lv.ToString();

            //levelItem = MySkillModule.GetDetailByCurLvSkillID(CurSkillId, MySkillModule.GetSkillLvBySkillID(CurSkillId) - 1);
            levelId   = SkillModule.SkillLearnToLevel(CurSkillId, lv);
            levelItem = MySkillModule.GetDetailByLevelID(levelId);

            if (levelItem == null)
            {
                Debug.LogError("error le");
                return;
            }

            detail1.text = learnItem.skill_desc + "\n" + levelItem.skill_desc.Replace("\\n", "\n");

            if (MySkillModule.IsFullLv(CurSkillId))
            {
                detail2.text = StringHelper.GetString("skill_full_lv");
                needLvLb.gameObject.SetActive(false);
            }

            else
            {
                levelId   = SkillModule.SkillLearnToLevel(CurSkillId, lv + 1);
                levelItem = MySkillModule.GetDetailByLevelID(levelId);

                if (levelItem == null)
                {
                    Debug.LogError("SkillLevel表格缺少ID为" + levelId.ToString() + "的数据!");
                    return;
                }

                needLvLb.gameObject.SetActive(true);
                int lvUpLv = SkillModule.GetPlayerLvBySkillLevelId(levelId);
                if (lvUpLv > 0)
                {
                    PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>();
                    if (pdm == null)
                    {
                        GameDebug.LogError("f**k");
                        return;
                    }

                    if (pdm.GetLevel() < lvUpLv)
                    {
                        needLvLb.text = string.Format(StringHelper.GetString("skill_open_lv", FontColor.Red), lvUpLv);
                    }
                    else
                    {
                        needLvLb.text = string.Format(StringHelper.GetString("skill_open_lv", FontColor.Green), lvUpLv);
                    }
                }
                else
                {
                    needLvLb.text = "";
                }

                detail2.text = levelItem.skill_desc.Replace("\\n", "\n");
            }
        }


        TypewriterEffect te1 = null, te2 = null;

        if (UIEffectManager.IsUIEffectActive <TypewriterEffect>(detail1.gameObject, ref te1))
        {
            if (needTypeWriterEffect)
            {
                te1.ReStart();
            }
            else
            {
                te1.SetProcessText();
            }
        }
        else
        {
            if (needTypeWriterEffect)
            {
                detail1.gameObject.AddMissingComponent <TypewriterEffect>();
            }
        }
        if (UIEffectManager.IsUIEffectActive <TypewriterEffect>(detail2.gameObject, ref te2))
        {
            if (needTypeWriterEffect)
            {
                te2.ReStart();
            }
            else
            {
                te2.SetProcessText();
            }
        }
        else
        {
            if (needTypeWriterEffect)
            {
                detail2.gameObject.AddMissingComponent <TypewriterEffect>();
            }
        }
    }
Exemple #3
0
    /// <summary>
    /// 刷新技能升级消耗显示、按钮内容显示
    /// </summary>
    void UpdateUpgradeAndCost()
    {
        int lv = MySkillModule.GetSkillLvBySkillID(CurSkillId);

        //非法数据;
        if (lv < 0)
        {
            return;
        }

        //锁定状态;
        if (lv == 0 && !MySkillModule.canOpen(CurSkillId))
        {
            int unlockLv = MySkillModule.GetSkillUnlockLvByID(CurSkillId);
            if (unlockLv < 1)
            {
                return;
            }

            //			costLb.gameObject.SetActive(false);
            fullLvSp.gameObject.SetActive(false);
            costLb.transform.parent.gameObject.SetActive(false);
            upgradeBtn.gameObject.SetActive(false);
            equipRoot.SetActive(false);

            unlockBtn.gameObject.SetActive(true);
            //			unlockBtn.isEnabled = false;

            openSp.gameObject.SetActive(true);
            openLvLb.gameObject.SetActive(true);
            openLvLb.text = StringHelper.StringWithColor(FontColor.Red, "LV" + unlockLv.ToString()) + "才可以解锁此技能!";

            return;
        }
        //可解锁状态;
        else if (0 == lv && MySkillModule.canOpen(CurSkillId))
        {
            //			costLb.gameObject.SetActive(false);
            fullLvSp.gameObject.SetActive(false);
            costLb.transform.parent.gameObject.SetActive(false);
            upgradeBtn.gameObject.SetActive(false);
            equipRoot.SetActive(false);

            unlockBtn.gameObject.SetActive(true);
            //			unlockBtn.isEnabled = true;

            openSp.gameObject.SetActive(true);
            openLvLb.gameObject.SetActive(true);
            openLvLb.text = "可以解锁此技能!";
        }

        //有等级状态;
        else
        {
            equipRoot.SetActive(true);
            openSp.gameObject.SetActive(false);
            openLvLb.gameObject.SetActive(false);
            unlockBtn.gameObject.SetActive(false);

            //满级了;
            if (MySkillModule.IsFullLv(CurSkillId))
            {
                //				costLb.gameObject.SetActive(false);
                costLb.transform.parent.gameObject.SetActive(false);
                upgradeBtn.gameObject.SetActive(false);

                fullLvSp.gameObject.SetActive(true);
            }
            else
            {
                fullLvSp.gameObject.SetActive(false);

                //				costLb.gameObject.SetActive(true);
                costLb.transform.parent.gameObject.SetActive(true);
                upgradeBtn.gameObject.SetActive(true);

                SkillLevelTableItem slti = MySkillModule.GetDetailByCurLvSkillID(CurSkillId);
                if (slti == null)
                {
                    return;
                }

                UIAtlasHelper.SetSpriteByMoneyType(costTypeSp, (ProceedsType)slti.money_type, false);
                //if (slti.money_type == 0)
                //{
                //    //costTypeSp.spriteName = "jinbi";
                //}
                //else if (slti.money_type == 1)
                //    costTypeSp.spriteName = "zuanshi";
                //				costTypeSp.MakePixelPerfect();

                PlayerDataModule pdm = ModuleManager.Instance.FindModule <PlayerDataModule>();
                if (pdm == null)
                {
                    GameDebug.LogError(@"PlayerData没了");
                }

                uint      curMoney = pdm.GetProceeds((ProceedsType)slti.money_type);
                FontColor color    = curMoney < slti.money_num ? FontColor.Red : FontColor.Green;
                costLb.text = StringHelper.StringWithColor(color, slti.money_num.ToString());
            }
        }
    }