Core/NetworkPackage/ClientPack/ClientToMapServer/CC1_CrossRealm/CC106_tagCMCrossNPCTalk.cs
New file @@ -0,0 +1,27 @@ using UnityEngine; using System.Collections; // C1 06 跨服NPC对话 #tagCMCrossNPCTalk public class CC106_tagCMCrossNPCTalk : GameNetPackBasic { public uint ObjID; public uint NPCID; public ushort PosX; public ushort PosY; public CC106_tagCMCrossNPCTalk() { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xC106; } public override void WriteToBytes() { WriteBytes(ObjID, NetDataType.DWORD); WriteBytes(NPCID, NetDataType.DWORD); WriteBytes(PosX, NetDataType.WORD); WriteBytes(PosY, NetDataType.WORD); } } Core/NetworkPackage/ClientPack/ClientToMapServer/CC1_CrossRealm/CC106_tagCMCrossNPCTalk.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: de7e7a1d27996e841928dbab57fe1d9f timeCreated: 1547469409 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC101_tagMCCrossRealmPKPlayerInfo.cs
@@ -12,6 +12,7 @@ public byte DayPKCount; // 当日已PK次数 public byte DayWinCount; // 当日已胜利次数 public byte DayBuyCount; // 当日已购买次数 public byte DayItemAddCount; // 当日物品增加次数 public HC101_tagMCCrossRealmPKPlayerInfo () { _cmd = (ushort)0xC101; @@ -26,6 +27,7 @@ TransBytes (out DayPKCount, vBytes, NetDataType.BYTE); TransBytes (out DayWinCount, vBytes, NetDataType.BYTE); TransBytes (out DayBuyCount, vBytes, NetDataType.BYTE); TransBytes (out DayItemAddCount, vBytes, NetDataType.BYTE); } } System/BetterItemGet/PreciousItemGetModel.cs
@@ -18,6 +18,7 @@ PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } CrossServerOneVsOneModel crossOneVsOneModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } } public PreciousItem currentShowItem { get; private set; } public event Action showItemRefreshEvent; @@ -40,6 +41,7 @@ { isGetNewItem = false; PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= RefreshRealm; CrossServerOneVsOnePlayerInfo.Instance.UpdateMatchNumEvent -= UpdateCrossOneVsOneMatchNum; } public void OnSwitchAccount() @@ -51,6 +53,7 @@ public void OnPlayerLoginOk() { PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshRealm; CrossServerOneVsOnePlayerInfo.Instance.UpdateMatchNumEvent += UpdateCrossOneVsOneMatchNum; } @@ -87,6 +90,27 @@ } } private void UpdateCrossOneVsOneMatchNum() { if (!TryRemindMatchTick()) return; var itemModels = playerPack.GetItemModelsById(PackType.rptItem,1506); if(itemModels != null && itemModels.Count > 0) { var itemModel = itemModels[0]; OnGetPreciousItem(PackType.rptItem,itemModel.itemInfo.ItemGUID); } } private bool TryRemindMatchTick() { if (NewBieCenter.Instance.inGuiding || !CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch) return false; int remainNum = CrossServerOneVsOnePlayerInfo.Instance.GetDayRemainNum(); if (remainNum > 0) return false; return true; } private void RefreshRealm(PlayerDataRefresh type) { int realmLv = PlayerDatas.Instance.baseData.realmLevel; System/CrossServerOneVsOne/CrossServerOneVsOneArenaWin.cs
@@ -222,18 +222,7 @@ private void ClickBuyTimes() { if(!CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch) { SysNotifyMgr.Instance.ShowTip("CrossMatching21"); return; } int remainNum = CrossServerOneVsOnePlayerInfo.Instance.GetDayRemainNum(); if (remainNum >= crossServerModel.freeMaxMatchNum) { SysNotifyMgr.Instance.ShowTip("CrossMatching13"); return; } if (!crossServerModel.TryGetBuyMatchTimes()) return; WindowCenter.Instance.Open<CrossSeverOneVsOneBuyMatchTimesWin>(); } System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -501,6 +501,24 @@ return false; } public bool TryGetBuyMatchTimes() { if (!CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch) { SysNotifyMgr.Instance.ShowTip("CrossMatching21"); return false; } int remainNum = CrossServerOneVsOnePlayerInfo.Instance.GetDayRemainNum(); if (remainNum >= freeMaxMatchNum) { SysNotifyMgr.Instance.ShowTip("CrossMatching13"); return false; } return true; } #endregion #region 历史记录 System/CrossServerOneVsOne/CrossServerOneVsOnePlayerInfo.cs
@@ -25,11 +25,16 @@ public int DayBuyCount { get; private set; } // 当日已购买次数 public int DayItemAddCount { get; private set; } // 当日物品增加次数 private int preDayPkCount; CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } } public event Action UpdatePlayerInfoEvent; public event Action UpdateMatchNumEvent; public void InitData() { preDayPkCount = 0; Score = 0; DanLV = 0; PKCount = 0; @@ -47,9 +52,20 @@ this.PKCount = playerInfo.PKCount; this.WinCount = playerInfo.WinCount; this.CWinCount = playerInfo.CWinCount; this.DayPKCount = playerInfo.DayPKCount; this.DayBuyCount = playerInfo.DayBuyCount; this.DayWinCount = playerInfo.DayWinCount; this.DayItemAddCount = playerInfo.DayItemAddCount; this.DayPKCount = playerInfo.DayPKCount; if (this.preDayPkCount != playerInfo.DayPKCount) { this.preDayPkCount = playerInfo.DayPKCount; if (UpdateMatchNumEvent != null) { UpdateMatchNumEvent(); } } if (UpdatePlayerInfoEvent != null) { UpdatePlayerInfoEvent(); @@ -76,7 +92,7 @@ public int GetDayRemainNum() { int remainNum = DayBuyCount + crossServerModel.freeMaxMatchNum - DayPKCount; int remainNum = DayBuyCount + DayItemAddCount + crossServerModel.freeMaxMatchNum - DayPKCount; return remainNum > 0 ? remainNum : 0; } System/Dungeon/DungeonFightWin.cs
@@ -379,7 +379,8 @@ break; case 41110: TreasureDungeon treasureDungeon; if (treasureModel.TryGetTreasureDungeon(41110, model.dungeonResult.lineID, out treasureDungeon)) if (treasureModel.TryGetTreasureDungeon(41110, model.dungeonResult.lineID, out treasureDungeon) && model.dungeonResult.isPass == 1) { if (!RuneTowerConfirmWin.waitConfirm) { @@ -424,7 +425,8 @@ var realmLv = ModelCenter.Instance.GetModel<RealmModel>().cacheRealmLv; var realmConfig = Config.Instance.Get<RealmConfig>(realmLv); if (model.dungeonResult.leaderID != PlayerDatas.Instance.baseData.PlayerID || realmConfig == null || realmConfig.IsBigRealm != 1) || realmConfig == null || realmConfig.IsBigRealm != 1 || model.dungeonResult.isPass != 1) { model.ExitCurrentDungeon(); } System/KnapSack/Logic/PackModelInterface.cs
@@ -699,6 +699,15 @@ return isReach; } break; case 127: int remainNum = CrossServerOneVsOnePlayerInfo.Instance.GetDayRemainNum(); if (!CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch || remainNum > 0) { isReach = false; return isReach; } break; default: break; } System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -691,15 +691,23 @@ fashionModel.jumpFashionDress = useItemModel.chinItemModel.EffectValueA1; break; } if (useItemModel.itemId == 951) { int startLockIndex = singlePack.openGridCount - playerPack.InitBagGridCnt; int chooseGridCnt = singlePack.openGridCount + GetExtendGridCnt(startLockIndex); modelInterface.OpenGrid(chooseGridCnt, PackType.rptItem); return; } if(playerPack.CheckIsDrugById(useItemModel.itemInfo.ItemID)) switch(useItemModel.chinItemModel.ID) { case 951: int startLockIndex = singlePack.openGridCount - playerPack.InitBagGridCnt; int chooseGridCnt = singlePack.openGridCount + GetExtendGridCnt(startLockIndex); modelInterface.OpenGrid(chooseGridCnt, PackType.rptItem); return; case 1506: var crossOneVsOneModel = ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); if (!crossOneVsOneModel.TryGetBuyMatchTimes()) { return; } break; } if (playerPack.CheckIsDrugById(useItemModel.itemInfo.ItemID)) { if(CheckItemUselimit(useItemModel.chinItemModel)) { @@ -816,7 +824,7 @@ { return; } if(itemModel.chinItemModel.Type == 59) { playerPack.SetWashAttrPointModel(itemModel.itemInfo.ItemGUID); System/KnapSack/Logic/PlayerPackModels.cs
@@ -842,6 +842,17 @@ return itemModel; } public List<ItemModel> GetItemModelsById(PackType type, int id) { List<ItemModel> itemModels= null; if (playerPackDict.ContainsKey(type)) { var singlePack = playerPackDict[type]; singlePack.GetItemCountByID(id,out itemModels); } return itemModels; } public string GetItemGUIDByID(int itemId) { string guid = string.Empty; System/MainInterfacePanel/PlayerTaskDatas.cs
@@ -303,17 +303,22 @@ { return; } C0801_tagCNPCTalk _C0801 = new C0801_tagCNPCTalk(); _C0801.NPCID = instanceId; _C0801.PosX = (ushort)Posx; _C0801.PosY = (ushort)PosY; if (CrossServerUtility.IsCrossServer()) { GameNetSystem.Instance.SendToCrossServer(_C0801); var sendInfo = new CC106_tagCMCrossNPCTalk(); sendInfo.ObjID = instanceId; sendInfo.NPCID = (uint)NPcID; sendInfo.PosX = (ushort)Posx; sendInfo.PosY = (ushort)PosY; GameNetSystem.Instance.SendInfo(sendInfo); } else { C0801_tagCNPCTalk _C0801 = new C0801_tagCNPCTalk(); _C0801.NPCID = instanceId; _C0801.PosX = (ushort)Posx; _C0801.PosY = (ushort)PosY; GameNetSystem.Instance.SendInfo(_C0801); } } System/OpenServerActivity/OpenServiceAchievementCell.cs
@@ -40,15 +40,28 @@ int rewardNum = model.GetRewardNumber(model.SelectedNow, ID);//已领奖次数 int carryOutNum = model.GetCarryOutNum(model.SelectedNow, ID);//已完成次数 int number = WeekPartyAction.TotalTimes / WeekPartyAction.SingleTimes; if (number - rewardNum > 0) var RemainingNum = 0; if (WeekPartyAction.TotalTimes - rewardNum > 0) { m_TextA.text = Language.Get("OSA_1", (number - rewardNum)); RemainingNum = (WeekPartyAction.TotalTimes - rewardNum) / WeekPartyAction.SingleTimes; } if (WeekPartyAction.TotalTimes -carryOutNum> 0) { m_TextA.text = Language.Get("OSA_1", RemainingNum); } else { m_TextA.text = Language.Get("OSA_4"); } m_TextB.text = string.Format(config.Description,1); if (config.ActionType == 20) { m_TextB.text = string.Format(config.Description,(model.SelectedNow+1)); } else { m_TextB.text = string.Format(config.Description, WeekPartyAction.SingleTimes); } m_TextC.text = Language.Get("OSA_2", WeekPartyAction.Point); for (int i = 0; i < m_ItemList.childCount; i++) { @@ -140,7 +153,7 @@ if (TaypeNumber > 0)//可领 { m_TextNumber.gameObject.SetActive(true); m_TextNumber.text = carryOutNum + "/" + number; m_TextNumber.text = SetText(ID); m_Btn.gameObject.SetActive(true); UIEffect uieffect = m_Btn.GetComponent<UIEffect>(); uieffect.Play(); @@ -156,7 +169,7 @@ } else { if (rewardNum >= number)//已经领完 if (rewardNum >= WeekPartyAction.TotalTimes)//已经领完 { m_TextNumber.gameObject.SetActive(false); m_Btn.gameObject.SetActive(false); @@ -167,7 +180,7 @@ else//未到达(前往) { m_TextNumber.gameObject.SetActive(true); m_TextNumber.text = carryOutNum + "/" + number; m_TextNumber.text = SetText(ID); m_Btn.gameObject.SetActive(true); m_BtnText.text = Language.Get("RealmPractice108");//前往 UIEffect uieffect = m_Btn.GetComponent<UIEffect>(); @@ -182,8 +195,32 @@ } } } } } string SetText( int ID) { string str = string.Empty; var WeekPartyAction = model.WeekPartyActionDic[ID]; int rewardNum = model.GetRewardNumber(model.SelectedNow, ID);//已领奖次数 int carryOutNum = model.GetCarryOutNum(model.SelectedNow, ID);//已完成次数 int TaypeNumber = 0; if (carryOutNum - rewardNum > 0) { TaypeNumber = (carryOutNum - rewardNum) / WeekPartyAction.SingleTimes; } if (TaypeNumber > 0) { str = WeekPartyAction.SingleTimes + "/" + WeekPartyAction.SingleTimes; return str; } else { int type = carryOutNum % WeekPartyAction.SingleTimes; str = type + "/" + WeekPartyAction.SingleTimes; } return str; } } } System/OpenServerActivity/OpenServiceAchievementModel.cs
@@ -109,6 +109,9 @@ public void OnBeforePlayerDataInitialize() { WeekPartyDayInfoDic.Clear(); WeekPartyDayDic.Clear(); WeekPartyActionDic.Clear(); isOpenNow = false; isPreviewTime = false; } @@ -117,6 +120,8 @@ { GlobalTimeEvent.Instance.secondEvent -= secondEvent; GlobalTimeEvent.Instance.secondEvent += secondEvent; SetRedPoint(); } private void secondEvent() @@ -132,6 +137,7 @@ } } GetIsOpen();//判断功能是否开启 GetDayNow(); } @@ -357,8 +363,16 @@ { Day = 0; } DebugEx.LogError("输出当前的天数" + Day); DayNow = Day; // DebugEx.LogError("输出当前的天数" + Day); if (DayNow != Day && Day<7) { DayNow = Day; if (WeekPartyDayInfoUpdate != null) { WeekPartyDayInfoUpdate(); } } } public void SendGetWeekParty(int day, int temdayplateID)//领取周狂欢活动奖励 @@ -448,7 +462,7 @@ bool IsBool = IsDayReward(day, type); if (point >= item.NeedPoint && !IsBool) { return RedPointState.Simple; return RedPointState.GetReward; } } for (int i = 0; i < WeekPartyDay.TemplateList.Length; i++) @@ -467,7 +481,7 @@ } if (TaypeNumber > 0 && rewardNum< number) { return RedPointState.Simple; return RedPointState.GetReward; } } } System/OpenServerActivity/OpenServiceAchievementWin.cs
@@ -51,6 +51,10 @@ SetTextIntegral(); OnCreateGridLineCell1(m_ScrollerController1); OnCreateGridLineCell2(m_ScrollerController2); if (model.SelectedNow >= 5) { m_ScrollerController1.JumpIndex(5); } } protected override void OnAfterOpen() @@ -71,6 +75,7 @@ } private void WeekPartyDayInfoUpdate()//列表刷新 { GetPointRewardObj();//获取积分领奖信息 m_ScrollerController1.m_Scorller.RefreshActiveCellViews();//刷新可见 m_ScrollerController2.m_Scorller.RefreshActiveCellViews();//刷新可见 } @@ -293,15 +298,10 @@ int number = WeekPartyAction.TotalTimes / WeekPartyAction.SingleTimes; int rewardNum = model.GetRewardNumber(model.SelectedNow, ID);//已领奖次数 int carryOutNum = model.GetCarryOutNum(model.SelectedNow, ID);//已完成次数 int TaypeNumber = 0; if (carryOutNum - rewardNum > 0) { TaypeNumber = (carryOutNum - rewardNum) / WeekPartyAction.SingleTimes; } if (TaypeNumber <= 0 && number> rewardNum) if (WeekPartyAction.TotalTimes> rewardNum) { Bool = true; } } } return Bool; } @@ -311,10 +311,9 @@ if (model.WeekPartyActionDic.ContainsKey(ID)) { var WeekPartyAction = model.WeekPartyActionDic[ID]; int number = WeekPartyAction.TotalTimes / WeekPartyAction.SingleTimes; int rewardNum = model.GetRewardNumber(model.SelectedNow, ID);//已领奖次数 int carryOutNum = model.GetCarryOutNum(model.SelectedNow, ID);//已完成次数 if (rewardNum >= number) if (rewardNum >= WeekPartyAction.TotalTimes) { Bool = true; } @@ -375,7 +374,7 @@ } foreach (var key in model.RedPointDic.Keys)//红点选择可领取的天 { if (model.RedPointDic[key].state == RedPointState.Simple) if (model.RedPointDic[key].state == RedPointState.GetReward) { model.SelectedNow = key; return;