| Core/GameEngine/Model/Config/DogzConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/GameEngine/Model/Config/DogzConfig.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dogz/DogzActiveWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dogz/DogzCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dogz/DogzModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dogz/DogzPackWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UI/Common/SortTable.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/GameEngine/Model/Config/DogzConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, January 25, 2018 // [ Date ]: Friday, August 17, 2018 //-------------------------------------------------------- using UnityEngine; @@ -11,50 +11,55 @@ public partial class DogzConfig : ConfigBase { public int id { get ; private set ; } public string name { get ; private set; } public string HeadIcon { get ; private set; } public int[] propertyTypes; public int[] propertyValues; public int[] skills; public string EquipLimit { get ; private set; } public int ID { get ; private set ; } public string Name { get ; private set; } public string HeadIcon { get ; private set; } public int[] BaseAttrTypes; public int[] BaseAttrValues; public int[] HelpBattleSkills; public int[] EquipPlaceColorList; public override string getKey() { return id.ToString(); return ID.ToString(); } public override void Parse() { try { id=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; name = rawContents[1].Trim(); HeadIcon = rawContents[2].Trim(); string[] propertyTypesStringArray = rawContents[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); propertyTypes = new int[propertyTypesStringArray.Length]; for (int i=0;i<propertyTypesStringArray.Length;i++) ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; Name = rawContents[1].Trim(); HeadIcon = rawContents[2].Trim(); string[] BaseAttrTypesStringArray = rawContents[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); BaseAttrTypes = new int[BaseAttrTypesStringArray.Length]; for (int i=0;i<BaseAttrTypesStringArray.Length;i++) { int.TryParse(propertyTypesStringArray[i],out propertyTypes[i]); } string[] propertyValuesStringArray = rawContents[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); propertyValues = new int[propertyValuesStringArray.Length]; for (int i=0;i<propertyValuesStringArray.Length;i++) int.TryParse(BaseAttrTypesStringArray[i],out BaseAttrTypes[i]); } string[] BaseAttrValuesStringArray = rawContents[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); BaseAttrValues = new int[BaseAttrValuesStringArray.Length]; for (int i=0;i<BaseAttrValuesStringArray.Length;i++) { int.TryParse(propertyValuesStringArray[i],out propertyValues[i]); } string[] skillsStringArray = rawContents[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); skills = new int[skillsStringArray.Length]; for (int i=0;i<skillsStringArray.Length;i++) int.TryParse(BaseAttrValuesStringArray[i],out BaseAttrValues[i]); } string[] HelpBattleSkillsStringArray = rawContents[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); HelpBattleSkills = new int[HelpBattleSkillsStringArray.Length]; for (int i=0;i<HelpBattleSkillsStringArray.Length;i++) { int.TryParse(skillsStringArray[i],out skills[i]); int.TryParse(HelpBattleSkillsStringArray[i],out HelpBattleSkills[i]); } string[] EquipPlaceColorListStringArray = rawContents[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); EquipPlaceColorList = new int[EquipPlaceColorListStringArray.Length]; for (int i=0;i<EquipPlaceColorListStringArray.Length;i++) { int.TryParse(EquipPlaceColorListStringArray[i],out EquipPlaceColorList[i]); } EquipLimit = rawContents[6].Trim(); } catch (Exception ex) { Core/GameEngine/Model/Config/DogzConfig.cs.meta
@@ -1,7 +1,7 @@ fileFormatVersion: 2 guid: 940b0f1e335cf3749bb18fbee7090526 timeCreated: 1516846166 licenseType: Free timeCreated: 1534489434 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] System/Dogz/DogzActiveWin.cs
@@ -81,7 +81,7 @@ void SelectDecide() { var configs = ConfigManager.Instance.GetAllValues<DogzConfig>(); model.presentSelectDogz = configs[0].id; model.presentSelectDogz = configs[0].ID; } void GenerateDogz() @@ -92,7 +92,7 @@ m_Controller.Refresh(); for (int i = 0; i < _dogzCfgs.Count; i++) { m_Controller.AddCell(ScrollerDataType.Header, _dogzCfgs[i].id); m_Controller.AddCell(ScrollerDataType.Header, _dogzCfgs[i].ID); } m_Controller.Restart(); } @@ -115,15 +115,15 @@ { for (int i = 0; i < m_DogzSkills.Count; i++) { if (_dogzCfg.skills == null || _dogzCfg.skills.Length == 0 || i >= _dogzCfg.skills.Length) if (_dogzCfg.HelpBattleSkills == null || _dogzCfg.HelpBattleSkills.Length == 0 || i >= _dogzCfg.HelpBattleSkills.Length) { m_DogzSkills[i].SetEnable(false); } else { m_DogzSkills[i].SetEnable(true); var _skillCfg = ConfigManager.Instance.GetTemplate<SkillConfig>(_dogzCfg.skills[i]); var _skillCfg = ConfigManager.Instance.GetTemplate<SkillConfig>(_dogzCfg.HelpBattleSkills[i]); m_DogzSkills[i].Icon.SetSprite(_skillCfg.IconName); m_DogzSkills[i].Lv.text = Language.Get("Z1024", _skillCfg.SkillLV); } @@ -143,7 +143,7 @@ m_DogzEquips[i].gameObject.SetActive(_equiped); if (_equiped) { //m_DogzEquips[i].Refresh(_data); m_DogzEquips[i].Display(_data.ItemId); } } } @@ -152,13 +152,13 @@ var _dogzCfg = ConfigManager.Instance.GetTemplate<DogzConfig>(model.presentSelectDogz); for (int i = 0; i < m_PropertyTypes.Count; i++) { m_PropertyTypes[i].gameObject.SetActive(i < _dogzCfg.propertyTypes.Length); m_PropertyValues[i].gameObject.SetActive(i < _dogzCfg.propertyTypes.Length); if (i < _dogzCfg.propertyTypes.Length) m_PropertyTypes[i].gameObject.SetActive(i < _dogzCfg.BaseAttrTypes.Length); m_PropertyValues[i].gameObject.SetActive(i < _dogzCfg.BaseAttrTypes.Length); if (i < _dogzCfg.BaseAttrTypes.Length) { var _propertyCfg = ConfigManager.Instance.GetTemplate<PlayerPropertyConfig>(_dogzCfg.propertyTypes[i]); var _propertyCfg = ConfigManager.Instance.GetTemplate<PlayerPropertyConfig>(_dogzCfg.BaseAttrTypes[i]); m_PropertyTypes[i].text = _propertyCfg.Name; m_PropertyValues[i].text = StringUtility.Contact(UIHelper.ReplacePercentage(_dogzCfg.propertyValues[i], _propertyCfg.ISPercentage) m_PropertyValues[i].text = StringUtility.Contact(UIHelper.ReplacePercentage(_dogzCfg.BaseAttrValues[i], _propertyCfg.ISPercentage) , _propertyCfg.ISPercentage == 1 ? "%" : string.Empty); } } @@ -171,17 +171,17 @@ } private void UpdateDogzBtn() { //m_CallBackBtnTxt.text = model.dogzAssists.Contains(model.presentSelectDogz) ? "召回" : "助战"; m_CallBackBtnTxt.text = model.dogzAssists.Contains(model.presentSelectDogz) ? "召回" : "助战"; } private void AddAssist() { //var _itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(model.AddAssistItem); //ConfirmCancel.ShowItemConfirm(string.Format("消耗{0}X{1}永久增加1个助战神兽", _itemConfig.ItemName, model.AddAssistItemCnt), // model.AddAssistItem, model.AddAssistItemCnt, () => //{ // //}); var _itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(model.AddAssistItem); ConfirmCancel.ShowItemConfirm(string.Format("消耗{0}X{1}永久增加1个助战神兽", _itemConfig.ItemName, model.GetAssistItemCnt()), model.AddAssistItem, model.GetAssistItemCnt(), () => { }); } private void TakeOffEquip() { System/Dogz/DogzCell.cs
@@ -27,17 +27,17 @@ var _dogzCfg = ConfigManager.Instance.GetTemplate<DogzConfig>(cell.index); m_DogzIcon.SetSprite(_dogzCfg.HeadIcon); m_DogzIcon.SetNativeSize(); var _dogzEquips = model.GetDogzEquips(_dogzCfg.id); var _dogzEquips = model.GetDogzEquips(_dogzCfg.ID); m_DogzIcon.material = (_dogzEquips == null || _dogzEquips.Count < 5) ? MaterialUtility.GetDefaultSpriteGrayMaterial() : MaterialUtility.GetUIDefaultGraphicMaterial(); m_DogzName.text = _dogzCfg.name; m_DogzName.text = _dogzCfg.Name; //m_DogzGrade.text = StringUtility.Contact("评分:", 100); m_DogzBtn.image.color = model.presentSelectDogz == _dogzCfg.id ? Color.blue : Color.white; m_DogzAssist.gameObject.SetActive(model.dogzAssists.Contains(_dogzCfg.id)); m_DogzBtn.image.color = model.presentSelectDogz == _dogzCfg.ID ? Color.blue : Color.white; m_DogzAssist.gameObject.SetActive(model.dogzAssists.Contains(_dogzCfg.ID)); m_DogzBtn.onClick.RemoveAllListeners(); m_DogzBtn.onClick.AddListener(() => { model.SetSelectDogz(_dogzCfg.id); model.SetSelectDogz(_dogzCfg.ID); }); } } System/Dogz/DogzModel.cs
@@ -18,34 +18,40 @@ } #region 配置 private Dictionary<int, Dictionary<int, int>> m_DogzEquipLimit = new Dictionary<int, Dictionary<int, int>>(); public int DogzAssistDefaultCnt { get; private set; } public int AddAssistItem { get; private set; } public int AddAssistItemCnt { get; private set; } private Dictionary<int, Dictionary<int, int>> m_DogzEquipLimit = new Dictionary<int, Dictionary<int, int>>(); //装备位 品质限制 public int DogzAssistDefaultCnt { get; private set; } //助战神兽总数 public int DogzAssistMaxCnt { get; private set; }//助战神兽最大数 public int AddAssistItem { get; private set; } //增加助战神兽总数的物品Id public int[] AddAssistItemCnt { get; private set; } //增加助战神兽总数的物品数量 public Dictionary<int, int> m_DogzEquipStrenLimit { get; private set;} //神兽装备强化上限 品质 强化等级 void ParseConfig() { var _dogzCfgs = ConfigManager.Instance.GetAllValues<DogzConfig>(); for (int i = 0; i < _dogzCfgs.Count; i++) { var _dict = new Dictionary<int, int>(); var _json = LitJson.JsonMapper.ToObject(_dogzCfgs[i].EquipLimit); foreach (var _key in _json.Keys) for(int j = 0; j < _dogzCfgs[i].EquipPlaceColorList.Length; j++) { var _index = int.Parse(_key); _dict.Add(_index, int.Parse(_json[_key].ToString())); _dict.Add(j+1, _dogzCfgs[i].EquipPlaceColorList[j]); } m_DogzEquipLimit.Add(_dogzCfgs[i].id, _dict); m_DogzEquipLimit.Add(_dogzCfgs[i].ID, _dict); } var _funcCfg = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("DogzAssist"); DogzAssistDefaultCnt = int.Parse(_funcCfg.Numerical1); var _itemJson = LitJson.JsonMapper.ToObject(_funcCfg.Numerical2); var _itemJsonKey = _itemJson.Keys.First(); AddAssistItem = int.Parse(_itemJsonKey); AddAssistItemCnt = int.Parse(_itemJson[_itemJsonKey].ToString()); int[] assistDogz = ConfigParse.GetMultipleStr<int>(_funcCfg.Numerical1); DogzAssistDefaultCnt = assistDogz[0]; DogzAssistMaxCnt = assistDogz[1]; AddAssistItem = int.Parse(_funcCfg.Numerical2); AddAssistItemCnt = ConfigParse.GetMultipleStr<int>(_funcCfg.Numerical3); m_DogzEquipStrenLimit = ConfigParse.GetDic<int, int>(_funcCfg.Numerical4); dogzAssists = new List<int>(); } /// <summary> /// 获得格子可以穿戴的装备限制 神兽Id 格子索引 /// </summary> /// <param name="_dogzId"></param> /// <param name="_index"></param> /// <returns></returns> public int GetDogzEquipLimitByIndex(int _dogzId, int _index) { if (m_DogzEquipLimit.ContainsKey(_dogzId)) @@ -59,52 +65,57 @@ return 0; } public int GetDogzGrade(int _id) { return 0; } /// <summary> /// 得到神兽格子对应的装备部位 /// </summary> /// <param name="_index"></param> /// <returns></returns> public static string GetDogzPartNameByIndex(int _index) { switch (_index) { //case 0: // return "兽角"; //case 1: // return "魔眼"; //case 2: // return "獠牙"; //case 3: // return "兽爪"; //case 4: // return "鳞甲"; case 0: return "兽角"; case 1: return "魔眼"; case 2: return "獠牙"; case 3: return "兽爪"; case 4: return "鳞甲"; default: return string.Empty; } } public static string GetItemColorName(int _itemColor) { switch (_itemColor) { //case 0: //case 1: // return "白色"; //case 2: // return "蓝色"; //case 3: // return "紫色"; //case 4: // return "橙色"; //case 5: // return "红色"; case 0: case 1: return "白色"; case 2: return "蓝色"; case 3: return "紫色"; case 4: return "橙色"; case 5: return "红色"; default: return string.Empty; } } #endregion public int presentSelectDogz { get; set; } public int GetAssistItemCnt() { return AddAssistItemCnt[0]; } public int presentSelectDogz { get; set; } //当前选中的神兽id public event Action UpdateSelectDogzEvent; public void SetSelectDogz(int _id) { @@ -116,7 +127,7 @@ } #region 协议 public List<int> dogzAssists { get; private set; } public List<int> dogzAssists { get; private set; } //当前助战神兽列表 public event Action UpdateAssistDogzEvent; public void UpdateAssistDogz() { @@ -126,6 +137,10 @@ UpdateAssistDogzEvent(); } } /// <summary> /// 获得神兽穿戴的装备数据 /// </summary> private Dictionary<int, List<DogzEquipData>> m_DogzEquipDict = new Dictionary<int, List<DogzEquipData>>(); public List<DogzEquipData> GetDogzEquips(int _dogzId) { @@ -133,6 +148,14 @@ m_DogzEquipDict.TryGetValue(_dogzId,out _list); return _list; } /// <summary> /// 获得当前格子穿戴的装备 /// </summary> /// <param name="_dogzId"></param> /// <param name="_index"></param> /// <param name="_equipData"></param> /// <returns></returns> public bool TryGetDogzEquip(int _dogzId, int _index, out DogzEquipData _equipData) { _equipData = default(DogzEquipData); System/Dogz/DogzPackWin.cs
@@ -21,6 +21,10 @@ [SerializeField] Button m_CloseBtn; [SerializeField] Button m_GetEquipBtn; [SerializeField] ScrollerController m_PackController; [SerializeField] Button qualitySelectBtn; [SerializeField] Button starSelectBtn; [SerializeField] SortTable qualitySort; [SerializeField] SortTable starSort; DogzModel m_DogzModel; DogzModel dogzModel @@ -48,12 +52,16 @@ { m_CloseBtn.onClick.AddListener(CloseClick); m_GetEquipBtn.onClick.AddListener(GetEquipBtn); qualitySelectBtn.AddListener(ClickQualitySelect); starSelectBtn.AddListener(ClickStarSelect); } protected override void OnPreOpen() { UpdateDogzEquip(); UpdateDogzPack(); starSort.gameObject.SetActive(false); qualitySort.gameObject.SetActive(false); } protected override void OnAfterOpen() @@ -116,6 +124,16 @@ { //--界面跳转 } private void ClickStarSelect() { starSort.gameObject.SetActive(!starSort.gameObject.activeInHierarchy); } private void ClickQualitySelect() { qualitySort.gameObject.SetActive(!qualitySort.gameObject.activeInHierarchy); } } } UI/Common/SortTable.cs
@@ -72,6 +72,7 @@ { m_TargetDisplay.text = Language.Get(m_SortElements[_index].textKey); } this.gameObject.SetActive(false); } private void OnRefreshCell(ScrollerDataType type, CellView cell) { @@ -96,6 +97,7 @@ [Serializable] public struct SortElement { [Header("语言表key")] public string textKey; public int type; }