Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0413_tagPlayerChangeEquip.cs
@@ -12,7 +12,6 @@ public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); H0413_tagPlayerChangeEquip vNetData = vNetPack as H0413_tagPlayerChangeEquip; @@ -26,33 +25,30 @@ if (_player != null) { var _equipInfo = new GActorPlayerBase.EquipInfo(); _equipInfo.itemID = vNetData.EquipID; var _config = ItemConfig.Get((int)_equipInfo.itemID); _equipInfo.place = _config.EquipPlace; var _config = ItemConfig.Get((int)vNetData.EquipID); if (_equipInfo.place == (int)RoleEquipType.Clothes || _equipInfo.place == (int)RoleEquipType.Hat || _equipInfo.place == (int)RoleEquipType.Shoes || _equipInfo.place == (int)RoleEquipType.Trousers || _equipInfo.place == (int)RoleEquipType.Belt) if (_config.EquipPlace == (int)RoleEquipType.Clothes || _config.EquipPlace == (int)RoleEquipType.Hat || _config.EquipPlace == (int)RoleEquipType.Shoes || _config.EquipPlace == (int)RoleEquipType.Trousers || _config.EquipPlace == (int)RoleEquipType.Belt) { _player.ChangeEquip(_equipInfo); _player.PutonEquip(vNetData.EquipID); } if (_equipInfo.place == (int)RoleEquipType.Weapon) if (_config.EquipPlace == (int)RoleEquipType.Weapon) { _player.SwitchWeapon(vNetData.EquipID, _equipInfo.place); _player.SwitchWeapon(vNetData.EquipID, _config.EquipPlace); } else if (_equipInfo.place == (int)RoleEquipType.Clothes) else if (_config.EquipPlace == (int)RoleEquipType.Clothes) { _player.SwitchClothes(vNetData.EquipID, _equipInfo.place); _player.SwitchClothes(vNetData.EquipID, _config.EquipPlace); } else if (_equipInfo.place == (int)RoleEquipType.Wing) else if (_config.EquipPlace == (int)RoleEquipType.Wing) { _player.SwitchWing(vNetData.EquipID); } else if (_equipInfo.place == (int)RoleEquipType.Guard) else if (_config.EquipPlace == (int)RoleEquipType.Guard) { _player.SwitchGuard(vNetData.EquipID); var _p = _player as GA_Player; @@ -61,11 +57,11 @@ _p.serverGuardId = (int)vNetData.EquipID; } } else if (_equipInfo.place == (int)RoleEquipType.Weapon2) else if (_config.EquipPlace == (int)RoleEquipType.Weapon2) { _player.SwitchSecondary(vNetData.EquipID, _equipInfo.place); _player.SwitchSecondary(vNetData.EquipID, _config.EquipPlace); } else if (_equipInfo.place == (int)RoleEquipType.Mount) else if (_config.EquipPlace == (int)RoleEquipType.Mount) { _player.ActorInfo.horseItemID = vNetData.EquipID; if (_player.MovingState == E_MovingState.Ride) @@ -73,24 +69,24 @@ _player.OnHorse(1); } } else if (_equipInfo.place == (int)RoleEquipType.FashionClothes) else if (_config.EquipPlace == (int)RoleEquipType.FashionClothes) { _player.SwitchClothes(vNetData.EquipID, _equipInfo.place); _player.SwitchClothes(vNetData.EquipID, _config.EquipPlace); } else if (_equipInfo.place == (int)RoleEquipType.FashionWeapon) else if (_config.EquipPlace == (int)RoleEquipType.FashionWeapon) { _player.SwitchWeapon(vNetData.EquipID, _equipInfo.place); _player.SwitchWeapon(vNetData.EquipID, _config.EquipPlace); } else if (_equipInfo.place == (int)RoleEquipType.FashionWeapon2) else if (_config.EquipPlace == (int)RoleEquipType.FashionWeapon2) { _player.SwitchSecondary(vNetData.EquipID, _equipInfo.place); _player.SwitchSecondary(vNetData.EquipID, _config.EquipPlace); } if (_equipInfo.place == (int)RoleEquipType.Clothes || _equipInfo.place == (int)RoleEquipType.Hat || _equipInfo.place == (int)RoleEquipType.Shoes || _equipInfo.place == (int)RoleEquipType.Trousers || _equipInfo.place == (int)RoleEquipType.Belt) if (_config.EquipPlace == (int)RoleEquipType.Clothes || _config.EquipPlace == (int)RoleEquipType.Hat || _config.EquipPlace == (int)RoleEquipType.Shoes || _config.EquipPlace == (int)RoleEquipType.Trousers || _config.EquipPlace == (int)RoleEquipType.Belt) { _player.SyncSuitEffect(); } Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0415_tagPlayerUnEquipItem.cs
@@ -33,13 +33,7 @@ || _index == (int)RoleEquipType.Trousers || _index == (int)RoleEquipType.Belt) { var _equipInfo = new GActorPlayerBase.EquipInfo { place = _index, itemID = 0, }; // �����·� _player.ChangeEquip(_equipInfo); _player.TakeoffEquip(_config.EquipPlace); } if (_index == (int)RoleEquipType.Weapon) Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0434_tagAreaPlayerAppearEx.cs
@@ -25,6 +25,7 @@ { // 异常 } OpponentInformation.Instance.GetOpponentInformation0434(vNetData);//用于获取玩家护盾属性 BattleEffectPlayRule.Instance.AddPlayer(vNetData.PlayerID); @@ -36,6 +37,12 @@ _player = GAMgr.Instance.RequestPlayer<GA_Player>(vNetData.PlayerID, E_ActorGroup.Player, vNetData); for (int i = 0; i < vNetData.EquipCount; ++i) { _player.PutonEquip(vNetData.EquipInfo[i].ItemID); } _player.SwitchSuit(); if (StageLoad.Instance.isLoadingScene) { GAMgr.Instance.AddReJustPosActor(_player); Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0704_tagRolePackRefresh.cs
@@ -2,7 +2,7 @@ using System.Collections; using Snxxz.UI; //07 04 主角背包刷新#tagRolePackRefresh //07 04 ���DZ���ˢ��#tagRolePackRefresh @@ -25,16 +25,10 @@ if (vNetData.PackType == 1) { var _equipInfo = new GActorPlayerBase.EquipInfo { itemID = vNetData.ItemID, place = vNetData.ItemPlace }; var _hero = PlayerDatas.Instance.hero; if (_hero != null) { _hero.ChangeEquip(_equipInfo); _hero.PutonEquip(vNetData.ItemID); } } } Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0709_tagClearItem.cs
@@ -2,13 +2,13 @@ using System.Collections; using Snxxz.UI; //07 09 清空物品#tagClearItem //07 09 �����Ʒ#tagClearItem public class DTC0709_tagClearItem : DtcBasic { /** 删除物品事件代理 */ /** ɾ����Ʒ�¼����� */ public delegate void ItemChangeHandler(int type, int index); public static event ItemChangeHandler ItemChangeEvent; @@ -27,16 +27,10 @@ if (vNetData.PackType == 1) { var _equipInfo = new GActorPlayerBase.EquipInfo { itemID = 0, place = vNetData.ItemIndex }; var _hero = PlayerDatas.Instance.hero; if (_hero != null) { _hero.ChangeEquip(_equipInfo); _hero.TakeoffEquip(vNetData.ItemIndex); } } Core/NetworkPackage/DTCFile/ServerPack/H07_PlayerItem/DTC0725_tagRolePackRefreshEx.cs
@@ -2,7 +2,7 @@ using System.Collections; using Snxxz.UI; //07 25 主角背包刷新(通知所有物品) #tagRolePackRefreshEx //07 25 ���DZ���ˢ�£�֪ͨ������Ʒ�� #tagRolePackRefreshEx @@ -29,16 +29,10 @@ { foreach (var _item in vNetData.ItemInfo) { var _equipInfo = new GActorPlayerBase.EquipInfo { itemID = _item.ItemID, place = _item.ItemPlace }; var _hero = PlayerDatas.Instance.hero; if (_hero != null) { _hero.ChangeEquip(_equipInfo); _hero.PutonEquip(_item.ItemID); } } } Fight/GameActor/GA_Player.cs
@@ -57,19 +57,14 @@ // 处理装备 H0434_tagAreaPlayerAppearEx.tagEquipInfo _equipInfo; EquipInfo _info; ItemConfig _itemConfig; // 因为衣服是所有装备的父节点, 需要预先处理衣服 for (int i = 0; i < m_H0434.EquipCount; ++i) for (int i = 0; i < m_EquipDict.Count; ++i) { _equipInfo = m_H0434.EquipInfo[i]; _itemConfig = ItemConfig.Get((int)_equipInfo.ItemID); _info = new EquipInfo { itemID = _equipInfo.ItemID }; m_EquipDict[_itemConfig.EquipPlace] = _info; m_EquipDict[_itemConfig.EquipPlace] = _equipInfo.ItemID; if (_itemConfig.EquipPlace == (byte)RoleEquipType.FashionClothes) { @@ -80,7 +75,6 @@ SwitchClothes(_equipInfo.ItemID); } } // 如果没有任何衣服, 则穿上默认装备 if (ClothesItemID == 0 || ClothesItemID == uint.MaxValue) { @@ -279,10 +273,6 @@ OnHorse(0); StopMoveToPosition(); } } public override void SwitchSuit() { } protected override void OnUpdate() Fight/GameActor/GActorPlayerBase.cs
@@ -25,18 +25,13 @@ { public int id; public int place; public int isSuit; public int suitLevel; } private GameObject m_EmptyJY; public static UnityAction<bool> onShowEffect; private bool m_LoadDefaultHorse; public struct EquipInfo { public int place; public uint itemID; } protected Dictionary<int, uint> m_EquipDict = new Dictionary<int, uint>(); protected bool m_SuitEffectShow; protected Material m_WingMaterial; @@ -54,8 +49,6 @@ // Debug.LogFormat("设置 {0} 的移动状态为 {1}", ServerInstID, value); } } protected Dictionary<int, EquipInfo> m_EquipDict = new Dictionary<int, EquipInfo>(); private ActorShadowCaster m_ShadowCaster = null; private SFXController m_Shadow; @@ -392,45 +385,102 @@ public virtual void SwitchSuit() { var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); if (apperance.fashionClothes != 0) int _clothes = 0; int _weapon = 0; int _secondary = 0; int _fashionClothes = 0; int _fashionWeapon = 0; int _fashionSecondary = 0; int _wings = 0; int _guard = 0; bool _isSuit = false; if (this is GA_Hero) { SwitchClothes((uint)apperance.fashionClothes, (int)RoleEquipType.FashionClothes); var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); _fashionClothes = apperance.fashionClothes; _fashionWeapon = apperance.fashionWeapon; _fashionSecondary = apperance.fashionSecondary; _clothes = apperance.clothes; _weapon = apperance.weapon; _secondary = apperance.secondary; _wings = apperance.wings; _guard = apperance.guard1; _isSuit = apperance.isSuit; } else if (this is GA_Player) { if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionWeapon2)) { _fashionSecondary = (int)m_EquipDict[(int)RoleEquipType.FashionWeapon2]; } if (m_EquipDict.ContainsKey((int)RoleEquipType.Weapon2)) { _secondary = (int)m_EquipDict[(int)RoleEquipType.Weapon2]; } if (m_EquipDict.ContainsKey((int)RoleEquipType.Clothes)) { _clothes = (int)m_EquipDict[(int)RoleEquipType.Clothes]; } if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionClothes)) { _fashionClothes = (int)m_EquipDict[(int)RoleEquipType.FashionClothes]; } if (m_EquipDict.ContainsKey((int)RoleEquipType.Weapon)) { _weapon = (int)m_EquipDict[(int)RoleEquipType.Weapon]; } if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionWeapon)) { _fashionWeapon = (int)m_EquipDict[(int)RoleEquipType.FashionWeapon]; } if (m_EquipDict.ContainsKey((int)RoleEquipType.Wing)) { _wings = (int)m_EquipDict[(int)RoleEquipType.Wing]; } if (m_EquipDict.ContainsKey((int)RoleEquipType.Guard)) { _guard = (int)m_EquipDict[(int)RoleEquipType.Guard]; } } if (_fashionClothes != 0) { SwitchClothes((uint)_fashionClothes, (int)RoleEquipType.FashionClothes); } else { SwitchClothes((uint)apperance.clothes); SwitchClothes((uint)_clothes); } if (apperance.fashionWeapon != 0) if (_fashionWeapon != 0) { SwitchWeapon((uint)apperance.fashionWeapon, (int)RoleEquipType.FashionWeapon); SwitchWeapon((uint)_fashionWeapon, (int)RoleEquipType.FashionWeapon); } else { SwitchWeapon((uint)apperance.weapon); SwitchWeapon((uint)_weapon); } if (apperance.fashionSecondary != 0) if (_fashionSecondary != 0) { SwitchSecondary((uint)apperance.fashionSecondary, (int)RoleEquipType.FashionWeapon2); SwitchSecondary((uint)_fashionSecondary, (int)RoleEquipType.FashionWeapon2); } else { SwitchSecondary((uint)apperance.secondary); SwitchSecondary((uint)_secondary); } if (apperance.wings != 0) if (_wings != 0) { SwitchWing((uint)apperance.wings); SwitchWing((uint)_wings); } if (apperance.guard1 != 0) if (_guard != 0) { SwitchGuard((uint)apperance.guard1); SwitchGuard((uint)_guard); } SyncSuitEffect(apperance.isSuit); SyncSuitEffect(_isSuit); } public abstract override void Destroy(); @@ -594,7 +644,26 @@ return; } var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); int _weapon = 0; int _fashionWeapon = 0; if (this is GA_Hero) { var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); _weapon = apperance.weapon; _fashionWeapon = apperance.fashionWeapon; } else if (this is GA_Player) { if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionWeapon)) { _fashionWeapon = (int)m_EquipDict[(int)RoleEquipType.FashionWeapon]; } else if (m_EquipDict.ContainsKey((int)RoleEquipType.Weapon)) { _weapon = (int)m_EquipDict[(int)RoleEquipType.Weapon]; } } int _resID = JobSetup.BaseEquip[1]; @@ -605,15 +674,15 @@ if (itemID == 0) { // 寻找原身上装备, 如果有的话就重置此次要换装的道具id if (apperance.weapon != 0) if (_weapon != 0) { itemID = (uint)apperance.weapon; itemID = (uint)_weapon; } } } else if (index == (int)RoleEquipType.Weapon) { if (apperance.fashionWeapon != 0) if (_fashionWeapon != 0) { return; } @@ -712,7 +781,26 @@ return; } var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); int _secondary = 0; int _fashionSecondary = 0; if (this is GA_Hero) { var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); _secondary = apperance.secondary; _fashionSecondary = apperance.fashionSecondary; } else if (this is GA_Player) { if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionWeapon2)) { _fashionSecondary = (int)m_EquipDict[(int)RoleEquipType.FashionWeapon2]; } else if (m_EquipDict.ContainsKey((int)RoleEquipType.Weapon2)) { _secondary = (int)m_EquipDict[(int)RoleEquipType.Weapon2]; } } int _baseHandResID = ModelResConfig.GetHandByClothesID((int)ClothesItemID); int _resID = _baseHandResID; @@ -728,15 +816,15 @@ if (itemID == 0) { // 寻找原身上装备, 如果有的话就重置此次要换装的道具id if (apperance.secondary != 0) if (_secondary != 0) { itemID = (uint)apperance.secondary; itemID = (uint)_secondary; } } } else if (index == (int)RoleEquipType.Weapon2) { if (apperance.fashionSecondary != 0) if (_fashionSecondary != 0) { return; } @@ -799,7 +887,7 @@ } } if (apperance.fashionSecondary != 0) if (_fashionSecondary != 0) { SwitchHand(true); } @@ -953,7 +1041,26 @@ return; } var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); int _clothesID = 0; int _fashionClothesID = 0; if (this is GA_Hero) { var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); _clothesID = apperance.clothes; _fashionClothesID = apperance.fashionClothes; } else if (this is GA_Player) { if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionClothes)) { _fashionClothesID = (int)m_EquipDict[(int)RoleEquipType.FashionClothes]; } else if (m_EquipDict.ContainsKey((int)RoleEquipType.Clothes)) { _clothesID = (int)m_EquipDict[(int)RoleEquipType.Clothes]; } } // 换装ID int _resID = JobSetup.BaseEquip[0]; @@ -965,15 +1072,15 @@ if (itemID == 0) { // 寻找原身上装备, 如果有的话就重置此次要换装的道具id if (apperance.clothes != 0) if (_clothesID != 0) { itemID = (uint)apperance.clothes; itemID = (uint)_clothesID; } } } else if (index == (int)RoleEquipType.Clothes) { if (apperance.fashionClothes != 0) if (_fashionClothesID != 0) { return; } @@ -1138,13 +1245,13 @@ // 决定副手逻辑 // 如果当前是时装副手, 则装备时装手臂 // 如果当前是普通副手, 则卸下手臂 if (apperance.fashionSecondary != 0) if (_fashionClothesID != 0) { SwitchHand(true); } else { if (apperance.fashionSecondary == 0) if (_fashionClothesID == 0) { SwitchHand(true); } @@ -1310,13 +1417,32 @@ if (onOrOff) { var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); int _clothesID = 0; int _fashionClothesID = 0; if (this is GA_Hero) { var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance(); _clothesID = apperance.clothes; _fashionClothesID = apperance.fashionClothes; } else if (this is GA_Player) { if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionClothes)) { _fashionClothesID = (int)m_EquipDict[(int)RoleEquipType.FashionClothes]; } else if (m_EquipDict.ContainsKey((int)RoleEquipType.Clothes)) { _clothesID = (int)m_EquipDict[(int)RoleEquipType.Clothes]; } } int _itemID = 7000; if (apperance.fashionClothes == 0) if (_fashionClothesID == 0) { if (apperance.clothes == 0) if (_clothesID == 0) { _itemID = 7000; } @@ -1796,18 +1922,21 @@ } } public void ChangeEquip(EquipInfo equipInfo) { // 传入ID为0代表脱下了装备 if (equipInfo.itemID == 0 && equipInfo.place != 0) public void PutonEquip(uint itemID) { var _config = ItemConfig.Get((int)itemID); if (_config == null) { if (m_EquipDict.ContainsKey(equipInfo.place)) { m_EquipDict.Remove(equipInfo.place); } return; } else m_EquipDict[_config.EquipPlace] = itemID; } public void TakeoffEquip(int place) { if (m_EquipDict.ContainsKey(place)) { m_EquipDict[equipInfo.place] = equipInfo; m_EquipDict.Remove(place); } } System/CrossServerOneVsOneClient/ClientCrossServerOneVsOne.cs
@@ -18,8 +18,10 @@ public static string opponentName { get; private set; } static FightObstacle[] m_Obstacles; public static FightObstacle[] obstacles { get { public static FightObstacle[] obstacles { get { if (m_Obstacles == null) { var configString = FuncConfigConfig.Get("CrossRealmPKFB").Numerical2; @@ -110,8 +112,6 @@ var itemConfig = ItemConfig.Get(equipItems[i]); equipInfo.id = itemConfig.ID; equipInfo.place = itemConfig.EquipPlace; equipInfo.suitLevel = 0; equipInfo.isSuit = 0; equipInfos[i] = equipInfo; } System/FakeDungeon/FakeDemonJarDungeonStage.cs
@@ -310,8 +310,6 @@ var itemConfig = ItemConfig.Get(equips[i]); equipInfo.id = itemConfig.ID; equipInfo.place = itemConfig.EquipPlace; equipInfo.suitLevel = 0; equipInfo.isSuit = 0; equipInfos[i] = equipInfo; }