少年修仙传客户端代码仓库
client_linchunjie
2019-04-27 b3488792c52b89b52d0cb22d423c88660653564a
6626 【2.0】【开发】查看玩家装备和查看玩家战力功能
7个文件已修改
380 ■■■■ 已修改文件
Fight/GameActor/GA_NpcFightZZPlayer.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIRoleParticularModelWrap.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastTransmitShow.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/KingTempleWin.cs 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/RoleParticularModel.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/RoleParticularsWin.cs 161 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/ViewFuncCell.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcFightZZPlayer.cs
@@ -149,27 +149,10 @@
            JobSetup = JobSetupConfig.Get(ActorInfo.Job);
            RoleParticularModel.ItemData _item = null;
            if (m_ViewPlayerData.roleEquipDataDic.TryGetValue(RoleEquipType.Clothes, out _item))
            {
                _clothesId = _item.ItemID;
            }
            if (m_ViewPlayerData.roleEquipDataDic.TryGetValue(RoleEquipType.Weapon, out _item))
            {
                _weaponId = _item.ItemID;
            }
            if (m_ViewPlayerData.roleEquipDataDic.TryGetValue(RoleEquipType.Weapon2, out _item))
            {
                _secondaryId = _item.ItemID;
            }
            if (m_ViewPlayerData.roleEquipDataDic.TryGetValue(RoleEquipType.Wing, out _item))
            {
                _wingId = _item.ItemID;
            }
            _clothesId = m_ViewPlayerData.GetItemId(RoleEquipType.Clothes);
            _weaponId = m_ViewPlayerData.GetItemId(RoleEquipType.Weapon);
            _secondaryId = m_ViewPlayerData.GetItemId(RoleEquipType.Weapon2);
            _wingId = m_ViewPlayerData.GetItemId(RoleEquipType.Wing);
        }
        //Debug.LogFormat("Name: {0}", ActorInfo.PlayerName);
@@ -235,20 +218,9 @@
            m_ViewPlayerData = new RoleParticularModel.ViewPlayerData();
        }
        m_ViewPlayerData.roleEquipDataDic.Clear();
        m_ViewPlayerData.itemDatas = LitJson.JsonMapper.ToObject<RoleParticularModel.ItemData[]>(package.ItemData);
        m_ViewPlayerData.rolePropData = LitJson.JsonMapper.ToObject<RoleParticularModel.RolePropData>(package.PropData);
        m_ViewPlayerData.rolePlusData = new RoleParticularModel.RolePlusData();
        m_ViewPlayerData.rolePlusData.AnalysisRolePlusData(package.PlusData);
        if (m_ViewPlayerData.itemDatas != null)
        {
            for (int i = 0; i < m_ViewPlayerData.itemDatas.Length; i++)
            {
                m_ViewPlayerData.itemDatas[i].AnalysisUserData();
                m_ViewPlayerData.roleEquipDataDic[(RoleEquipType)m_ViewPlayerData.itemDatas[i].ItemIndex] = m_ViewPlayerData.itemDatas[i];
            }
        }
        m_ViewPlayerData.AnalysisEquipSuit();
        SyncHelpPlayerInfo();
    }
Lua/Gen/SnxxzUIRoleParticularModelWrap.cs
@@ -26,7 +26,6 @@
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetItemData", _m_GetItemData);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetViewPlayerData", _m_GetViewPlayerData);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ViewRoleEquip", _m_ViewRoleEquip);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ViewRoleFightPower", _m_ViewRoleFightPower);
@@ -173,35 +172,6 @@
                    
                    
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetItemData(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.RoleParticularModel gen_to_be_invoked = (Snxxz.UI.RoleParticularModel)translator.FastGetCSObj(L, 1);
                {
                    RoleEquipType _type;translator.Get(L, 2, out _type);
                        Snxxz.UI.RoleParticularModel.ItemData gen_ret = gen_to_be_invoked.GetItemData( _type );
                        translator.Push(L, gen_ret);
                    return 1;
                }
                
            } catch(System.Exception gen_e) {
System/FairyAu/FairyFeastTransmitShow.cs
@@ -232,36 +232,11 @@
            var viewPlayerData = roleParticularModel.GetViewPlayerData((int)model.transmitPlayer);
            if (viewPlayerData != null)
            {
                clothesId = 0;
                var itemData = roleParticularModel.GetItemData(RoleEquipType.Clothes);
                if (itemData != null)
                {
                    clothesId = itemData.ItemID;
                }
                fashionClothesId = 0;
                itemData = roleParticularModel.GetItemData(RoleEquipType.FashionClothes);
                if (itemData != null)
                {
                    fashionClothesId = itemData.ItemID;
                }
                wingsId = 0;
                itemData = roleParticularModel.GetItemData(RoleEquipType.Wing);
                if (itemData != null)
                {
                    wingsId = itemData.ItemID;
                }
                secondaryId = 0;
                itemData = roleParticularModel.GetItemData(RoleEquipType.Weapon2);
                if (itemData != null)
                {
                    secondaryId = itemData.ItemID;
                }
                fashionSecondaryId = 0;
                itemData = roleParticularModel.GetItemData(RoleEquipType.FashionWeapon2);
                if (itemData != null)
                {
                    fashionSecondaryId = itemData.ItemID;
                }
                clothesId = viewPlayerData.GetItemId(RoleEquipType.Clothes);
                fashionClothesId = viewPlayerData.GetItemId(RoleEquipType.FashionClothes);
                wingsId = viewPlayerData.GetItemId(RoleEquipType.Wing);
                secondaryId = viewPlayerData.GetItemId(RoleEquipType.Weapon2);
                fashionSecondaryId = viewPlayerData.GetItemId(RoleEquipType.FashionWeapon2);
                data = new UI3DPlayerExhibitionData
                {
System/FairyAu/KingTempleWin.cs
@@ -153,52 +153,15 @@
            m_LeaderMob.gameObject.SetActive(_hasLeaderData);
            if (_hasLeaderData)
            {
                int clothes = 0;
                int _suitEffect = 0;
                var _leaderData = model.kingFairyData.leaderData;
                RoleParticularModel.ItemData itemData;
                if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.Clothes))
                {
                    itemData = _leaderData.roleEquipDataDic[RoleEquipType.Clothes];
                    clothes = itemData.ItemID;
                    _suitEffect = _leaderData.GetEquipSuitLevel();
                }
                int weapon = 0;
                if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.Weapon))
                {
                    itemData = _leaderData.roleEquipDataDic[RoleEquipType.Weapon];
                    weapon = itemData.ItemID;
                }
                int wing = 0;
                if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.Wing))
                {
                    itemData = _leaderData.roleEquipDataDic[RoleEquipType.Wing];
                    wing = itemData.ItemID;
                }
                int weapon2 = 0;
                if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.Weapon2))
                {
                    itemData = _leaderData.roleEquipDataDic[RoleEquipType.Weapon2];
                    weapon2 = itemData.ItemID;
                }
                int fashionClothes = 0;
                if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.FashionClothes))
                {
                    itemData = _leaderData.roleEquipDataDic[RoleEquipType.FashionClothes];
                    fashionClothes = itemData.ItemID;
                }
                int fashionWeapon = 0;
                if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.FashionWeapon))
                {
                    itemData = _leaderData.roleEquipDataDic[RoleEquipType.FashionWeapon];
                    fashionWeapon = itemData.ItemID;
                }
                int fashionWeapon2 = 0;
                if (_leaderData.roleEquipDataDic.ContainsKey(RoleEquipType.FashionWeapon2))
                {
                    itemData = _leaderData.roleEquipDataDic[RoleEquipType.FashionWeapon2];
                    fashionWeapon2 = itemData.ItemID;
                }
                int clothes = _leaderData.GetItemId(RoleEquipType.Clothes);
                int weapon = _leaderData.GetItemId(RoleEquipType.Weapon);
                int wing = _leaderData.GetItemId(RoleEquipType.Wing);
                int weapon2 = _leaderData.GetItemId(RoleEquipType.Weapon2);
                int fashionClothes = _leaderData.GetItemId(RoleEquipType.FashionClothes);
                int fashionWeapon = _leaderData.GetItemId(RoleEquipType.FashionWeapon);
                int fashionWeapon2 = _leaderData.GetItemId(RoleEquipType.FashionWeapon2);
                var data = new UI3DPlayerExhibitionData
                {
System/RoleParticulars/RoleParticularModel.cs
@@ -32,15 +32,6 @@
        private Dictionary<int, ViewPlayerData> viewPlayerDataDic = new Dictionary<int, ViewPlayerData>();
        private Dictionary<int, ulong> funcFightPowerDict = new Dictionary<int, ulong>();
        public event Action PowerUpdate;
        public ItemData GetItemData(RoleEquipType type)
        {
            if (viewPlayerDataDic.ContainsKey(viewPlayer))
            {
                if (viewPlayerDataDic[viewPlayer].roleEquipDataDic.ContainsKey(type))
                    return viewPlayerDataDic[viewPlayer].roleEquipDataDic[type];
            }
            return null;
        }
        public ViewPlayerData GetViewPlayerData(int player)
        {
@@ -157,20 +148,11 @@
            }
            viewPlayerData.getTime = DateTime.Now;
            viewPlayerData.roleEquipDataDic.Clear();
            viewPlayerData.itemDatas = JsonMapper.ToObject<ItemData[]>(package.ItemData);
            viewPlayerData.rolePropData = JsonMapper.ToObject<RolePropData>(package.PropData);
            viewPlayerData.rolePlusData = new RolePlusData();
            viewPlayerData.rolePlusData.AnalysisRolePlusData(package.PlusData);
            if (viewPlayerData.itemDatas != null)
            {
                for (int i = 0; i < viewPlayerData.itemDatas.Length; i++)
                {
                    viewPlayerData.itemDatas[i].AnalysisUserData();
                    viewPlayerData.roleEquipDataDic[(RoleEquipType)viewPlayerData.itemDatas[i].ItemIndex] = viewPlayerData.itemDatas[i];
                }
            }
            viewPlayerData.AnalysisEquipSuit();
            ShowRoleParticulars(viewPlayerData);
        }
@@ -692,16 +674,26 @@
            public RolePropData rolePropData;
            public RolePlusData rolePlusData;
            public Dictionary<RoleEquipType, ItemData> roleEquipDataDic = new Dictionary<RoleEquipType, ItemData>();
            public DateTime getTime;
            public void AnalysisEquipSuit()
            {
            }
            public int GetEquipSuitLevel()
            {
                return 0;
            }
            public int GetItemId(RoleEquipType type)
            {
                if (rolePropData.EquipShowID != null)
                {
                    foreach (var id in rolePropData.EquipShowID)
                    {
                        var itemConfig = ItemConfig.Get(id);
                        if (itemConfig != null && itemConfig.EquipPlace == (int)type)
                        {
                            return id;
                        }
                    }
                }
                return 0;
            }
@@ -729,6 +721,7 @@
                }
            }
        }
        [Serializable]
        public struct RolePropData
        {
@@ -743,6 +736,7 @@
            public uint EquipShowSwitch;
            public int ServerGroupID;
            public int VIPLV;
            public int[] EquipShowID;
        }
        public class RolePlusData
System/RoleParticulars/RoleParticularsWin.cs
@@ -16,19 +16,20 @@
    public class RoleParticularsWin : Window
    {
        [SerializeField] List<RoleEquip> roleEquipList = new List<RoleEquip>();
        [SerializeField] Button addFriendBtn;
        [SerializeField] Button m_AddFriend;
        [SerializeField] Button m_ViewHorse;
        [SerializeField] Button m_ViewPet;
        [SerializeField] Button closeBtn;
        [SerializeField] Text fairyName;
        [SerializeField] Image realmImg;
        [SerializeField] Text playerTxt;
        [SerializeField] Text fightPowerTxt;
        [SerializeField] RawImage roleModel;
        [SerializeField] Button m_ViewRealmEquip;
        [SerializeField] Button m_Close;
        [SerializeField] Text m_FairyName;
        [SerializeField] Image m_RealmIcon;
        [SerializeField] Text m_PlayerName;
        [SerializeField] Text m_FightPower;
        [SerializeField] RawImage m_RawPlayer;
        RoleParticularModel model { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
        FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
        OtherPlayerEquipModel otherPlayerEquipModel { get { return ModelCenter.Instance.GetModel<OtherPlayerEquipModel>(); } }
        
        #region Built-in
@@ -38,36 +39,11 @@
        protected override void AddListeners()
        {
            addFriendBtn.onClick.AddListener(OnAddFriend);
            closeBtn.onClick.AddListener(CloseClick);
            for (int i = 0; i < roleEquipList.Count; i++)
            {
                RoleEquipType roleEquipType = roleEquipList[i].type;
                roleEquipList[i].itemCell.button.onClick.AddListener(() =>
                {
                    OnRoleEquipClick(roleEquipType);
                });
            }
            m_AddFriend.onClick.AddListener(OnAddFriend);
            m_Close.onClick.AddListener(CloseClick);
            m_ViewHorse.onClick.AddListener(ViewHorse);
            m_ViewPet.onClick.AddListener(ViewPet);
        }
        private void OnRoleEquipClick(RoleEquipType type)
        {
            RoleParticularModel.ItemData itemData = model.GetItemData(type);
            if (itemData != null)
            {
//                 RoleParticularModel.ViewPlayerData viewPlayerData = model.GetViewPlayerData(model.viewPlayer);
//                 ItemAttrData attrData = new ItemAttrData(itemData.ItemID, false, 1, -1, false, PackType.Deleted,
//                     "", itemData.useDataDict);
//                 attrData.SetStrengthData(viewPlayerData.rolePlusData.GetEquipStarLv((int)type),1);
//                 attrData.SetGemModel(viewPlayerData.rolePlusData.GetEquipStone((int)type));
//                 itemTipsModel.SetItemTipsModel(attrData);
                ItemTipUtility.Show(itemData.ItemID);
            }
            m_ViewRealmEquip.AddListener(ViewRealmEquip);
        }
        protected override void OnPreOpen()
@@ -131,25 +107,25 @@
            }
        }
        private void ViewRealmEquip()
        {
            var viewPlayerData = model.GetViewPlayerData(model.viewPlayer);
            var wing  = viewPlayerData.GetItemId(RoleEquipType.Wing);
            otherPlayerEquipModel.ViewPlayerEquip(new OtherPlayerEquipModel.PlayerBriefInfo()
            {
                id = model.viewPlayer,
                realm = viewPlayerData.rolePropData.RealmLV,
                job = viewPlayerData.rolePropData.Job,
                vipLevel = viewPlayerData.rolePropData.VIPLV,
                wing = wing,
            });
        }
        private void OnShowRoleEquip()
        {
            for (int i = 0; i < roleEquipList.Count; i++)
            {
                ItemCell itemCell = roleEquipList[i].itemCell;
                RoleParticularModel.ItemData itemData = model.GetItemData(roleEquipList[i].type);
                itemCell.gameObject.SetActive(itemData != null);
                if (itemData == null)
                {
                    continue;
                }
                ItemCellModel cellModel = new ItemCellModel(itemData.ItemID, false, 1,
                   "", PackType.Equip, false, itemData.useDataDict);
                itemCell.Init(cellModel);
            }
            var viewPlayerData = model.GetViewPlayerData(model.viewPlayer);
            addFriendBtn.gameObject.SetActive(!viewPlayerData.IsCrossServerPlayer()
            m_AddFriend.gameObject.SetActive(!viewPlayerData.IsCrossServerPlayer()
                && friendsModel.GetFirendInfo((uint)model.viewPlayer, (byte)GroupType.Friend) == null);
            if (viewPlayerData != null)
@@ -159,70 +135,35 @@
                if (viewPlayerData.rolePropData.FamilyID == 0)
                {
                    fairyName.gameObject.SetActive(false);
                    m_FairyName.gameObject.SetActive(false);
                }
                else
                {
                    fairyName.gameObject.SetActive(true);
                    fairyName.text = StringUtility.Contact(Language.Get("RoleParticularWin_1"), viewPlayerData.rolePropData.FamilyName);
                    m_FairyName.gameObject.SetActive(true);
                    m_FairyName.text = StringUtility.Contact(Language.Get("RoleParticularWin_1"),
                        viewPlayerData.rolePropData.FamilyName);
                }
                var realmLv = viewPlayerData.rolePropData.RealmLV;
                realmImg.gameObject.SetActive(realmLv > 0);
                m_RealmIcon.gameObject.SetActive(realmLv > 0);
                if (realmLv > 0)
                {
                    RealmConfig _tagRealmModel = RealmConfig.Get(realmLv);
                    if (_tagRealmModel != null)
                    RealmConfig realmConfig = RealmConfig.Get(realmLv);
                    if (realmConfig != null)
                    {
                        realmImg.SetSprite(_tagRealmModel.Img);
                        m_RealmIcon.SetSprite(realmConfig.Img);
                    }
                }
                playerTxt.text = StringUtility.Contact(viewPlayerData.rolePropData.Name, "Lv. ", viewPlayerData.rolePropData.LV);
                fightPowerTxt.text = StringUtility.Contact(Language.Get("RoleParticularWin_2"), viewPlayerData.rolePropData.FightPower);
                m_PlayerName.text = StringUtility.Contact(viewPlayerData.rolePropData.Name, "Lv. ", viewPlayerData.rolePropData.LV);
                m_FightPower.text = StringUtility.Contact(Language.Get("RoleParticularWin_2"), viewPlayerData.rolePropData.FightPower);
                int clothes = 0;
                int _suitLevel = 0;
                RoleParticularModel.ItemData itemData = model.GetItemData(RoleEquipType.Clothes);
                if (itemData != null)
                {
                    clothes = itemData.ItemID;
                    _suitLevel = viewPlayerData.GetEquipSuitLevel();
                }
                int weapon = 0;
                itemData = model.GetItemData(RoleEquipType.Weapon);
                if (itemData != null)
                {
                    weapon = itemData.ItemID;
                }
                int wing = 0;
                itemData = model.GetItemData(RoleEquipType.Wing);
                if (itemData != null)
                {
                    wing = itemData.ItemID;
                }
                int weapon2 = 0;
                itemData = model.GetItemData(RoleEquipType.Weapon2);
                if (itemData != null)
                {
                    weapon2 = itemData.ItemID;
                }
                int fashionClothes = 0;
                itemData = model.GetItemData(RoleEquipType.FashionClothes);
                if (itemData != null)
                {
                    fashionClothes = itemData.ItemID;
                }
                int fashionWeapon = 0;
                itemData = model.GetItemData(RoleEquipType.FashionWeapon);
                if (itemData != null)
                {
                    fashionWeapon = itemData.ItemID;
                }
                int fashionWeapon2 = 0;
                itemData = model.GetItemData(RoleEquipType.FashionWeapon2);
                if (itemData != null)
                {
                    fashionWeapon2 = itemData.ItemID;
                }
                int clothes = viewPlayerData.GetItemId(RoleEquipType.Clothes);
                int weapon = viewPlayerData.GetItemId(RoleEquipType.Weapon);
                int wing = viewPlayerData.GetItemId(RoleEquipType.Wing);
                int weapon2 = viewPlayerData.GetItemId(RoleEquipType.Weapon2);
                int fashionClothes = viewPlayerData.GetItemId(RoleEquipType.FashionClothes);
                int fashionWeapon = viewPlayerData.GetItemId(RoleEquipType.FashionWeapon);
                int fashionWeapon2 = viewPlayerData.GetItemId(RoleEquipType.FashionWeapon2);
                var data = new UI3DPlayerExhibitionData
                {
@@ -237,18 +178,12 @@
                    secondaryId = weapon2,
                    isDialogue = false,
                };
                UI3DModelExhibition.Instance.ShowPlayer(roleModel, data);
                m_RawPlayer.gameObject.SetActive(true);
                UI3DModelExhibition.Instance.ShowPlayer(m_RawPlayer, data);
            }
        }
        [Serializable]
        public class RoleEquip
        {
            public RoleEquipType type;
            public ItemCell itemCell;
        }
    }
}
System/RoleParticulars/ViewFuncCell.cs
@@ -79,14 +79,17 @@
                {
                    case FuncPowerType.Equip:
                        {
                            foreach (var itemData in viewPlayerData.roleEquipDataDic.Values)
                            if (viewPlayerData.rolePropData.EquipShowID != null)
                            {
                                ItemConfig _tagChinItemModel = ItemConfig.Get(itemData.ItemID);
                                if (_tagChinItemModel != null && (_tagChinItemModel.ItemColor > viewRoleFuncModel.condition[0]
                                    || (_tagChinItemModel.ItemColor == viewRoleFuncModel.condition[0]
                                    && (viewRoleFuncModel.condition.Length < 2 || _tagChinItemModel.StarLevel >= viewRoleFuncModel.condition[1]))))
                                foreach (var itemId in viewPlayerData.rolePropData.EquipShowID)
                                {
                                    targetValue++;
                                    ItemConfig _tagChinItemModel = ItemConfig.Get(itemId);
                                    if (_tagChinItemModel != null && (_tagChinItemModel.ItemColor > viewRoleFuncModel.condition[0]
                                        || (_tagChinItemModel.ItemColor == viewRoleFuncModel.condition[0]
                                        && (viewRoleFuncModel.condition.Length < 2 || _tagChinItemModel.StarLevel >= viewRoleFuncModel.condition[1]))))
                                    {
                                        targetValue++;
                                    }
                                }
                            }
                            var packTypeModel = playerPack.GetSinglePack(PackType.Equip);
@@ -123,10 +126,10 @@
                    case FuncPowerType.Wing:
                        {
                            handled = true;
                            RoleParticularModel.ItemData itemData = model.GetItemData(RoleEquipType.Wing);
                            if (itemData!=null)
                            var wingId = viewPlayerData.GetItemId(RoleEquipType.Wing);
                            if (wingId != 0)
                            {
                                ItemConfig _tagChinItemModel = ItemConfig.Get(itemData.ItemID);
                                ItemConfig _tagChinItemModel = ItemConfig.Get(wingId);
                                targetCompareTxt.text = string.Format(viewRoleFuncModel.compareTip, _tagChinItemModel.ItemName);
                            }
                            else