Exemple #1
0
    /// <summary>
    /// 武学学习或升级结果,更新武学列表
    /// </summary>
    /// <param name="sMsgActionStudyWuXue_SC">S message action study wu xue_ S.</param>
    public void UpdatePlayerMartialData(SMsgAcitonStudyWuXue_SC sMsgActionStudyWuXue_SC)
    {
        int  martialID    = sMsgActionStudyWuXue_SC.dwWuXueID;
        byte martialLevel = sMsgActionStudyWuXue_SC.byWuXueLevel;

        MartialIndex martialIndex = new MartialIndex()
        {
            MartialArtsID = martialID, MartialArtsLevel = (int)martialLevel - 1
        };
        PlayerMartialArtsData martialArtsData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex);

        if (martialArtsData.MartialArtsUnlock != 0)             //如果有解锁新武学
        {
            MartialDataList.Add(new SSendWuXueData()
            {
                dwWuXueID = martialArtsData.MartialArtsUnlock, byWuXueLevel = 0
            });
        }

        for (int i = 0; i < MartialDataList.Count; i++)
        {
            if (MartialDataList[i].dwWuXueID == martialID)
            {
                SSendWuXueData tempData = new SSendWuXueData()
                {
                    dwWuXueID = martialID, byWuXueLevel = martialLevel
                };
                MartialDataList[i] = tempData;
                break;
            }
        }
    }
Exemple #2
0
    //指定ID的武学学习后是否解锁新武学
    public int UnlockNewMartialId(int martialID)
    {
        int          level        = GetMartialLevelByID(martialID);
        MartialIndex martialIndex = new MartialIndex()
        {
            MartialArtsID = martialID, MartialArtsLevel = level - 1
        };
        PlayerMartialArtsData martialArtsData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex);

        return(martialArtsData.MartialArtsUnlock != 0 ? martialArtsData.MartialArtsUnlock:0);
    }
Exemple #3
0
    /// <summary>
    /// 初始化
    /// </summary>
    /// <param name="SendWuXueData">Send wu xue data.</param>
    /// <param name="Callback">Callback.</param>
    public void Init(SSendWuXueData SendWuXueData, ButtonCallBack Callback)
    {
        MartialIndex martialIndex = new MartialIndex()
        {
            MartialArtsID = SendWuXueData.dwWuXueID, MartialArtsLevel = SendWuXueData.byWuXueLevel
        };

        PlayerMartialData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex);
        MartialId         = SendWuXueData.dwWuXueID;
        GameObject Icon = UI.CreatObjectToNGUI.InstantiateObj(PlayerMartialData.MartialArtsIconPrefab, IconPoint);

        this.gameObject.GetComponent <SingleButtonCallBack>().SetCallBackFuntion(Callback, MartialId);
        UpdateIconBg(SendWuXueData.byWuXueLevel);
        UpdateLevel(SendWuXueData.dwWuXueID);
        UpdateArrow();
    }
Exemple #4
0
    //更新某个武学信息
    public void UpdateInfo(int martialId)
    {
        MartialId    = martialId;
        MartialLevel = PlayerMartialDataManager.Instance.GetMartialLevelByID(martialId);
        MartialIndex martialIndex = new MartialIndex()
        {
            MartialArtsID = MartialId, MartialArtsLevel = MartialLevel
        };

        MartialData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex);
        IconBG.GetComponent <SpriteSwith>().ChangeSprite(MartialLevel <= 1 ? 1 : MartialLevel);
        IconPoint.ClearChild();
        GameObject icon = UI.CreatObjectToNGUI.InstantiateObj(MartialData.MartialArtsIconPrefab, IconPoint);

        MartialNameLabel.text   = LanguageTextManager.GetString(MartialData.MartialArtsName);
        MartialDesLabel.text    = LanguageTextManager.GetString(MartialData.MartialArtsDes);
        MartialEffDesLabel.text = LanguageTextManager.GetString(MartialData.MartialArtsParamDes);
        NeedConLabel.text       = MartialData.MartialArtsContribution.ToString();

        if (MartialLevel == 0)          //没解锁
        {
            EffBackground.transform.localScale = new Vector3(292, 74, 0);
            ConBackground.transform.localScale = new Vector3(292, 176, 0);
            LineMartialLevel.SetActive(false);
            LineHonor.SetActive(true);
            LineLearnLabel.SetActive(true);
            LineUpgradeLabel.SetActive(false);
            MaxHonorN.text     = LanguageTextManager.GetString("IDS_I38_23");
            MaxHonorLabel.text = MartialData.MartialArtsMaxScore.ToString();
            NeedConN.text      = LanguageTextManager.GetString("IDS_I38_24");
            //Button.GetComponentInChildren<UILabel>().text = LanguageTextManager.GetString("IDS_I38_26");	//学习
            Button.SetButtonText(LanguageTextManager.GetString("IDS_I38_26"));
        }
        else         //已解锁
        {
            EffBackground.transform.localScale = new Vector3(292, 115, 0);
            ConBackground.transform.localScale = new Vector3(292, 137, 0);
            LineMartialLevel.SetActive(true);
            LineHonor.SetActive(false);
            LineLearnLabel.SetActive(false);
            LineUpgradeLabel.SetActive(true);
            MartialLevelN.text     = LanguageTextManager.GetString("IDS_I38_25");
            MartialLevelLabel.text = MartialLevel.ToString() + "/" + MartialData.MartialArtsMaxLevels;
            //Button.GetComponentInChildren<UILabel>().text = LanguageTextManager.GetString("IDS_I38_27");	//升级
            Button.SetButtonText(LanguageTextManager.GetString("IDS_I38_27"));
        }
    }
Exemple #5
0
    /// <summary>
    /// 根据武学类型获取相应列表
    /// </summary>
    /// <returns>The martial list by type.</returns>
    /// <param name="martialType">Martial type.</param>
    public List <SSendWuXueData> GetMartialListByType(MartialType martialType)
    {
        List <SSendWuXueData> tempWuXueData = new List <SSendWuXueData>();

        MartialDataList.ApplyAllItem(p => {
            MartialIndex martialIndex = new MartialIndex()
            {
                MartialArtsID = p.dwWuXueID, MartialArtsLevel = (int)p.byWuXueLevel
            };
            PlayerMartialArtsData martialArtsData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex);
            if (martialArtsData.MartialArtsType == (byte)martialType)
            {
                tempWuXueData.Add(p);
            }
        });
        return(tempWuXueData);
    }
Exemple #6
0
    private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets,
                                               string[] movedAssets, string[] movedFromPath)
    {
        if (CheckResModified(importedAssets) || CheckResModified(deletedAssets) || CheckResModified(movedAssets))
        {
            string     path = Path.Combine(RESOURCE_MARTIAL_CONFIG_FOLOER, "PlayerMartialArts.xml");
            TextReader tr   = new StreamReader(path);
            string     text = tr.ReadToEnd();

            if (text == null)
            {
                Debug.LogError("Player MartialArts config file not exit!");
                return;
            }
            else
            {
                XmlSpreadSheetReader.ReadSheet(text);
                XmlSpreadSheet sheet = XmlSpreadSheetReader.Output;
                string[]       keys  = XmlSpreadSheetReader.Keys;       //列

                object[] levelIds = sheet[keys[0]];                     //行数

                List <PlayerMartialArtsData> tempList = new List <PlayerMartialArtsData>();
                for (int i = 0; i < levelIds.Length; i++)
                {
                    if (i == 0 || i == 1)
                    {
                        continue;                                       //过滤第一、二行
                    }
                    PlayerMartialArtsData data = new PlayerMartialArtsData();
                    data.MartialArtsType      = Convert.ToByte(sheet["MartialArtsType"][i]);
                    data.MartialArtsID        = Convert.ToInt32(sheet["MartialArtsID"][i]);
                    data.MartialArtsUnlock    = Convert.ToInt32(sheet["MartialArtsUnlock"][i]);
                    data.MartialArtsLevels    = Convert.ToInt32(sheet["MartialArtsLevels"][i]);
                    data.MartialArtsMaxLevels = Convert.ToInt32(sheet["MartialArtsMaxLevels"][i]);
                    data.MartialArtsName      = Convert.ToString(sheet["MartialArtsName"][i]);
                    //data.MartialArtsIcon = Convert.ToString(sheet["MartialArtsIcon"][i]);
                    string prefabName = Convert.ToString(sheet["MartialArtsIcon"][i]);
                    string prefabPath = System.IO.Path.Combine(ASSET_TRAP_RES_CONFIG_FOLDER, prefabName + ".prefab");
                    data.MartialArtsIconPrefab = (GameObject)AssetDatabase.LoadAssetAtPath(prefabPath, typeof(GameObject));

                    data.MartialArtsDes          = Convert.ToString(sheet["MartialArtsDes"][i]);
                    data.MartialArtsMaxScore     = Convert.ToInt32(sheet["MartialArtsMaxScore"][i]);
                    data.MartialArtsContribution = Convert.ToInt32(sheet["MartialArtsContribution"][i]);
                    data.MartialArtsParamDes     = Convert.ToString(sheet["MartialArtsParamDes"][i]);
                    data.EffType    = Convert.ToByte(sheet["EffType"][i]);
                    data.EctypeType = Convert.ToByte(sheet["EctypeType"][i]);
                    data.MartialArtsStrengthParam = Convert.ToString(sheet["MartialArtsStrengthParam"][i]);
                    data.EctypeBuffID             = Convert.ToInt32(sheet["EctypeBuffID"][i]);

                    data.ReviveTime        = Convert.ToInt32(sheet["ReviveTime"][i]);
                    data.FollowerPropParam = Convert.ToString(sheet["FollowerPropParam"][i]);
                    data.MonsSkillReplace  = Convert.ToString(sheet["MonsSkillReplace"][i]);
                    data.SkillID1          = Convert.ToString(sheet["SkillID1"][i]);
                    data.AttExtraAccRate1  = Convert.ToInt32(sheet["AttExtraAccRate1"][i]);
                    data.Accid1            = Convert.ToInt32(sheet["Accid1"][i]);
                    data.SkillID2          = Convert.ToString(sheet["SkillID2"][i]);
                    data.AttExtraAccRate2  = Convert.ToInt32(sheet["AttExtraAccRate2"][i]);

                    data.Accid2      = Convert.ToInt32(sheet["Accid2"][i]);
                    data.DefAccRate1 = Convert.ToInt32(sheet["DefAccRate1"][i]);
                    data.DefAccid1   = Convert.ToInt32(sheet["DefAccid1"][i]);
                    data.DefAccRate2 = Convert.ToInt32(sheet["DefAccRate2"][i]);
                    data.DefAccid2   = Convert.ToInt32(sheet["DefAccid2"][i]);
                    data.JumpTigRate = Convert.ToInt32(sheet["JumpTigRate"][i]);

                    data.QiID         = Convert.ToInt32(sheet["QiID"][i]);
                    data.AvoidTrgRate = Convert.ToInt32(sheet["AvoidTrgRate"][i]);
                    data.AvoidID      = Convert.ToInt32(sheet["AvoidID"][i]);
                    data.martialIndex = new MartialIndex()
                    {
                        MartialArtsID = data.MartialArtsID, MartialArtsLevel = data.MartialArtsLevels
                    };
                    tempList.Add(data);
                }

                CreateMartialsDataList(tempList);
            }
        }
    }