Beispiel #1
0
    public void loadSkill2Asset()
    {
        SkillAsset2Collection newSkillCollection = mResLoader.LoadResource <SkillAsset2Collection>("SkillsNewType/SkillAsset2Collection");

        //for(int i = 0; i<5; i++)
        //{
        //    for(int j = 0; j<5; j++)
        //    {
        //        SkillAsset2 asset = mResLoader.LoadResource<SkillAsset2>("SkillsNewType/Skills/")
        //    }

        //}

        foreach (SkillAsset2List list in newSkillCollection.SkillCollection)
        {
            foreach (SkillAsset2 asset in list.SkillBranch)
            {
                SkillInfo2 assetInf = new SkillInfo2();
                assetInf.SkillId      = asset.SkillId;
                assetInf.SkillName    = asset.SkillName;
                assetInf.Des          = asset.SkingDesp;
                assetInf.EffectDes    = asset.SkingEffectDesp;
                assetInf.Branch       = asset.Branch;
                assetInf.Level        = asset.Level;
                assetInf.Requirements = asset.Requirements;
                assetInf.Rewards      = asset.Rewards;

                OwnedSkills.Add(assetInf);
                if (!SkillAssetDict.ContainsKey(assetInf.SkillId))
                {
                    SkillAssetDict[asset.SkillId] = assetInf;
                }

                if (!SkillBranchDict.ContainsKey(assetInf.Branch))
                {
                    SkillBranchDict[assetInf.Branch] = new Dictionary <int, string>();
                }

                if (!SkillBranchDict[assetInf.Branch].ContainsKey(assetInf.Level))
                {
                    SkillBranchDict[assetInf.Branch][assetInf.Level] = assetInf.SkillId;
                }
            }
        }
    }
Beispiel #2
0
    public void UpdateLearnedStatus(string selectedSkillId)
    {
        SkillInfo2 skill = pSkillMgr.GetSkillAsset(selectedSkillId);

        if (skill == null)
        {
            return;
        }
        if (skill.isLearned)
        {
            view.Learned.text  = "已学会";
            view.Learned.color = Color.green;
        }
        else
        {
            view.Learned.text  = "未学会";
            view.Learned.color = Color.red;
        }
    }
Beispiel #3
0
    public void ShowDetail(string skillId)
    {
        SkillInfo2 si = pSkillMgr.GetSkillAsset(skillId);

        if (si == null)
        {
            HideDetail();
            return;
        }

        view.Title.text = si.SkillName;
        view.Level.text = si.Level + "";
        if (si.isLearned)
        {
            view.Learned.text  = "已学会";
            view.Learned.color = Color.green;
        }
        else
        {
            view.Learned.text  = "未学会";
            view.Learned.color = Color.red;
        }

        view.EffectDescription.text = si.EffectDes;
        view.Description.text       = si.Des;

        string reqText = "";

        for (int i = 0; i < si.Requirements.reqStats.Count; i++)
        {
            reqText += "需要";
            reqText += si.Requirements.reqStats[i].ToString();
            reqText += ": ";
            reqText += si.Requirements.reqValues[i] + "";
            reqText += "\n";
        }
        reqText += "需要技能点数:";
        reqText += si.Requirements.reqSkillPointValue.ToString();

        view.RequirmentText.text = reqText;

        view.Detail.gameObject.SetActive(true);
    }
Beispiel #4
0
    public bool learnSkill(string skillId)
    {
        SkillInfo2 skill = GetSkillAsset(skillId);

        if (skill == null)
        {
            return(false);
        }

        if (skill.isLearned)
        {
            mUIMgr.ShowHint("这个技能已经学会了");
            return(false);
        }

        if (!checkSkillRequirement(skill))
        {
            return(false);
        }

        if (!checkBranch(skill.Branch, skill.Level))
        {
            mUIMgr.ShowHint("你需要先学习前一个技能");
            return(false);
        }

        skill.isLearned = true;
        branchLevel[skill.Branch]++;
        // calculate requirement
        mRoleMdl.AddSkillPoint(-skill.Requirements.reqSkillPointValue);

        // gainRewards
        for (int i = 0; i < skill.Rewards.bonus.Count; i++)
        {
            switch (skill.Rewards.bonus[i])
            {
            case SkillBonusType.addKoucai:
                mRoleMdl.AddKoucai(skill.Rewards.rewValue[i]);
                mUIMgr.ShowHint("口才 + " + skill.Rewards.rewValue[i]);
                break;

            case SkillBonusType.addCaiyi:
                mRoleMdl.AddCaiyi(skill.Rewards.rewValue[i]);
                mUIMgr.ShowHint("才艺 + " + skill.Rewards.rewValue[i]);
                break;

            case SkillBonusType.addJishu:
                mRoleMdl.AddJishu(skill.Rewards.rewValue[i]);
                mUIMgr.ShowHint("技术 + " + skill.Rewards.rewValue[i]);
                break;

            case SkillBonusType.addKangya:
                mRoleMdl.AddKangya(skill.Rewards.rewValue[i]);
                mUIMgr.ShowHint("抗压 + " + skill.Rewards.rewValue[i]);
                break;

            case SkillBonusType.addWaiguan:
                mRoleMdl.AddWaiguan(skill.Rewards.rewValue[i]);
                mUIMgr.ShowHint("外观 + " + skill.Rewards.rewValue[i]);
                break;

            case SkillBonusType.addPower:
                //加能量
                break;

            case SkillBonusType.addMoney:
                mUIMgr.ShowHint("金钱 + " + skill.Rewards.rewValue[i]);
                break;

            case SkillBonusType.addFensi:
                mUIMgr.ShowHint("粉丝 + " + skill.Rewards.rewValue[i]);
                break;
            }
        }

        LearnedSkill.Add(skillId);

        return(true);
    }
Beispiel #5
0
    public bool checkSkillRequirement(SkillInfo2 skill)
    {
        for (int i = 0; i < skill.Requirements.reqStats.Count; i++)
        {
            switch (skill.Requirements.reqStats[i])
            {
            case SkillReqType.koucai:
                if (mRoleMdl.GetStats().koucai < skill.Requirements.reqValues[i])
                {
                    mUIMgr.ShowHint("口才不足");
                    return(false);
                }
                break;

            case SkillReqType.caiyi:
                if (mRoleMdl.GetStats().caiyi < skill.Requirements.reqValues[i])
                {
                    mUIMgr.ShowHint("才艺不足");
                    return(false);
                }
                break;

            case SkillReqType.jishu:
                if (mRoleMdl.GetStats().jishu < skill.Requirements.reqValues[i])
                {
                    mUIMgr.ShowHint("技术不足");
                    return(false);
                }
                break;

            case SkillReqType.kangya:
                if (mRoleMdl.GetStats().kangya < skill.Requirements.reqValues[i])
                {
                    mUIMgr.ShowHint("抗压不足");
                    return(false);
                }
                break;

            case SkillReqType.waiguan:
                if (mRoleMdl.GetStats().waiguan < skill.Requirements.reqValues[i])
                {
                    mUIMgr.ShowHint("外观不足");
                    return(false);
                }
                break;

            case SkillReqType.fensi:
                if (mRoleMdl.GetStats().waiguan < skill.Requirements.reqValues[i])
                {
                    mUIMgr.ShowHint("好像还没有那么火");
                    return(false);
                }
                break;

            case SkillReqType.money:
                if (mRoleMdl.GetStats().waiguan < skill.Requirements.reqValues[i])
                {
                    mUIMgr.ShowHint("目前还没有那么多钱");
                    return(false);
                }
                break;
            }
        }
        if (mRoleMdl.GetSkillPoint() < skill.Requirements.reqSkillPointValue)
        {
            mUIMgr.ShowHint("技能点不足");
            return(false);
        }
        return(true);
    }