Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -599,7 +599,7 @@ Register(typeof(HB117_tagMCFaceInfo), typeof(DTCB117_tagMCFaceInfo)); Register(typeof(HB118_tagMCFacePicInfo), typeof(DTCB118_tagMCFacePicInfo)); Register(typeof(HA721_tagMCEmojiPackInfo), typeof(DTCA721_tagMCEmojiPackInfo)); Register(typeof(HA512_tagMCFamilyZhenbaogeInfo), typeof(DTCA512_tagMCFamilyZhenbaogeInfo)); } Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -102,6 +102,7 @@ public int skillReducePerG; //射日神弓技能减伤百分比 public int mapRealmSelect; //地图境界难度 public int leaveFamilyTime; //离开家族时间 public long treasurePotentialSp { @@ -175,6 +176,7 @@ coinPointTotal = _serverInfo.ChangeCoinPointTotal; equipShowSwitch = _serverInfo.EquipShowSwitch; mapRealmSelect = (int)_serverInfo.ExAttr18; leaveFamilyTime = (int)_serverInfo.ExAttr19; face = (int)_serverInfo.Face; facePic = (int)_serverInfo.FacePic; } @@ -220,6 +222,7 @@ } // 比如跨服数据更新后,玩家回到本服会同步新数据,需更新 public void UpdateData(HA112_tagMCDBPlayer serverInfo) { AccID = serverInfo.AccID; @@ -271,7 +274,11 @@ { PlayerDatas.Instance.hero.ActorInfo.ResetHp((long)HP); } equipShowSwitch = serverInfo.EquipShowSwitch; mapRealmSelect = (int)serverInfo.ExAttr18; leaveFamilyTime = (int)serverInfo.ExAttr19; face = (int)serverInfo.Face; facePic = (int)serverInfo.FacePic; } Core/GameEngine/Model/Player/Fairy/PlayerFairyData.cs
@@ -276,7 +276,8 @@ else { ClearFairyData(); LocalChatHistory.Clear(ChatInfoType.Fairy); LocalChatHistory.Clear(ChatInfoType.Fairy); WindowCenter.Instance.Close<UnionPanel>(); } if (OnRefreshFairyMine != null) { Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -913,6 +913,10 @@ case PlayerDataType.default9: baseData.mapRealmSelect = (int)value; break; case PlayerDataType.default10: baseData.leaveFamilyTime = (int)value; break; } } Core/NetworkPackage/ClientPack/ClientToMapServer/CA6_Family/CA616_tagCMZhenbaogeOP.cs
New file @@ -0,0 +1,18 @@ using UnityEngine; using System.Collections; // A6 16 珍宝阁操作 #tagCMZhenbaogeOP public class CA616_tagCMZhenbaogeOP : GameNetPackBasic { public byte OpType; // 操作:0-砍价;1-购买 public CA616_tagCMZhenbaogeOP () { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xA616; } public override void WriteToBytes () { WriteBytes (OpType, NetDataType.BYTE); } } Core/NetworkPackage/ClientPack/ClientToMapServer/CA6_Family/CA616_tagCMZhenbaogeOP.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 77c3940cecd59b3419236172bae11c14 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/DTCFile/ServerPack/HA4_Family/DTCA403_tagGCFamilyActionInfo.cs
@@ -11,8 +11,10 @@ FairyModel fairyModel { get { return ModelCenter.Instance.GetModel<FairyModel>(); } } public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); ////家族行为数据 因type不同而逻辑不同,使用请根据功能需求各自接收处理 HA403_tagGCFamilyActionInfo vNetData = vNetPack as HA403_tagGCFamilyActionInfo; fairyModel.UpdateFamilyAction(vNetData); ModelCenter.Instance.GetModel<FairyEmblemModel>().UpdateFamilyAction(vNetData); ModelCenter.Instance.GetModel<FairyNewModel>().UpdateFamilyAction(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA512_tagMCFamilyZhenbaogeInfo.cs
New file @@ -0,0 +1,15 @@ using UnityEngine; using System.Collections; using vnxbqy.UI; // A5 12 珍宝阁信息 #tagMCFamilyZhenbaogeInfo public class DTCA512_tagMCFamilyZhenbaogeInfo : DtcBasic { FairyNewModel model { get { return ModelCenter.Instance.GetModel<FairyNewModel>(); } } public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HA512_tagMCFamilyZhenbaogeInfo vNetData = vNetPack as HA512_tagMCFamilyZhenbaogeInfo; model.UpdateZhenbaogeInfo(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA512_tagMCFamilyZhenbaogeInfo.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: ea678a8bb0059b24f818f2e2a657a6f8 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HA5_Family/HA512_tagMCFamilyZhenbaogeInfo.cs
New file @@ -0,0 +1,19 @@ using UnityEngine; using System.Collections; // A5 12 珍宝阁信息 #tagMCFamilyZhenbaogeInfo public class HA512_tagMCFamilyZhenbaogeInfo : GameNetPackBasic { public byte CutState; // 今日是否已砍价,此状态为全局状态,与盟Action砍价状态不同 public byte BuyState; // 今日是否已购买,此状态为全局状态,与盟Action购买状态不同 public HA512_tagMCFamilyZhenbaogeInfo () { _cmd = (ushort)0xA512; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out CutState, vBytes, NetDataType.BYTE); TransBytes (out BuyState, vBytes, NetDataType.BYTE); } } Core/NetworkPackage/ServerPack/HA5_Family/HA512_tagMCFamilyZhenbaogeInfo.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: dafcfb3685a14d34cb4036da68f87bb1 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/FairyAu/FairyBasicFunctionWin.cs
@@ -28,6 +28,9 @@ [SerializeField] Button lilianBtn; [SerializeField] Button cgBtn; [SerializeField] Button fudiBtn; [SerializeField] Button zbgBtn; [SerializeField] Text zbgTime; StoreModel _storeModel; StoreModel m_storeModel { @@ -83,6 +86,10 @@ { WindowCenter.Instance.Open<BlessedLandWin>(); }); zbgBtn.AddListener(() => { WindowCenter.Instance.Open<FamilyZBGWin>(); }); } @@ -96,6 +103,7 @@ familyModel.UpdateZhenfaRedpoint(); cgBtn.SetActive(fairyFeastModel.activeOpenday > TimeUtility.OpenDay); fudiBtn.SetActive(FuncOpen.Instance.IsFuncOpen(227)); familyModel.QueryZBGFamilyInfo(); } protected override void OnAfterOpen() @@ -111,6 +119,28 @@ protected override void OnAfterClose() { } float m_Time; //间隔1秒刷新一次 protected override void LateUpdate() { m_Time += Time.deltaTime; if (m_Time < 1) { return; } m_Time = 0; if (familyModel.familyZBGActions.ContainsKey(1)) { zbgBtn.SetActive(true); zbgTime.text = TimeUtility.SecondsToHMS((int)(TimeUtility.GetNext5Time() - TimeUtility.ServerNow).TotalSeconds); } else { zbgBtn.SetActive(false); } } #endregion System/FairyAu/FairyModel.cs
@@ -933,8 +933,11 @@ } } //家族行为数据 因type不同而逻辑不同,使用请根据功能需求各自接收处理 public void UpdateFamilyAction(HA403_tagGCFamilyActionInfo _package) { if (_package.ActionType != 13 && _package.ActionType != 14) return; if (!familyActions.ContainsKey((int)_package.FamilyID)) { System/FairyAu/FairyNewModel.cs
@@ -51,18 +51,38 @@ public bool showSitFinishTip = false; public Dictionary<string, int> sitDungeonInfo = new Dictionary<string, int>(); private Redpoint affairRedpoint = new Redpoint(10701, 1070112); private Redpoint zhenfaRedpoint = new Redpoint(10701, 1070113); public Redpoint sitRedpoint = new Redpoint(10701, 1070114); private Redpoint affairRedpoint = new Redpoint(10701, 1070112); //历练 private Redpoint zhenfaRedpoint = new Redpoint(10701, 1070113); //阵法 public Redpoint sitRedpoint = new Redpoint(10701, 1070114); //打坐 private List<Redpoint> zhanfaredpoints = new List<Redpoint>(); Redpoint zbgRedpoint = new Redpoint(10701, 1070115); //珍宝阁 //珍宝阁 public int zhenbaogeCutState = 0; public int zhenbaogeBuyState = 0; public event Action UpdateZhenbaogeEvent; public bool isQueryZBGYet = false; public float lastZBGStartTime = 0; //过天刷新用 public const int ZBGFamilyActionType = 16; //{id:数据} 砍价行为,value1为玩家ID,特殊约定为1时为家族的数据 public Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction> familyZBGActions = new Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction>(); public List<int> sortPlayerCut = new List<int>(); public event Action<bool> UpdateFamilyActionEvent; public int zbgPriceType; public int zbgOrgPriceValue; public int zbgChangFamilyCD; public List<int> cutCntListForTalk = new List<int>(); PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } public override void Init() { ParseConfig(); PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo; PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine;//退出仙盟 GlobalTimeEvent.Instance.minuteEvent += UpdateRedpoint; foreach (int type in useItemsDict.Keys) { @@ -75,6 +95,7 @@ { GlobalTimeEvent.Instance.minuteEvent -= UpdateRedpoint; PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo; PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyMine;//退出仙盟 } @@ -102,6 +123,12 @@ roundSeconds = sitInfo[0]; sitMaxRound = sitInfo[1]; addExpRateInfo = ConfigParse.GetMultipleStr<int>(config.Numerical3); config = FuncConfigConfig.Get("Zhenbaoge"); zbgPriceType = int.Parse(config.Numerical1); zbgOrgPriceValue = int.Parse(config.Numerical2); zbgChangFamilyCD = int.Parse(config.Numerical3); cutCntListForTalk = JsonMapper.ToObject<List<int>>(config.Numerical4); } public void OnBeforePlayerDataInitialize() @@ -114,6 +141,9 @@ sitRound = 0; showSitFinishTip = false; sitDungeonInfo.Clear(); isQueryZBGYet = false; familyZBGActions.Clear(); sortPlayerCut.Clear(); } private void OnRefreshFairyInfo() @@ -329,6 +359,7 @@ { UpdateZhenfaRedpoint(); UpdateSitRedpoint(); UpdateZBGRedpoint(); } #endregion @@ -376,5 +407,152 @@ } } #endregion #region 珍宝阁 public void UpdateZhenbaogeInfo(HA512_tagMCFamilyZhenbaogeInfo netPack) { zhenbaogeCutState = netPack.CutState; zhenbaogeBuyState = netPack.BuyState; UpdateZhenbaogeEvent?.Invoke(); UpdateZBGRedpoint(); } //登录后首次打开查询,退出仙盟重打开查询 public void QueryZBGFamilyInfo() { if (isQueryZBGYet) return; var pack = new CA408_tagCGQueryFamilyAction(); pack.ActionType = 16; pack.FamilyID = PlayerDatas.Instance.baseData.FamilyId; GameNetSystem.Instance.SendInfo(pack); isQueryZBGYet = true; } private void OnRefreshFairyMine()//退出仙盟 { if (!PlayerDatas.Instance.fairyData.HasFairy) { isQueryZBGYet = false; familyZBGActions.Clear(); sortPlayerCut.Clear(); WindowCenter.Instance.Close<FamilyZBGWin>(); } UpdateZBGRedpoint(); } public void UpdateZBGRedpoint() { zbgRedpoint.state = RedPointState.None; if (!PlayerDatas.Instance.fairyData.HasFairy) { return; } if (zhenbaogeCutState == 0) { zbgRedpoint.state = RedPointState.Simple; } } public void UpdateFamilyAction(HA403_tagGCFamilyActionInfo vNetData) { if (vNetData.ActionType != ZBGFamilyActionType) { return; } if (vNetData.FamilyID != PlayerDatas.Instance.baseData.FamilyId) { return; } bool restart = false; if (vNetData.FamilyActionList.Length == 1 && vNetData.FamilyActionList[0].Value1 == 1) { if (familyZBGActions.ContainsKey(1) && familyZBGActions[1].Time != vNetData.FamilyActionList[0].Time) { familyZBGActions.Clear(); sortPlayerCut.Clear(); restart = true; } } for (int i = 0; i < vNetData.FamilyActionList.Length; i++) { familyZBGActions[(int)vNetData.FamilyActionList[i].Value1] = vNetData.FamilyActionList[i]; } sortPlayerCut = familyZBGActions.Keys.ToList(); if (sortPlayerCut.Contains(1)) sortPlayerCut.Remove(1); sortPlayerCut.Sort((a, b) => { return familyZBGActions[a].Time.CompareTo(familyZBGActions[b].Time); }); UpdateFamilyActionEvent?.Invoke(restart); } //砍价人数 public int GetZBGFamilyActionCount() { return Math.Max(0, familyZBGActions.Count - 1); } public int GetTalkState() { int cnt = GetZBGFamilyActionCount(); for (int i = 0; i < cutCntListForTalk.Count; i++) { if (cnt < cutCntListForTalk[i]) { return i; } } return 0; } public int[][] GetZBGItems() { if (!familyZBGActions.ContainsKey(1)) return null; return JsonMapper.ToObject<int[][]>(familyZBGActions[1].UseData); } public void OnZhenbaogeOP(byte type) { var pack = new CA616_tagCMZhenbaogeOP(); pack.OpType = type; GameNetSystem.Instance.SendInfo(pack); } public Dictionary <int , PlayerFairyData.FairyMember> tmpNoCutMembers = new Dictionary<int, PlayerFairyData.FairyMember>(); //未议价成员 public void CalcNoCutMembers() { tmpNoCutMembers.Clear(); var fairy = PlayerDatas.Instance.fairyData.fairy; if (fairy == null) { return; } foreach(var member in fairy.Member) { if (!familyZBGActions.ContainsKey((int)member.PlayerID)) { tmpNoCutMembers[(int)member.PlayerID] = member; } } } #endregion } } System/FairyAu/FamilyZBGCell.cs
New file @@ -0,0 +1,28 @@ using vnxbqy.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class FamilyZBGCell : CellView { [SerializeField] Text nameText; [SerializeField] Image moneyIcon; [SerializeField] Text cutText; [SerializeField] Image buyState; FairyNewModel familyModel { get { return ModelCenter.Instance.GetModel<FairyNewModel>(); } } public void Display(int index) { var info = familyModel.familyZBGActions[familyModel.sortPlayerCut[index]]; nameText.text = string.Format("{0}.{1}", index + 1, info.Name); moneyIcon.SetSmallIconWithMoneyType(familyModel.zbgPriceType); cutText.text = info.Value2.ToString(); buyState.SetActive(info.Value3 == 1); } } } System/FairyAu/FamilyZBGCell.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 6fd893b835f753542b24dd44fecd31fa MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/FairyAu/FamilyZBGNoCutCell.cs
New file @@ -0,0 +1,26 @@ using vnxbqy.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class FamilyZBGNoCutCell : CellView { [SerializeField] Text nameText; [SerializeField] Text timeText; FairyNewModel familyModel { get { return ModelCenter.Instance.GetModel<FairyNewModel>(); } } public void Display(int id) { var fairyMember = familyModel.tmpNoCutMembers[id]; nameText.text = fairyMember.Name; timeText.text = fairyMember.Exattr2 != 0 ? UIHelper.GetFadeTime(fairyMember.Exattr2) + Language.Get("L1026") : string.Empty; } } } System/FairyAu/FamilyZBGNoCutCell.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: ac0471c1f8fb97240b0c36588457c7ce MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/FairyAu/FamilyZBGNoCutWin.cs
New file @@ -0,0 +1,68 @@ using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class FamilyZBGNoCutWin : Window { [SerializeField] Button close; [SerializeField] ScrollerController scroller; FairyNewModel familyModel { get { return ModelCenter.Instance.GetModel<FairyNewModel>(); } } protected override void BindController() { } protected override void AddListeners() { close.AddListener(CloseClick); } protected override void OnPreOpen() { scroller.OnRefreshCell += OnRefreshCell; familyModel.CalcNoCutMembers(); CreateScroller(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { scroller.OnRefreshCell -= OnRefreshCell; } protected override void OnAfterClose() { } void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as FamilyZBGNoCutCell; _cell.Display(cell.index); } void CreateScroller() { scroller.Refresh(); var keys = familyModel.tmpNoCutMembers.Keys.ToList(); for (int i = 0; i < keys.Count; i++) { scroller.AddCell(ScrollerDataType.Header, keys[i]); } scroller.Restart(); } } } System/FairyAu/FamilyZBGNoCutWin.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 3fb604c38ec9e144e975172ed800bbc1 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/FairyAu/FamilyZBGWin.cs
New file @@ -0,0 +1,234 @@ using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class FamilyZBGWin : Window { [SerializeField] Button close; [SerializeField] Text talkText; [SerializeField] ScaleTween talkTween; [SerializeField] List<ItemCell> items = new List<ItemCell>(); [SerializeField] Text orgPrice; [SerializeField] Image orgIcon; [SerializeField] Transform cutObj; [SerializeField] Text price; [SerializeField] Text totalInfo; [SerializeField] Button memberOnlineBtn; [SerializeField] ScrollerController scroller; [SerializeField] Button cutBtn; [SerializeField] Text cutText; [SerializeField] Image cutState; FairyNewModel familyModel { get { return ModelCenter.Instance.GetModel<FairyNewModel>(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } protected override void BindController() { } protected override void AddListeners() { close.AddListener(CloseClick); memberOnlineBtn.AddListener(() => { WindowCenter.Instance.Open<FamilyZBGNoCutWin>(); }); cutBtn.AddListener(OnCut); } protected override void OnPreOpen() { talkTween.Stop(); familyModel.UpdateFamilyActionEvent += OnFamilyActionInfoEvent; scroller.OnRefreshCell += OnRefreshCell; familyModel.UpdateZhenbaogeEvent += OnPlayerZBGEvent; Display(); CreateScroller(); } protected override void OnAfterOpen() { DisplayTalk(); } protected override void OnPreClose() { familyModel.UpdateFamilyActionEvent -= OnFamilyActionInfoEvent; scroller.OnRefreshCell -= OnRefreshCell; familyModel.UpdateZhenbaogeEvent -= OnPlayerZBGEvent; } protected override void OnAfterClose() { } void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as FamilyZBGCell; _cell.Display(cell.index); } void CreateScroller() { scroller.Refresh(); var keys = familyModel.sortPlayerCut; for (int i = 0; i < keys.Count; i++) { scroller.AddCell(ScrollerDataType.Header, i); } scroller.Restart(); } void Display() { var awards = familyModel.GetZBGItems(); for (int i = 0; i < items.Count; i++) { if (i < awards.Length) { items[i].SetActive(true); int itemID = awards[i][0]; items[i].Init(new ItemCellModel(itemID, false, (ulong)awards[i][1])); items[i].button.AddListener(() => { ItemTipUtility.Show(itemID); }); } else { items[i].SetActive(false); } } orgPrice.text = familyModel.zbgOrgPriceValue.ToString(); orgIcon.SetSmallIconWithMoneyType(familyModel.zbgPriceType); DisplayFamilyCutInfo(); DisplayBtnState(); } void DisplayFamilyCutInfo() { if (familyModel.familyZBGActions[1].Value3 > 0) { price.text = "-" + familyModel.familyZBGActions[1].Value2; } else { price.text = familyModel.familyZBGActions[1].Value2.ToString(); } totalInfo.text = Language.Get("FairyZBG2", familyModel.familyZBGActions.Count - 1, PlayerDatas.Instance.fairyData.fairy.Member.Count, "SmallMoney" + familyModel.zbgPriceType, familyModel.zbgOrgPriceValue - familyModel.familyZBGActions[1].Value2); cutObj.SetActive(familyModel.familyZBGActions.Count > 1); } void DisplayBtnState() { if (familyModel.zhenbaogeCutState == 0) { cutText.text = Language.Get("FairyZBG3"); cutBtn.SetActive(true); cutState.SetActive(false); } else if (familyModel.zhenbaogeBuyState == 0) { cutText.text = Language.Get("FairyZBG4"); cutBtn.SetActive(true); cutState.SetActive(false); } else { cutBtn.SetActive(false); cutState.SetActive(true); } } void DisplayTalk() { talkTween.SetStartState(); talkTween.Play(); talkText.text = Language.Get("FairyZBGTalk" + familyModel.GetTalkState()); } private void OnDisable() { } private void OnFamilyActionInfoEvent(bool restart) { if (restart) { Display(); } else { DisplayFamilyCutInfo(); } DisplayTalk(); if (familyModel.sortPlayerCut.Count != scroller.GetNumberOfCells(scroller.m_Scorller)) { CreateScroller(); } else { scroller.m_Scorller.RefreshActiveCellViews(); } } void OnCut() { //退盟的cd限制 if ((TimeUtility.AllSeconds - PlayerDatas.Instance.baseData.mapRealmSelect) / 60 < familyModel.zbgChangFamilyCD ) { SysNotifyMgr.Instance.ShowTip("ZhenbaogeCut1", familyModel.zbgChangFamilyCD - (TimeUtility.AllSeconds - PlayerDatas.Instance.baseData.mapRealmSelect) / 60); return; } if (familyModel.zhenbaogeCutState == 0) { familyModel.OnZhenbaogeOP(0); } else if (familyModel.zhenbaogeBuyState == 0) { if (packModel.GetEmptyGridCount(PackType.Item) < items.Count) { SysNotifyMgr.Instance.ShowTip("GeRen_lhs_202580"); return; } if (UIHelper.GetMoneyCnt(familyModel.zbgPriceType) < familyModel.familyZBGActions[1].Value2) { SysNotifyMgr.Instance.ShowTip("LackMoney", familyModel.zbgPriceType); return; } familyModel.OnZhenbaogeOP(1); } } void OnPlayerZBGEvent() { DisplayBtnState(); } } } System/FairyAu/FamilyZBGWin.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 25b9bf2aa18ba7f4c8c78b684c5d2916 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/FairyEmblem/FairyEmblemModel.cs
@@ -158,6 +158,8 @@ public FairyEmblemUnlockMethodType GetFairyEmblemUnlockType(int emblemID) { FamilyEmblemConfig config = FamilyEmblemConfig.Get(emblemID); if (config == null) return FairyEmblemUnlockMethodType.LV; if (config.CustomFamilyID > 0) return FairyEmblemUnlockMethodType.Custom; return config.UnlockFamilyLV > 0 ? FairyEmblemUnlockMethodType.LV : FairyEmblemUnlockMethodType.Active; Utility/EnumHelper.cs
@@ -687,7 +687,7 @@ default7, default8, default9, // 237 地图境界难度 default10, default10, // 238 离开仙盟时间戳(包含主动退出或被踢 default11, // 239 代表魅力等级 default12, default13, // 241 古神货币 Utility/TimeUtility.cs
@@ -405,6 +405,21 @@ return new DateTime(now.Year, now.Month, now.Day); } /// <summary> /// 获取下一个凌晨5点的时间 /// </summary> /// <returns></returns> public static DateTime GetNext5Time() { var now = ServerNow; if (now.Hour < 5) { return new DateTime(now.Year, now.Month, now.Day, 5, 0, 0); } return new DateTime(now.Year, now.Month, now.Day, 5, 0, 0).AddDays(1); } //开服天结束倒计时;单位秒 public static int GetRemindTimeByOpenDay(int days) { Utility/UIHelper.cs
@@ -29,6 +29,13 @@ _image.SetSprite(iconKey); } public static void SetSmallIconWithMoneyType(this Image _image, int moneyType) { if (_image == null) return; string iconKey = StringUtility.Contact("SmallMoney", moneyType); _image.SetSprite(iconKey); } /// <summary> /// 分离字符串插入空格 /// </summary>