Main/Config/ConfigManager.cs
@@ -42,6 +42,7 @@ typeof(BattleMapConfig), typeof(ChestsAwardConfig), typeof(CTGConfig), typeof(DailyTaskConfig), typeof(DamageNumConfig), typeof(DirtyWordConfig), typeof(DungeonConfig), @@ -232,6 +233,8 @@ ClearConfigDictionary<ChestsAwardConfig>(); // 清空 CTGConfig 字典 ClearConfigDictionary<CTGConfig>(); // 清空 DailyTaskConfig 字典 ClearConfigDictionary<DailyTaskConfig>(); // 清空 DamageNumConfig 字典 ClearConfigDictionary<DamageNumConfig>(); // 清空 DirtyWordConfig 字典 Main/Config/Configs/DailyLivenessRewardConfig.cs
New file @@ -0,0 +1,44 @@ //-------------------------------------------------------- // [Author]: YYL // [ Date ]: 2025年11月3日 //-------------------------------------------------------- using System.Collections.Generic; using System; using UnityEngine; using LitJson; public partial class DailyLivenessRewardConfig : ConfigBase<int, DailyLivenessRewardConfig> { static DailyLivenessRewardConfig() { // 访问过静态构造函数 visit = true; } public int ID; public int NeedLiveness; public int[][] AwardItemList; public override int LoadKey(string _key) { int key = GetKey(_key); return key; } public override void LoadConfig(string input) { try { string[] tables = input.Split('\t'); int.TryParse(tables[0],out ID); int.TryParse(tables[1],out NeedLiveness); AwardItemList = JsonMapper.ToObject<int[][]>(tables[2].Replace("(", "[").Replace(")", "]")); } catch (Exception exception) { Debug.LogError(exception); } } } Main/Config/Configs/DailyLivenessRewardConfig.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 6c305e1f375abfd49b4c9d1053ef5bcf MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/Config/Configs/DailyTaskConfig.cs
New file @@ -0,0 +1,68 @@ //-------------------------------------------------------- // [Author]: YYL // [ Date ]: 2025年11月3日 //-------------------------------------------------------- using System.Collections.Generic; using System; using UnityEngine; using LitJson; public partial class DailyTaskConfig : ConfigBase<int, DailyTaskConfig> { static DailyTaskConfig() { // 访问过静态构造函数 visit = true; } public int TaskID; public int TaskType; public int[] TaskConds; public int NeedValue; public int AwardLiveness; public string Title; public int GuideID; public override int LoadKey(string _key) { int key = GetKey(_key); return key; } public override void LoadConfig(string input) { try { string[] tables = input.Split('\t'); int.TryParse(tables[0],out TaskID); int.TryParse(tables[1],out TaskType); if (tables[2].Contains("[")) { TaskConds = JsonMapper.ToObject<int[]>(tables[2]); } else { string[] TaskCondsStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); TaskConds = new int[TaskCondsStringArray.Length]; for (int i=0;i<TaskCondsStringArray.Length;i++) { int.TryParse(TaskCondsStringArray[i],out TaskConds[i]); } } int.TryParse(tables[3],out NeedValue); int.TryParse(tables[4],out AwardLiveness); Title = tables[5]; int.TryParse(tables[6],out GuideID); } catch (Exception exception) { Debug.LogError(exception); } } } Main/Config/Configs/DailyTaskConfig.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 0ba5c113ebde460469cc494b48333132 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB109_tagSCDailyTaskInfo.cs
New file @@ -0,0 +1,12 @@ using UnityEngine; using System.Collections; // B1 09 每日活跃任务信息 #tagSCDailyTaskInfo public class DTCB109_tagSCDailyTaskInfo : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HB109_tagSCDailyTaskInfo vNetData = vNetPack as HB109_tagSCDailyTaskInfo; DayMissionManager.Instance.UpdateDailyTaskInfo(vNetData); } } Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB109_tagSCDailyTaskInfo.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 894bb389b50caa241b017836c059b06e MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -117,6 +117,7 @@ Register(typeof(HA009_tagSCGameRecInfo), typeof(DTCA009_tagSCGameRecInfo)); Register(typeof(HA922_tagSCArenaMatchList), typeof(DTCA922_tagSCArenaMatchList)); Register(typeof(HA923_tagSCArenaPlayerInfo), typeof(DTCA923_tagSCArenaPlayerInfo)); Register(typeof(HB109_tagSCDailyTaskInfo), typeof(DTCB109_tagSCDailyTaskInfo)); } //主工程注册封包 Main/Core/NetworkPackage/ServerPack/HB1_Role/HB109_tagSCDailyTaskInfo.cs
New file @@ -0,0 +1,39 @@ using UnityEngine; using System.Collections; // B1 09 每日活跃任务信息 #tagSCDailyTaskInfo public class HB109_tagSCDailyTaskInfo : GameNetPackBasic { public uint ActivityTotal; // 今日累计获得活跃度 public uint ActivityAward; // 累计活跃领奖记录,按活跃ID奖励二进制位存储是否已领取 public uint DailyTaskState; // 今日任务是否已领取奖励,按任务ID二进制位存储是否已领取 public byte TaskCount; public tagSCDailyTask[] TaskList; // 差异更新的任务信息 public HB109_tagSCDailyTaskInfo () { _cmd = (ushort)0xB109; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out ActivityTotal, vBytes, NetDataType.DWORD); TransBytes (out ActivityAward, vBytes, NetDataType.DWORD); TransBytes (out DailyTaskState, vBytes, NetDataType.DWORD); TransBytes (out TaskCount, vBytes, NetDataType.BYTE); TaskList = new tagSCDailyTask[TaskCount]; for (int i = 0; i < TaskCount; i ++) { TaskList[i] = new tagSCDailyTask(); TransBytes (out TaskList[i].TaskType, vBytes, NetDataType.BYTE); TransBytes (out TaskList[i].CLen, vBytes, NetDataType.BYTE); TransBytes (out TaskList[i].Conds, vBytes, NetDataType.DWORD, TaskList[i].CLen); TransBytes (out TaskList[i].CurValue, vBytes, NetDataType.DWORD); } } public class tagSCDailyTask { public byte TaskType; // 任务类型 public byte CLen; public uint[] Conds; // 条件列表 public uint CurValue; // 进度值,相同任务类型条件的进度值共享 } } Main/Core/NetworkPackage/ServerPack/HB1_Role/HB109_tagSCDailyTaskInfo.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 83a37cb51971a04478013e6f737e6eaa MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/Main.cs
@@ -83,6 +83,8 @@ managers.Add(AdsManager.Instance); managers.Add(BoneFieldManager.Instance); managers.Add(ArenaManager.Instance); managers.Add(DayMissionManager.Instance); foreach (var manager in managers) { manager.Init(); Main/System/DayMission.meta
New file @@ -0,0 +1,8 @@ fileFormatVersion: 2 guid: 1f7eb0d49e99cb641b0b1643cce2d73e folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: Main/System/DayMission/DayMissionBaseWin.cs
New file @@ -0,0 +1,42 @@ using System; using System.Collections.Generic; using System.Linq; using Cysharp.Threading.Tasks; using UnityEngine; using UnityEngine.UI; //日常界面 public class DayMissionBaseWin : FunctionsBaseWin { [SerializeField] Text titleText; protected override void OpenSubUIByTabIndex() { switch (functionOrder) { case 0: //日常任务 currentSubUI = UIManager.Instance.OpenWindow<DayMissionWin>(); titleText.text = Language.Get("DayMission2"); break; case 1: //周奖励 // currentSubUI = UIManager.Instance.OpenWindow<HeroCollectionWin>(); titleText.text = Language.Get("DayMission3"); break; case 2: //主线任务(英雄之路) titleText.text = Language.Get("DayMission4"); break; default: Debug.LogWarning("未知的标签索引: " + functionOrder); break; } } } Main/System/DayMission/DayMissionBaseWin.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: d7b1726e7f98b034daa3ddccc679e67b MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/DayMission/DayMissionCell.cs
New file @@ -0,0 +1,67 @@ using System; using UnityEngine; using UnityEngine.UI; public class DayMissionCell : CellView { [SerializeField] Text titleText; [SerializeField] Text valueText; [SerializeField] Image processImg; [SerializeField] Text processText; [SerializeField] Button getBtn; [SerializeField] Button gotoBtn; [SerializeField] Transform gotRect; [SerializeField] Transform mask; public void Display(int index) { int id = DayMissionManager.Instance.dailyIDList[index]; var config = DailyTaskConfig.Get(id); titleText.text = string.Format(config.Title, config.NeedValue); valueText.text = config.AwardLiveness.ToString(); var process = DayMissionManager.Instance.GetDailyTaskProcess(id); processImg.fillAmount = (float)process / config.NeedValue; processText.text = Math.Min(process, config.NeedValue) + "/" + config.NeedValue; var state = DayMissionManager.Instance.GetDailyTaskState(config); if (state == 0) { getBtn.SetActive(false); gotoBtn.SetActive(true); gotRect.SetActive(false); mask.SetActive(true); gotoBtn.AddListener(()=> { UIManager.Instance.CloseWindow<DayMissionBaseWin>(); NewBieCenter.Instance.StartNewBieGuide(config.GuideID); }); } else if (state == 1) { getBtn.SetActive(true); gotoBtn.SetActive(false); gotRect.SetActive(false); mask.SetActive(false); getBtn.AddListener(()=> { var pack = new CA504_tagCMPlayerGetReward(); pack.RewardType = 1; pack.DataEx = (uint)id; GameNetSystem.Instance.SendInfo(pack); }); } else if (state == 2) { getBtn.SetActive(false); gotoBtn.SetActive(false); gotRect.SetActive(true); mask.SetActive(true); } } } Main/System/DayMission/DayMissionCell.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: ad65770eaf39355489a8cd13d53d3399 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/DayMission/DayMissionManager.cs
New file @@ -0,0 +1,201 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using System; public class DayMissionManager : GameSystemManager<DayMissionManager> { public int activityTotal; // 今日累计获得活跃度 public int activityAward; // 累计活跃领奖记录,按活跃ID奖励二进制位存储是否已领取 public int dailyTaskState; // 今日任务是否已领取奖励,按任务ID二进制位存储是否已领取 public Dictionary<int, Dictionary<int, int>> taskProcessDict = new Dictionary<int, Dictionary<int, int>>(); // 任务进度字典,key:任务类型,value:进度值 public event Action OnDayMissionEvent; // 日常任务事件 public List<int> dailyIDList = new List<int>(); bool isRefreshDayMission = false; //做个延迟刷新 public override void Init() { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize; GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; ParseConfig(); } public override void Release() { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize; GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; } void OnBeforePlayerDataInitialize() { activityTotal = 0; activityAward = 0; dailyTaskState = 0; taskProcessDict.Clear(); } void OnSecondEvent() { if (isRefreshDayMission) { isRefreshDayMission = false; UpdateRedpoint(); OnDayMissionEvent?.Invoke(); } } void ParseConfig() { dailyIDList = DailyTaskConfig.GetKeys(); } public void UpdateDailyTaskInfo(HB109_tagSCDailyTaskInfo netPack) { if (netPack.TaskCount > 4) { //4是随便写的 正常刷新包小于等于1,只有重登和过天会将所有同步一次 //日常活跃包会被战斗包包含打乱顺序,故按最大值存储 activityTotal = 0; activityAward = 0; dailyTaskState = 0; taskProcessDict.Clear(); } activityTotal = Math.Max(activityTotal, (int)netPack.ActivityTotal); activityAward = Math.Max(activityAward, (int)netPack.ActivityAward); dailyTaskState = Math.Max(dailyTaskState, (int)netPack.DailyTaskState); for (int i = 0; i < netPack.TaskCount; i++) { var task = netPack.TaskList[i]; if (!taskProcessDict.ContainsKey(task.TaskType)) { taskProcessDict[task.TaskType] = new Dictionary<int, int>(); } int cond = 0; if (!task.Conds.IsNullOrEmpty()) { // 暂时按单条件规则存储,后续有变化再定义 cond = (int)task.Conds[0]; } if (!taskProcessDict[task.TaskType].ContainsKey(cond)) { taskProcessDict[task.TaskType][cond] = 0; } taskProcessDict[task.TaskType][cond] = Math.Max(taskProcessDict[task.TaskType][cond], (int)task.CurValue); } isRefreshDayMission = true; // UpdateRedpoint(); // OnDayMissionEvent?.Invoke(); } public int GetDailyTaskProcess(int id) { var config = DailyTaskConfig.Get(id); if (!taskProcessDict.ContainsKey(config.TaskType)) { return 0; } var cond = 0; if (!config.TaskConds.IsNullOrEmpty()) { // 暂时按单条件规则存储,后续有变化再定义 cond = config.TaskConds[0]; } if (!taskProcessDict[config.TaskType].ContainsKey(cond)) { return 0; } return taskProcessDict[config.TaskType][cond]; } Redpoint redpoint = new Redpoint(MainRedDot.RedPoint_DailyKey, MainRedDot.RedPoint_DailyFuncKey); void UpdateRedpoint() { if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.DayMission)) { return; } //累积奖励 和 可领取任务奖励任一 redpoint.state = RedPointState.None; foreach (var config in DailyLivenessRewardConfig.GetValues()) { if (GetDayActivityState(config) == 1) { redpoint.state = RedPointState.Simple; return; } } foreach (var config in DailyTaskConfig.GetValues()) { if (GetDailyTaskState(config) == 1) { redpoint.state = RedPointState.Simple; return; } } } //总活跃奖励:0 未达标 1 可领取 2 已领取 public int GetDayActivityState(DailyLivenessRewardConfig config) { if (activityTotal < config.NeedLiveness) { return 0; } if (((1 << config.ID) & activityAward) == 0) { return 1; } return 2; } //每日任务奖励:0 未达标 1 可领取 2 已领取 public int GetDailyTaskState(DailyTaskConfig config) { if (GetDailyTaskProcess(config.TaskID) < config.NeedValue) { return 0; } if (((1 << config.TaskID) & dailyTaskState) == 0) { return 1; } return 2; } public void SortDailyTask() { dailyIDList.Sort(CmpDayTask); } // 可领取 》 已领取 》 未达标 List<int> indexs = new List<int>() { 1, 0, 2 }; int CmpDayTask(int idA, int idB) { var configA = DailyTaskConfig.Get(idA); var configB = DailyTaskConfig.Get(idB); var stateA = GetDailyTaskState(configA); var stateB = GetDailyTaskState(configB); var indexA = indexs.IndexOf(stateA); var indexB = indexs.IndexOf(stateB); if (indexA != indexB) { return indexA.CompareTo(indexB); } return idA.CompareTo(idB); } } Main/System/DayMission/DayMissionManager.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 64cbcc7debad2de488af4a6e79510c08 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/DayMission/DayMissionWin.cs
New file @@ -0,0 +1,138 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; //日常任务 public class DayMissionWin : UIBase { [SerializeField] Text totalActivityText; [SerializeField] Image totalActivityProcessImg; [SerializeField] ItemCell[] itemCells; [SerializeField] Transform[] finishMarkImg; [SerializeField] Transform[] canGetAwardImg; [SerializeField] Text[] targetActivityText; [SerializeField] ScrollerController scroller; int beforeActivity; //用于显示活跃奖励 protected override void OnPreOpen() { beforeActivity = DayMissionManager.Instance.activityTotal; scroller.OnRefreshCell += OnRefreshCell; DayMissionManager.Instance.OnDayMissionEvent += OnDayMissionEvent; CreateScroller(); Display(); } protected override void OnPreClose() { scroller.OnRefreshCell -= OnRefreshCell; DayMissionManager.Instance.OnDayMissionEvent -= OnDayMissionEvent; } void Display() { totalActivityText.text = DayMissionManager.Instance.activityTotal.ToString(); var keys = DailyLivenessRewardConfig.GetKeys(); keys.Sort(); for (int i = 0; i < itemCells.Length; i++) { int id = keys[i]; var config = DailyLivenessRewardConfig.Get(id); int itemID = config.AwardItemList[0][0]; int itemCount = config.AwardItemList[0][1]; var state = DayMissionManager.Instance.GetDayActivityState(config); itemCells[i].Init(new ItemCellModel(itemID, false, itemCount)); itemCells[i].button.AddListener(() => { ShowAward(id); }); if (state == 0) { finishMarkImg[i].SetActive(false); canGetAwardImg[i].SetActive(false); } else if (state == 1) { finishMarkImg[i].SetActive(false); canGetAwardImg[i].SetActive(true); } else if (state == 2) { finishMarkImg[i].SetActive(true); canGetAwardImg[i].SetActive(false); } targetActivityText[i].text = config.NeedLiveness.ToString(); } totalActivityProcessImg.fillAmount = (float)DayMissionManager.Instance.activityTotal / 100; } void CreateScroller() { scroller.Refresh(); DayMissionManager.Instance.SortDailyTask(); for (int i = 0; i < DayMissionManager.Instance.dailyIDList.Count; i++) { var id = DayMissionManager.Instance.dailyIDList[i]; scroller.AddCell(ScrollerDataType.Header, i); } scroller.Restart(); } void OnDayMissionEvent() { DayMissionManager.Instance.SortDailyTask(); Display(); scroller.m_Scorller.RefreshActiveCellViews(); if (DayMissionManager.Instance.activityTotal != beforeActivity) { List<Item> showItems = new List<Item>(); Item tempItem = new Item(GeneralDefine.activityItemID, DayMissionManager.Instance.activityTotal - beforeActivity); showItems.Add(tempItem); ItemLogicUtility.Instance.ShowGetItem(showItems); beforeActivity = DayMissionManager.Instance.activityTotal; } } void ShowAward(int id) { var config = DailyLivenessRewardConfig.Get(id); var state = DayMissionManager.Instance.GetDayActivityState(config); if (state == 1) { var keys = DailyLivenessRewardConfig.GetKeys(); keys.Sort(); foreach(var id1 in keys) { var config1 = DailyLivenessRewardConfig.Get(id1); var state1 = DayMissionManager.Instance.GetDayActivityState(config1); if (state1 == 1) { //增加一键领奖 var pack = new CA504_tagCMPlayerGetReward(); pack.RewardType = 0; pack.DataEx = (uint)id1; GameNetSystem.Instance.SendInfo(pack); } } return; } int itemID = config.AwardItemList[0][0]; ItemTipUtility.Show(itemID); } void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as DayMissionCell; _cell.Display(cell.index); } } Main/System/DayMission/DayMissionWin.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 342c2cca8edf22941b9f959890f2c9ba MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/GeneralConfig/GeneralDefine.cs
@@ -9,6 +9,7 @@ public class GeneralDefine { public static Dictionary<int, int> MoneyDisplayModel { get; private set; } public static int activityItemID { get; private set; } public static int expDisplayId { get; private set; } @@ -45,7 +46,7 @@ try { MoneyDisplayModel = ConfigParse.ParseIntDict(GetInputString("MoneyDisplayModel", 1)); activityItemID = GetInt("MoneyDisplayModel", 2); var config = FuncConfigConfig.Get("PutInItemPack"); JsonData itemPutInData = JsonMapper.ToObject(config.Numerical1); Main/System/Guild/GuildManager.cs
@@ -898,9 +898,9 @@ #region 红点 Redpoint donateRedpoint = new Redpoint(MainRedDot.guildHallRedpointID, MainRedDot.guildHallRedpointID * 10); Redpoint donateRedpoint = new Redpoint(MainRedDot.guildHallRedpointID, MainRedDot.donateRedpointID); //珍宝阁(行商) Redpoint zbgRedpoint = new Redpoint(MainRedDot.MainGuildRedpoint, MainRedDot.MainGuildRedpoint * 100 + 1); Redpoint zbgRedpoint = new Redpoint(MainRedDot.MainGuildRedpoint, MainRedDot.hawkerRedpointID); void UpdateDonateRedPoint() { Main/System/HeroUI/HeroBaseWin.cs
Main/System/Main/RightFuncInHome.cs
@@ -13,6 +13,7 @@ [SerializeField] Button closeBtn; [SerializeField] Button storeBtn; [SerializeField] Button monthCardBtn; [SerializeField] Button dayMissionBtn; string listenWindowName = ""; //监听关闭时再显示 @@ -21,11 +22,13 @@ { monthCardBtn.AddListener(() => { ListenWindow(""); //用于监听界面,打开时缩进右边功能栏,关闭时显示 // ListenWindow(""); InvestModel.Instance.BuyInvest(InvestModel.monthCardType); }); storeBtn.AddListener(() => { //用于监听界面,打开时缩进右边功能栏,关闭时显示 ListenWindow("StoreBaseWin"); UIManager.Instance.OpenWindow<StoreBaseWin>(); }); @@ -45,11 +48,19 @@ UIManager.Instance.OnCloseWindow -= OnCloseWindow; UIManager.Instance.OnCloseWindow += OnCloseWindow; dayMissionBtn.AddListener(() => { //用于监听界面,打开时缩进右边功能栏,关闭时显示 ListenWindow("DayMissionBaseWin"); UIManager.Instance.OpenWindow<DayMissionBaseWin>(); }); } void ShowBtns() { storeBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)); dayMissionBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.DayMission)); } @@ -73,7 +84,7 @@ } } //用于监听界面,打开时缩进右边功能栏,关闭时显示 void ListenWindow(string _listenWindowName) { ShowFuncCol(false); Main/System/Redpoint/MainRedDot.cs
@@ -24,6 +24,32 @@ //比如功能A红点100,子红点1001,以此类推,或者100*10000 +1类推,避免重复的可能性,如1010 就可能和功能B中的红点重复 // 功能B红点101,子红点1011,以此类推,或者101*10000 +1类推,避免重复的可能性 //官职 public const int RedPoint_OfficialKey = 101; #region 背包红点 public const int RedPoint_MainPackKey = 102; public const int RedPoint_BagFuncKey = 10201; //背包功能 public const int RedPoint_ComposeFuncKey = 10202; //合成 public Redpoint redPointMainPack = new Redpoint(MainAffairsRedpoint, RedPoint_MainPackKey); #endregion #region 商店入口红点 public const int Store_REDPOINT = 103; #endregion //日常 public const int RedPoint_DailyKey = 104; public Redpoint redPointDaily = new Redpoint(RightFuncRedpoint, RedPoint_DailyKey); public const int RedPoint_DailyFuncKey = 1041; //日常任务 public const int RedPoint_WeekBPFuncKey = 1042; //周奖励(战令) public const int RedPoint_MainMissionKey = 1043; //主线任务奖励(成就) //武将卡 public const int HeroCardRedpoint = 200; public Redpoint HeroListRedpoint = new Redpoint(MainHerosRedpoint, HeroCardRedpoint); @@ -45,34 +71,6 @@ public Redpoint redPointFriendChat = new Redpoint(RedPoint_FriendChatKey); #endregion #region 背包红点 public const int RedPoint_MainPackKey = 102; public const int RedPoint_BagFuncKey = 10201; //背包功能 public const int RedPoint_ComposeFuncKey = 10202; //合成 public Redpoint redPointMainPack = new Redpoint(MainAffairsRedpoint, RedPoint_MainPackKey); #endregion //官职 public const int RedPoint_OfficialKey = 101; #region 仙盟红点 //大厅 public const int guildHallRedpointID = MainGuildRedpoint * 10; Redpoint hallRedpoint = new Redpoint(MainGuildRedpoint, guildHallRedpointID); #endregion #region 商店入口红点 public const int Store_REDPOINT = 103; #endregion #region 开服活动红点 public const int REDPOINT_OPENSERVER = 209; @@ -90,6 +88,17 @@ #endregion public const int BlessLVRedpoint = 399; //祝福等级红点 #region 仙盟红点 //大厅 public const int guildHallRedpointID = 40; Redpoint hallRedpoint = new Redpoint(MainGuildRedpoint, guildHallRedpointID); public const int donateRedpointID = 400; //捐献 public const int hawkerRedpointID = 401; //行商(原珍宝阁) #endregion public const int DailySpecialsRedpoint = 439; //每日特惠入口红点 public const int BlessedLandRedpoint = 444; //淘金红点 Main/Utility/EnumHelper.cs
@@ -825,7 +825,9 @@ Realm = 10, //境界 官职 Guild = 11,// 公会 BlessLV = 12, //祝福等级 DayMission = 15,//日常 Store = 16,//坊市 DaySign = 17,//每日签到 HappyFindTreasure = 18,// 英雄招募 Chat = 19,//聊天 AutoFight = 20,//自动战斗