Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -52,11 +52,6 @@ Debug.LogError(ex); } if (vNetData.LV == 1) { OperationLogCollect.Instance.RecordEvent(8); } PlayerDatas.Instance.InitPlayerData(vNetData); SDKUtility.Instance.RoleLogin(vNetData.PlayerID.ToString(), @@ -127,6 +122,10 @@ break; case GameNetSystem.SocketType.CrossSever: StageManager.Instance.isCrossServerPreparing = true; if (PlayerDatas.Instance.hero != null) { PlayerDatas.Instance.hero.ActorInfo.recordServerDie = PlayerDatas.Instance.hero.ActorInfo.serverDie; } break; } Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0132_tagCreateRoleSucess.cs
@@ -13,6 +13,8 @@ return; } OperationLogCollect.Instance.RecordEvent(8); isCreateRole = true; } } Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA112_tagMCDBPlayer.cs
@@ -9,7 +9,7 @@ public class DTCA112_tagMCDBPlayer : DtcBasic { public static event Action playerInitEvent; public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); @@ -18,13 +18,22 @@ PlayerDatas.Instance.UpdatePlayerData(package); var hero = PlayerDatas.Instance.hero; if (hero != null && !hero.ActorInfo.serverDie) if (hero != null) { var playerId = PlayerDatas.Instance.baseData.PlayerID; hero.ActorInfo.serverDie = PlayerDatas.Instance.hero.ActorInfo.recordServerDie; hero.RequestName(); hero.SwitchRedName(StatusMgr.Instance.IsExist(playerId, StatusMgr.Instance.redNameBuffID)); hero.IdleImmediate(); hero.State = E_ActorState.Idle; if (!hero.ActorInfo.serverDie) { hero.IdleImmediate(); hero.State = E_ActorState.Idle; } } if (playerInitEvent != null) { playerInitEvent(); } } Fight/GameActor/GA_Guard.cs
@@ -94,6 +94,7 @@ { StageManager.Instance.onStageLoadFinish += OnStageLoadFinish; DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent += AfterPlayerDataInitializeEvent; DTCA112_tagMCDBPlayer.playerInitEvent += PlayerInitEvent; } IsPlayerDie = false; @@ -130,7 +131,8 @@ deadModel.AllPlayerDieEvent -= AllPlayerDieEvent; deadModel.AllPlayerRebornEvent -= AllPlayerRebornEvent; DTC0429_tagObjResetPos.ResetPlayerPosEvent -= ResetPlayerPosEvent; DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= AfterPlayerDataInitializeEvent; DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= AfterPlayerDataInitializeEvent; DTCA112_tagMCDBPlayer.playerInitEvent -= PlayerInitEvent; if (IsHeroControl) { StageManager.Instance.onStageLoadFinish -= OnStageLoadFinish; @@ -158,9 +160,19 @@ SnxxzGame.Instance.StartCoroutine(Co_RecheckPlayLifeState()); } public void PlayerInitEvent() { CheckResetGuardState(); } IEnumerator Co_RecheckPlayLifeState() { yield return null; CheckResetGuardState(); } void CheckResetGuardState() { if (guardState == GuardState.Inter) { var hero = PlayerDatas.Instance.hero; Fight/GameActor/GActorInfo.cs
@@ -20,9 +20,10 @@ } /// <summary> /// 是否服务端死亡 /// 是否本服务端死亡 /// </summary> public bool serverDie = false; public bool recordServerDie = false; public float moveSpeed; public float atkSpeed = 1; public float rotateSpeed; System/FairyAu/FairyGrabBossBehaviour.cs
@@ -95,6 +95,7 @@ if (realmConfig != null) { m_RealmIcon.SetSprite(realmConfig.Img); m_RealmIcon.SetNativeSize(); } } System/KnapSack/Logic/BoxInfoWin.cs
@@ -175,6 +175,11 @@ itemTipsModel.TryGetFightPowerByItemId(itemTipsModel.curAttrData.itemId, out fightPower); infoDes = infoDes.Replace("{FightPower}", fightPower.ToString()); } if(infoDes.Contains("{ShareNum}")) { string shareNumDes = itemTipsModel.GetShareNumItemDes(itemTipsModel.curAttrData.itemId); infoDes = infoDes.Replace("{ShareNum}",shareNumDes); } itemDesText.text = infoDes; operateBtn.SetActive(false); System/KnapSack/Logic/ItemInfoWin.cs
@@ -157,6 +157,11 @@ itemTipsModel.TryGetFightPowerByItemId(itemTipsModel.curAttrData.itemId, out fightPower); infoDes = infoDes.Replace("{FightPower}", fightPower.ToString()); } if (infoDes.Contains("{ShareNum}")) { string shareNumDes = itemTipsModel.GetShareNumItemDes(itemTipsModel.curAttrData.itemId); infoDes = infoDes.Replace("{ShareNum}", shareNumDes); } itemDesText.text = infoDes; operateBtn.SetActive(false); System/KnapSack/Logic/ItemTipsModel.cs
@@ -2268,6 +2268,36 @@ return 0; } #endregion #region 共享开启次数 public string GetShareNumItemDes(int itemId) { string shareNumDes = string.Empty; List<int> idlist = null; bool isShare = playerPack.TryGetShareNumItem(itemId,out idlist); if(isShare) { foreach (var id in idlist) { if (itemId != id) { ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(id); TextColType colType = itemConfig.ItemColor < 2 ? TextColType.White : (TextColType)itemConfig.ItemColor; string des = UIHelper.AppendStringColor(colType, itemConfig.ItemName); if (shareNumDes.Length > 0) { shareNumDes = StringUtility.Contact(shareNumDes, "</r>", des); } else { shareNumDes = des; } } } } return shareNumDes; } #endregion } public class ItemAttrData System/KnapSack/Logic/PlayerPackModels.cs
@@ -25,6 +25,8 @@ public int InitDepotGridCnt { get; private set; } BlastFurnaceModel FurnaceModel { get { return ModelCenter.Instance.GetModel<BlastFurnaceModel>(); } } public List<int> LocalSavePlaceArray { get; private set; } public Dictionary<int, List<int>> ShareUseCntItemDict { get; private set;} public override void Init() { ParseConfig(); @@ -78,6 +80,23 @@ FuncConfigConfig equipDecompose = Config.Instance.Get<FuncConfigConfig>("EquipDevourCount"); minDecomposeNum = int.Parse(equipDecompose.Numerical1); defaultUnSelectlist = ConfigParse.GetMultipleStr<int>(equipDecompose.Numerical2); FuncConfigConfig ShareUseCntItem = Config.Instance.Get<FuncConfigConfig>("ShareUseCntItem"); ShareUseCntItemDict = new Dictionary<int, List<int>>(); JsonData shareUseJson = JsonMapper.ToObject(ShareUseCntItem.Numerical1); if(shareUseJson.IsArray) { for(int i = 0; i < shareUseJson.Count;i++) { var idListJson = shareUseJson[i]; var idlist = new List<int>(); ShareUseCntItemDict.Add(i,idlist); foreach(var id in idListJson) { idlist.Add(int.Parse(id.ToString())); } } } InitDepotGridCnt = int.Parse(Config.Instance.Get<FuncConfigConfig>("InitDepotCellCount").Numerical1); InitBagGridCnt = int.Parse(Config.Instance.Get<FuncConfigConfig>("InitBagCellCount").Numerical1); @@ -889,6 +908,20 @@ return count; } public bool TryGetShareNumItem(int itemId,out List<int> idlist) { idlist = new List<int>(); foreach(var list in ShareUseCntItemDict.Values) { if(list.Contains(itemId)) { idlist = list; return true; } } return false; } /// <summary> /// 得到物品今日使用次数 /// </summary> @@ -897,7 +930,21 @@ public int GetDayUseCntByID(int itemId) { int useCnt = 0; itemDayUseCntDict.TryGetValue(itemId, out useCnt); List<int> shareIdlist = null; bool isShare = TryGetShareNumItem(itemId,out shareIdlist); if(isShare) { foreach(var id in shareIdlist) { int singleUseCnt = 0; itemDayUseCntDict.TryGetValue(id, out singleUseCnt); useCnt += singleUseCnt; } } else { itemDayUseCntDict.TryGetValue(itemId, out useCnt); } return useCnt; } @@ -909,7 +956,21 @@ public int GetSumUseCntByID(int itemId) { int useCnt = 0; itemSumUseCntDict.TryGetValue(itemId, out useCnt); List<int> shareIdlist = null; bool isShare = TryGetShareNumItem(itemId, out shareIdlist); if (isShare) { foreach (var id in shareIdlist) { int singleUseCnt = 0; itemDayUseCntDict.TryGetValue(id, out singleUseCnt); useCnt += singleUseCnt; } } else { itemSumUseCntDict.TryGetValue(itemId, out useCnt); } return useCnt; } System/OpenServerActivity/ImpactBillRankCell.cs
@@ -68,6 +68,7 @@ if (_realmCfg != null) { m_CompareImg.SetSprite(_realmCfg.Img); m_CompareImg.SetNativeSize(); } break; case PlayerRankData.RankType.OpenServerRecharge: System/OpenServerActivity/ImpactRankWin.cs
@@ -252,6 +252,7 @@ { var _realmConfig = Config.Instance.Get<RealmConfig>(_playerData.value); m_TargetImg.SetSprite(_realmConfig == null ? string.Empty : _realmConfig.Img); m_TargetImg.SetNativeSize(); } else { System/Rank/RankHeadCell.cs
@@ -121,7 +121,9 @@ realmImg.gameObject.SetActive(data.type != (int)PlayerRankData.RankType.Realm); m_CompareImg.gameObject.SetActive(data.type == (int)PlayerRankData.RankType.Realm); realmImg.SetSprite(presentCfg.Img); realmImg.SetNativeSize(); m_CompareImg.SetSprite(presentCfg.Img); m_CompareImg.SetNativeSize(); } bool isSelf = data.ID == PlayerDatas.Instance.PlayerId; System/Realm/RealmPreviewWin.cs
@@ -84,6 +84,7 @@ m_SelectRealmProperty.Display(m_SelectRealm, false); var _realmCfg = Config.Instance.Get<RealmConfig>(m_SelectRealm); m_SelectRealmIcon.SetSprite(_realmCfg.Img); m_SelectRealmIcon.SetNativeSize(); } private void OnRefreshCell(ScrollerDataType type, CellView cell) System/Role/EquipShowSwitch.cs
@@ -30,6 +30,10 @@ public static bool IsGodWeaponEffectOn(uint value, int type, out int level) { level = 0; if (value == 7) { return false; } for (int i = 0; i < GODWEAPON_EFFECT_STAGE; i++) { var stage = i + 1; System/Role/GodWeaponPreviewWin.cs
@@ -275,6 +275,10 @@ for (int i = 0; i < model.godWeaponTypes.Count; i++) { var type = model.godWeaponTypes[i]; if (!model.godWeaponEffectTypes.Contains(type)) { continue; } var godWeaponInfo = model.GetGodWeaponInfo(type); var equipedLevel = 0; if (type == selectGodWeaponType) System/Role/RolePanel.cs
@@ -70,6 +70,12 @@ return m_TitleModel ?? (m_TitleModel = ModelCenter.Instance.GetModel<TitleModel>()); } } PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } private void OnRefreshTitle() { TitleData titleData = titleModel.GetTitleEquip(); @@ -196,9 +202,14 @@ OnUpdateSpecialAttr(); OnUpdateLvExp(); m_PlayerFightPower.text = PlayerDatas.Instance.baseData.FightPoint.ToString(); UI3DModelExhibition.Instance.ShowPlayer(m_PlayerShowModel, PlayerDatas.Instance.baseData.Job); DisplayModel(); OnRefreshRealm(); OnRefreshWorldLv(); } void DisplayModel() { UI3DModelExhibition.Instance.ShowPlayer(m_PlayerShowModel, PlayerDatas.Instance.baseData.Job); } void OnUpdateLvExp() @@ -314,6 +325,7 @@ titleModel.OnRefreshGainTitle += OnRefreshTitle; PlayerDatas.Instance.OnRoleAttrRefresh += OnRefreshWorldLv; PlayerDatas.Instance.RefreshPlayerInfoEvent += RefreshPlayerInfoEvent; packModel.RefreshItemCountAct += RefreshItemCountAct; } protected override void OnActived() @@ -335,6 +347,7 @@ PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= OnRefreshPlayerInfo; titleModel.OnRefreshGainTitle -= OnRefreshTitle; PlayerDatas.Instance.OnRoleAttrRefresh -= OnRefreshWorldLv; packModel.RefreshItemCountAct -= RefreshItemCountAct; if (!WindowJumpMgr.Instance.IsJumpState) { WindowCenter.Instance.Open<MainInterfaceWin>(); @@ -343,6 +356,14 @@ CloseChild(); } private void RefreshItemCountAct(PackType packType, int index, int arg3) { if (packType == PackType.rptEquip) { DisplayModel(); } } private void OnRefreshWorldLv() { int limit = Config.Instance.Get<FuncOpenLVConfig>((int)FuncOpenEnum.WorldLv).LimitLV; System/RoleParticulars/RoleParticularsWin.cs
@@ -207,7 +207,9 @@ { RealmConfig _tagRealmModel = Config.Instance.Get<RealmConfig>(realmLv); if (_tagRealmModel != null) { realmImg.SetSprite(_tagRealmModel.Img); } } playerTxt.text = StringUtility.Contact(viewPlayerData.rolePropData.Name, "Lv. ", viewPlayerData.rolePropData.LV); fightPowerTxt.text = StringUtility.Contact(Language.Get("RoleParticularWin_2"), viewPlayerData.rolePropData.FightPower); System/Store/Logic/BuyBoxInfoWin.cs
@@ -178,8 +178,25 @@ { CheckUselimit(); } itemDesText.text = itemTipsModel.curAttrData.itemConfig.Description; string infoDes = itemTipsModel.curAttrData.GetAllInfoDes(); if (infoDes.Contains("{Exp}")) { ulong expValue = itemTipsModel.GetAddExpValue(itemTipsModel.curAttrData.itemConfig.EffectValueA1, itemTipsModel.curAttrData.itemConfig.EffectValueB1); infoDes = infoDes.Replace("{Exp}", UIHelper.ReplaceLargeNum(expValue)); } if (infoDes.Contains("{FightPower}")) { int fightPower = 0; itemTipsModel.TryGetFightPowerByItemId(itemTipsModel.curAttrData.itemId, out fightPower); infoDes = infoDes.Replace("{FightPower}", fightPower.ToString()); } if (infoDes.Contains("{ShareNum}")) { string shareNumDes = itemTipsModel.GetShareNumItemDes(itemTipsModel.curAttrData.itemId); infoDes = infoDes.Replace("{ShareNum}", shareNumDes); } itemDesText.text = infoDes; if (itemTipsModel.curAttrData.itemConfig.ExpireTime > 0) { System/Store/Logic/BuyItemInfoWin.cs
@@ -168,6 +168,11 @@ itemTipsModel.TryGetFightPowerByItemId(itemTipsModel.curAttrData.itemId, out fightPower); infoDes = infoDes.Replace("{FightPower}", fightPower.ToString()); } if (infoDes.Contains("{ShareNum}")) { string shareNumDes = itemTipsModel.GetShareNumItemDes(itemTipsModel.curAttrData.itemId); infoDes = infoDes.Replace("{ShareNum}", shareNumDes); } itemDesText.text = infoDes; if (itemTipsModel.curAttrData.itemConfig.ExpireTime > 0) System/Tip/ChestDetailBehaviour.cs
@@ -1,8 +1,8 @@ using System; using System.Collections; using System.Collections.Generic; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI @@ -109,6 +109,11 @@ itemTipsModel.TryGetFightPowerByItemId(itemTipsModel.curAttrData.itemId, out fightPower); infoDes = infoDes.Replace("{FightPower}", fightPower.ToString()); } if (infoDes.Contains("{ShareNum}")) { string shareNumDes = itemTipsModel.GetShareNumItemDes(itemTipsModel.curAttrData.itemId); infoDes = infoDes.Replace("{ShareNum}", shareNumDes); } m_Description.text = infoDes; @@ -166,6 +171,7 @@ if (realmConfig != null) { m_ConditionValue1.SetSprite(realmConfig.Img); m_ConditionValue1.SetNativeSize(); } } @@ -188,5 +194,5 @@ KnapSackEventMgr.Instance.HideItemPopWin(); } } } } System/Vip/FairyJadeInvestmentModel.cs
@@ -17,10 +17,12 @@ public MonthlyInvestmentModel.MonthlyInvestmentItem FairyJadeInvestmentItem;//奖励 } [XLua.LuaCallCSharp] public class FairyJadeInvestmentModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk, IOpenServerActivity public class FairyJadeInvestmentModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk, IOpenServerActivity { public Dictionary<int, FairyJadeInvestmentClass> FairyJadeInvestmentDic = new Dictionary<int, FairyJadeInvestmentClass>();//等级 public Dictionary<int, int> InfoSeriors = new Dictionary<int, int>();//奖励领取信息//key为索引,Value(0,未领,其他值未领的钱数) public Dictionary<int, FairyJadeInvestmentClass> FairyJadeInvestmentDic = new Dictionary<int, FairyJadeInvestmentClass>();//等级(0-300级) public Dictionary<int, Dictionary<int, FairyJadeInvestmentClass>> FairyJadeInvestmentTypeDic = new Dictionary<int, Dictionary<int, FairyJadeInvestmentClass>>();//根据投资类型来存储奖励类型和金额(类型3,4,5); public Dictionary<int, int> InfoSeriors = new Dictionary<int, int>();//奖励领取信息//key为索引,Value(0,未领,其他值未领的钱数)等级(0-300级) public Dictionary<int, int> InfoSeriorsTwo = new Dictionary<int, int>();//奖励领取信息//key为索引,Value(0,未领,其他值未领的钱数)等级(301-400) public Dictionary<int, int> InvestmentAmountDic = new Dictionary<int, int>();//投资金额 public static Action FairyJadeInfoSeriorsUpdate; public int InvestGold = 0; // 投资额度 @@ -130,7 +132,9 @@ FairyJadeInvestmentDic.Clear(); InvestmentAmountDic.Clear(); InfoSeriors.Clear(); InfoSeriorsTwo.Clear(); Assignment(); } public void OnPlayerLoginOk() @@ -166,8 +170,102 @@ { } public void AssignmentType() { //根据投资类型来存储奖励信息(类型3,4,5) if (FairyJadeInvestmentTypeDic.Count >= 3) { return; } var InvestConfig = Config.Instance.GetAllValues<InvestConfig>(); foreach (var value in InvestConfig) { if ((value.type == 3 || value.type == 4 || value.type == 5)) { if (!FairyJadeInvestmentTypeDic.ContainsKey(value.type)) { Dictionary<int, FairyJadeInvestmentClass> Dic = new Dictionary<int, FairyJadeInvestmentClass>(); FairyJadeInvestmentClass fairyJadeInvestment = new FairyJadeInvestmentClass(); if (value.id >= 310) { fairyJadeInvestment.ID = value.id % 100; } else { fairyJadeInvestment.ID = value.id % 10; } fairyJadeInvestment.Type = value.type; fairyJadeInvestment.NeedDay = value.needDay; fairyJadeInvestment.NeedLv = value.needLV; MonthlyInvestmentModel.MonthlyInvestmentItem FairyJadeItem = new MonthlyInvestmentModel.MonthlyInvestmentItem(); var _jsonData = LitJson.JsonMapper.ToObject(value.award); foreach (string key in _jsonData.Keys) { var _job = int.Parse(key); var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[key].ToJson()); for (int j = 0; j < _itemArray.Length; j++) { FairyJadeItem.Add(_job, new AwardItem() { item = new Item(_itemArray[j][0], _itemArray[j][1]), isBind = _itemArray[j][2], }); } } fairyJadeInvestment.FairyJadeInvestmentItem = FairyJadeItem; Dic.Add(value.needLV, fairyJadeInvestment); FairyJadeInvestmentTypeDic.Add(value.type, Dic); } else { var dict = FairyJadeInvestmentTypeDic[value.type]; FairyJadeInvestmentClass fairyJadeInvestment = new FairyJadeInvestmentClass(); if (value.id >= 310) { fairyJadeInvestment.ID = value.id % 100; } else { fairyJadeInvestment.ID = value.id % 10; } fairyJadeInvestment.Type = value.type; fairyJadeInvestment.NeedDay = value.needDay; fairyJadeInvestment.NeedLv = value.needLV; MonthlyInvestmentModel.MonthlyInvestmentItem FairyJadeItem = new MonthlyInvestmentModel.MonthlyInvestmentItem(); var _jsonData = LitJson.JsonMapper.ToObject(value.award); foreach (string key in _jsonData.Keys) { var _job = int.Parse(key); var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[key].ToJson()); for (int j = 0; j < _itemArray.Length; j++) { FairyJadeItem.Add(_job, new AwardItem() { item = new Item(_itemArray[j][0], _itemArray[j][1]), isBind = _itemArray[j][2], }); } } fairyJadeInvestment.FairyJadeInvestmentItem = FairyJadeItem; if (!dict.ContainsKey(value.needLV)) { dict.Add(value.needLV, fairyJadeInvestment); } else { dict[value.needLV] = fairyJadeInvestment; } } } } // DebugEx.LogError(FairyJadeInvestmentTypeDic); } public void Assignment() { // AssignmentType(); var InvestConfig = Config.Instance.GetAllValues<InvestConfig>(); if (FairyJadeInvestmentDic.Count > 0) { @@ -212,7 +310,9 @@ FairyJadeInvestmentDic.Add(value.needLV, fairyJadeInvestment); } } // DebugEx.LogError(FairyJadeInvestmentDic); } public void GetInfoSeriors(HA337_tagMCGoldInvestInfo vNetData)//接受信息 { if (vNetData.InvestType == 3) @@ -346,7 +446,7 @@ { redPointStre1.state = RedPointState.Simple; } } else { UI/Common/UI3DModelExhibition.cs
@@ -270,7 +270,7 @@ var flashSecondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFashionWeapon2); var secondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWeapon2); secondaryId = secondary == null ? 0 : (int)secondary.itemInfo.ItemID; flashSecondaryId = secondary == null ? 0 : flashSecondary.itemInfo.ItemID; flashSecondaryId = flashSecondary == null ? 0 : flashSecondary.itemInfo.ItemID; } var suitLevel = 0;