Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -496,6 +496,8 @@ Register(typeof(HB415_tagMCBossHurtValueRankInfo), typeof(DTCB415_tagMCBossHurtValueRankInfo)); #endregion Register(typeof(HB027_tagMCActivityPlaceInfo), typeof(DTCB027_tagMCActivityPlaceInfo)); } private static void Register(Type _pack, Type _business) Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB027_tagCMActivityPlaceStart.cs
New file @@ -0,0 +1,16 @@ using UnityEngine; using System.Collections; // B0 27 活跃放置启动 #tagCMActivityPlaceStart public class CB027_tagCMActivityPlaceStart : GameNetPackBasic { public CB027_tagCMActivityPlaceStart () { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xB027; } public override void WriteToBytes () { } } Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB027_tagCMActivityPlaceStart.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: c4de9d58533e744479ef6fce099aaf77 timeCreated: 1577111644 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB028_tagCMActivityPlaceQuickFinish.cs
New file @@ -0,0 +1,16 @@ using UnityEngine; using System.Collections; // B0 28 活跃放置快速完成 #tagCMActivityPlaceQuickFinish public class CB028_tagCMActivityPlaceQuickFinish : GameNetPackBasic { public CB028_tagCMActivityPlaceQuickFinish () { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xB028; } public override void WriteToBytes () { } } Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB028_tagCMActivityPlaceQuickFinish.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 4d2cda479b5f2fa4e80b390ef064cf8f timeCreated: 1577111643 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB027_tagMCActivityPlaceInfo.cs
New file @@ -0,0 +1,12 @@ using UnityEngine; using System.Collections; using Snxxz.UI; // B0 27 活跃放置信息 #tagMCActivityPlaceInfo public class DTCB027_tagMCActivityPlaceInfo : DtcBasic { DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HB027_tagMCActivityPlaceInfo vNetData = vNetPack as HB027_tagMCActivityPlaceInfo; dailyModel.OnActivityPlaceInfo(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB027_tagMCActivityPlaceInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 1a6092b6c3730d54687f7d2412c237d9 timeCreated: 1577111643 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HB0_Event/HB027_tagMCActivityPlaceInfo.cs
New file @@ -0,0 +1,25 @@ using UnityEngine; using System.Collections; // B0 27 活跃放置信息 #tagMCActivityPlaceInfo public class HB027_tagMCActivityPlaceInfo : GameNetPackBasic { public uint StartTime; // 开始探索time时间戳,完成一次探索会自动下一次探索并更新该时间 public byte PlaceCount; // 剩余未完成探索次数 public byte RewardCount; // 累计未领取探索奖励次数 public byte RewardLen; public string RewardInfo; //累计未领取探索奖励 [[itemID, count], ...] public HB027_tagMCActivityPlaceInfo () { _cmd = (ushort)0xB027; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out StartTime, vBytes, NetDataType.DWORD); TransBytes (out PlaceCount, vBytes, NetDataType.BYTE); TransBytes (out RewardCount, vBytes, NetDataType.BYTE); TransBytes (out RewardLen, vBytes, NetDataType.BYTE); TransBytes (out RewardInfo, vBytes, NetDataType.Chars, RewardLen); } } Core/NetworkPackage/ServerPack/HB0_Event/HB027_tagMCActivityPlaceInfo.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: cb23c47b078227a4ab6ee6bc93e7e41b timeCreated: 1577111644 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Activity/ActivityNotifyBehaviour.cs
@@ -153,6 +153,9 @@ case DailyQuestType.HazyRegion: WindowCenter.Instance.Open<HazyRegionFrameWin>(); break; case DailyQuestType.ActivityPlace: WindowCenter.Instance.Open<ActivityPlaceWin>(); break; case DailyQuestType.RidingPetActivity: WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 1); break; System/DailyQuest/ActivityPlaceWin.cs
New file @@ -0,0 +1,222 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, May 13, 2019 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class ActivityPlaceWin : Window { [SerializeField] Button m_Close; [SerializeField] Text m_Finding; [SerializeField] Text m_DownTime; [SerializeField] Button FinishNow; [SerializeField] RawImage m_RawRole; [SerializeField] RawImage m_NPC; [SerializeField] ScrollerController m_Scroller; [SerializeField] Button m_Button; [SerializeField] Text m_ButtonText; [SerializeField] Text FindCountSys; [SerializeField] Text NoItem; int OneTimes = 0; int ButtonModel = 0; //三个状态 0. 开始探索,1.继续探索 2. 领取X次奖励 DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } #region Built-in protected override void BindController() { OneTimes = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical3); } protected override void AddListeners() { m_Close.SetListener(CloseClick); FinishNow.SetListener(SelectFinishTimes); } private void SelectFinishTimes() { } protected override void OnPreOpen() { dailyModel.ActivityPlaceInfoEvent += Display; m_Scroller.OnRefreshCell += OnRefreshItemCell; dailyModel.usableActivePointUpdateEvent += ShowFindCountSys; Display(); } private void OnRefreshItemCell(ScrollerDataType type, CellView cell) { switch (type) { case ScrollerDataType.Header: ItemCell itemCell = cell.transform.Find("ItemCell1").GetComponent<ItemCell>(); ItemCellModel cellModel = new ItemCellModel(cell.info.Value.infoInt1, true, (ulong)cell.info.Value.infoInt2); itemCell.Init(cellModel); itemCell.button.SetListener(() => { ItemTipUtility.Show(cell.info.Value.infoInt1); }); break; } } private void Display() { var remindCount = dailyModel.ActivityPlaceInfo.PlaceCount; if (remindCount == 0) { m_DownTime.gameObject.SetActive(false); m_Finding.text = string.Empty; ShowMainButton(0); NoItem.gameObject.SetActive(true); m_Scroller.gameObject.SetActive(false); } else { m_DownTime.gameObject.SetActive(true); ShowDownTime(); m_Finding.text = Language.Get("ActivityPlaceFinding", dailyModel.ActivityPlaceInfo.PlaceCount); } if (dailyModel.ActivityPlaceInfo.RewardLen < 5) { if (remindCount != 0) { NoItem.gameObject.SetActive(true); m_Scroller.gameObject.SetActive(false); ShowMainButton(1); } } else { NoItem.gameObject.SetActive(false); m_Scroller.gameObject.SetActive(true); m_Scroller.Refresh(); var array = LitJson.JsonMapper.ToObject<int[][]>(dailyModel.ActivityPlaceInfo.RewardInfo); for (int i = 0; i < array.Length; i++) { CellInfo cellinfo = new CellInfo(); cellinfo.infoInt1 = array[i][0]; //物品ID cellinfo.infoInt2 = array[i][1]; //物品数量 m_Scroller.AddCell(ScrollerDataType.Header, i, cellinfo); } m_Scroller.Restart(); ShowMainButton(2); } } //三个状态 0. 开始探索,1.继续探索 2. 领取X次奖励 private void ShowMainButton(int modelType) { ButtonModel = modelType; switch (ButtonModel) { case 0: m_ButtonText.text = Language.Get("ActivityPlaceFinding1"); m_Button.SetListener(()=> { var send = new CB027_tagCMActivityPlaceStart(); GameNetSystem.Instance.SendInfo(send); }); break; case 1: m_ButtonText.text = Language.Get("ActivityPlaceFinding3"); m_Button.SetListener(() => { var send = new CB027_tagCMActivityPlaceStart(); GameNetSystem.Instance.SendInfo(send); WindowCenter.Instance.Close<ActivityPlaceWin>(); }); break; case 2: m_ButtonText.text = Language.Get("TaskBoxWin_BtnGetReward_Text_1"); m_Button.SetListener(() => { CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward(); getReward.RewardType = (byte)GotServerRewardType.Def_RewardType_ActivityPlace; getReward.DataEx = 0; getReward.DataExStrLen = 0; getReward.DataExStr = string.Empty; GameNetSystem.Instance.SendInfo(getReward); }); break; } ShowFindCountSys(); } private void ShowFindCountSys() { int useActivity = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical2); //单次消耗活跃点 int findCnt = dailyModel.usableActivePoint / useActivity; switch (ButtonModel) { case 0: case 1: FindCountSys.text = Language.Get("ActivityPlaceFinding2", findCnt* useActivity, findCnt); break; case 2: FindCountSys.text = string.Empty; break; } } private void ShowDownTime() { var remindCount = dailyModel.ActivityPlaceInfo.PlaceCount; if (remindCount == 0) { return; } var seconds = (int)(OneTimes - (float)(TimeUtility.ServerNow - System.TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)).AddSeconds(dailyModel.ActivityPlaceInfo.StartTime)).TotalSeconds); m_DownTime.text = TimeUtility.SecondsToHMS(seconds); } protected override void OnActived() { base.OnActived(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { dailyModel.ActivityPlaceInfoEvent -= Display; m_Scroller.OnRefreshCell -= OnRefreshItemCell; dailyModel.usableActivePointUpdateEvent -= ShowFindCountSys; } protected override void OnAfterClose() { } protected override void LateUpdate() { base.LateUpdate(); ShowDownTime(); } #endregion } } System/DailyQuest/ActivityPlaceWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: c69f84c4e99b3114c8fe786c43b4b7b6 timeCreated: 1577104501 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/DailyQuest/DailyQuestBehaviour.cs
@@ -148,6 +148,7 @@ model.GotoDailyQuest(data.id); break; case DailyQuestType.HazyRegion: case DailyQuestType.ActivityPlace: model.GotoDailyQuest(data.id); break; default: @@ -376,6 +377,7 @@ m_PracticePoint.text = Language.Get("PointPerFloor", config.OnceActivity); break; case DailyQuestType.HazyRegion: case DailyQuestType.ActivityPlace: if (config.OnceActivity == 0) { m_PracticePoint.text = string.Empty; System/DailyQuest/DailyQuestModel.cs
@@ -853,6 +853,8 @@ case DailyQuestType.HazyRegion: dailyQuest.redpoint.state = hazyRegionModel.redpoint.state; break; case DailyQuestType.ActivityPlace: break; case DailyQuestType.SkyTower: var state = RedPointState.None; if (skyTowerModel.redpoint03.state != RedPointState.None) @@ -1433,6 +1435,9 @@ WindowCenter.Instance.Close<DailyQuestWin>(); WindowCenter.Instance.Open<HazyRegionFrameWin>(); break; case DailyQuestType.ActivityPlace: WindowCenter.Instance.Open<ActivityPlaceWin>(); break; case DailyQuestType.SkyTower: GotoSkyTower(); break; @@ -1771,6 +1776,16 @@ CanBuyTimes = 5, Completed = 6, } public HB027_tagMCActivityPlaceInfo ActivityPlaceInfo = new HB027_tagMCActivityPlaceInfo(); public event Action ActivityPlaceInfoEvent; public void OnActivityPlaceInfo(HB027_tagMCActivityPlaceInfo pack) { ActivityPlaceInfo = pack; if (ActivityPlaceInfoEvent != null) ActivityPlaceInfoEvent(); } } } System/DailyQuest/DayQuestDetailsWin.cs
@@ -28,7 +28,7 @@ protected override void BindController() { int LevelUpLiveness = int.Parse(FuncConfigConfig.Get("ImmortalDomainActivePoint").Numerical3); int MaxLLiveness = int.Parse(FuncConfigConfig.Get("ImmortalDomainActivePoint").Numerical1); int MaxLLiveness = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical1); m_LivenessTipTxt.text = UIHelper.ReplaceNewLine(Language.Get("DayQuestDetailsWin_Text_2", LevelUpLiveness, MaxLLiveness)); m_LivenessTip.gameObject.SetActive(false); } System/FindPrecious/DemonJarDamageRankWin.cs
@@ -102,7 +102,7 @@ } if (CoolTimeSecond > 0) { var seconds = (int)(CoolTimeSecond - (float)(TimeUtility.ServerNow - startCoolTime).TotalSeconds); var seconds = (int)(CoolTimeSecond - (float)(DateTime.Now - startCoolTime).TotalSeconds); if (seconds <= 0) { CoolTimeSecond = 0; @@ -144,7 +144,7 @@ assistModel.SendRequestAssistBoss(model.BossHurtRank.npcObjID); startCoolTime = DateTime.Now; CoolTimeSecond = 9; CoolTimeSecond = 10; } System/KnapSack/New/FastFinishWin.cs
New file @@ -0,0 +1,170 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, September 08, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class FastFinishWin : Window { #region 成员变量 [SerializeField] Text m_UseItem; [SerializeField] Text m_UseMoney; [SerializeField] Slider m_SplitSlider; [SerializeField] Text m_Number; [SerializeField] Button m_AddBtn; [SerializeField] Button m_ReduceBtn; [SerializeField] Button m_SplitBtn; [SerializeField] Button m_CloseBtn; [SerializeField] ItemCell m_ItemCell; #endregion PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } } BuffModel Buffmodel { get { return ModelCenter.Instance.GetModel<BuffModel>(); } } private ItemModel itemModel; #region Built-in protected override void BindController() { } protected override void AddListeners() { m_SplitSlider.SetListener((float value) => { OnSplitValueChange(); }); m_AddBtn.SetListener(OnClickAddBtn); m_ReduceBtn.SetListener(OnClickReduceBtn); m_SplitBtn.SetListener(OnClickBatchUseBtn); m_CloseBtn.SetListener(OnClickCloseBtn); } protected override void OnPreOpen() { OpenBatchWin(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { WindowCenter.Instance.Open<MainInterfaceWin>(); } #endregion private void OpenBatchWin() { itemModel = playerPack.GetItemByGuid(BatchUseModel.Instance.guid); if (itemModel == null) { return; } InitPanel(); } void InitPanel() { ulong maxValue = 0; if (BatchUseModel.Instance.maxValue <= 0) { playerPack.IsReachUseLimit(itemModel.guid, out maxValue); } else { maxValue = (ulong)BatchUseModel.Instance.maxValue; } var cellModel = new ItemCellModel(itemModel.itemId, false, (ulong)maxValue, itemModel.guid, itemModel.packType, false); m_ItemCell.Init(cellModel); m_ItemCell.countText.text = maxValue.ToString(); m_SplitSlider.minValue = 1; m_SplitSlider.maxValue = maxValue; if (itemModel.config.BatchUse == 1) { m_SplitSlider.value = m_SplitSlider.minValue; } else if (itemModel.config.BatchUse == 2) { m_SplitSlider.value = m_SplitSlider.maxValue; } m_Number.text = Mathf.Ceil(m_SplitSlider.value).ToString(); } public void OnSplitValueChange() { m_Number.text = Mathf.Ceil(m_SplitSlider.value).ToString(); } public void OnClickAddBtn() { if (m_SplitSlider.value < m_SplitSlider.maxValue) { m_SplitSlider.value++; } } public void OnClickReduceBtn() { if (m_SplitSlider.value > m_SplitSlider.minValue) { m_SplitSlider.value--; } } public void OnClickBatchUseBtn() { if (itemModel == null) return; //if (Buffmodel.BuffCover(itemModel.itemId)) //{ // ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("FairyLand_Func22"), (bool isOk) => // { // if (isOk) // { // ItemOperateUtility.Instance.UseItem(itemModel.guid, (ushort)Mathf.Ceil(m_SplitSlider.value), BatchUseModel.Instance.extraPrams); // } // } // ); //} if (itemModel.config.Type == (int)ItemType.Box) { ModelCenter.Instance.GetModel<BoxGetItemModel>().CheckOpenBoxCondi(itemModel.guid, itemModel.itemId, (ushort)Mathf.Ceil(m_SplitSlider.value)); } else { ItemOperateUtility.Instance.UseItem(itemModel.guid, (ushort)Mathf.Ceil(m_SplitSlider.value), BatchUseModel.Instance.extraPrams); } OnClickCloseBtn(); } void OnClickCloseBtn() { Close(); } } } System/KnapSack/New/FastFinishWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: f5a1655e660deb74aadb2a910bd421f8 timeCreated: 1577159017 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/WindowJump/WindowJumpMgr.cs
@@ -771,6 +771,10 @@ case JumpUIType.HazyRegion: SetJumpLogic<HazyRegionFrameWin>(_tagWinSearchModel.TABID); break; case JumpUIType.ActivityPlace: SetJumpLogic<ActivityPlaceWin>(_tagWinSearchModel.TABID); break; case JumpUIType.Alchemy1: case JumpUIType.Alchemy2: case JumpUIType.Alchemy3: @@ -1831,6 +1835,6 @@ SHLTyp2 = 1023, //摄魂铃界面 HazyRegion = 1026,//缥缈仙域 Srsgs = 1027, //射日神功法宝界面 ActivityPlace = 1028, //秘境探索 } Utility/EnumHelper.cs
@@ -344,6 +344,7 @@ JadeDynastyBoss = 38, CrossServerBoss = 39, FairyChuanGong = 40, //仙盟传功 ActivityPlace = 41, //秘境探索 } [XLua.LuaCallCSharp] @@ -1122,6 +1123,7 @@ Def_RewardType_FairyAdventuresAward = 27,//缥缈奇遇 Def_RewardType_HistoryChargeAward = 28,//累计充值 Def_RewardType_DayPackageFree = 29,//每日免费礼包 Def_RewardType_ActivityPlace = 30,//活跃放置奖励 } [XLua.LuaCallCSharp]