lcy
2025-05-21 1dd8f9a62db9e134f7d1b1a7e88d9b33cbe2b17a
59 子 【常规】邮件系统 / 【常规】邮件系统-客户端 摘取红点组件
4个文件已修改
7个文件已添加
558 ■■■■ 已修改文件
Main/System/MainInterfacePanel.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/MainInterfacePanel/MainRedDot.cs 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/MainInterfacePanel/MainRedDot.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/MainInterfacePanel/MainRedPoint.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/MainInterfacePanel/MainRedPoint.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Redpoint/Redpoint.cs 132 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Redpoint/Redpoint.cs.meta 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Redpoint/RedpointBehaviour.cs 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Redpoint/RedpointBehaviour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Redpoint/RedpointCenter.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Redpoint/RedpointCenter.cs.meta 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/MainInterfacePanel.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4cf9daf7c9fbaf94ea5af5b13a70c217
folderAsset: yes
DefaultImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/MainInterfacePanel/MainRedDot.cs
New file
@@ -0,0 +1,205 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Thursday, November 16, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using System;
namespace vnxbqy.UI
{
    public class MainRedDot : Singleton<MainRedDot>
    {
        public const int RedPoint_key = 1;
        public const int FAIRY_REDPOINT_KEY1 = 107;
        public const int RedPoint_key1 = 106;
        public const int RedPoint_UpFuncBase = 2;
        public const int RedPoint_VipDot = 35;//VIP界面
        public const int RedPoint_Share= 66; //sdk分享等
        private Redpoint rightTopRedpint = new Redpoint(RedPoint_UpFuncBase);
        private Redpoint redPointStrePrentOne = new Redpoint(RedPoint_key);
        private Redpoint redPointStrePrent = new Redpoint(RedPoint_key, RedPoint_key1);
        private Redpoint welfareRedPoint = new Redpoint(201);
        private Redpoint realmRedpoint = new Redpoint(114);
        private Redpoint redPointVipDot = new Redpoint(RedPoint_VipDot);
        public Redpoint rankActRepoint = new Redpoint(RankActRepoint);
        #region 角色红点
        public Redpoint roleRedpoint = new Redpoint(RedPoint_key, 101);
        public Redpoint roleTagRedpoint = new Redpoint(101, 10101);
        #endregion
        //public Redpoint jadeDynastyRedpoint = new Redpoint(1, 117);
        #region 邮件红点
        public const int RedPoint_MainMailKey = 24;
        public const int RedPoint_MailFuncKey = 2401;
        public Redpoint redpointMainMail = new Redpoint(RedPoint_MainMailKey);
        public Redpoint redpointMailFunc = new Redpoint(RedPoint_MainMailKey, RedPoint_MailFuncKey);
        #endregion
        #region 好友红点
        public const int RedPoint_FriendQuestKey = 26;
        public const int RedPoint_FriendChatKey = 25; //好友
        public Redpoint redpointFriendQuest = new Redpoint(RedPoint_FriendQuestKey);
        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_DepotFuncKey = 10204;
        public Redpoint redPointMainPack = new Redpoint(RedPoint_MainPackKey);
        public Redpoint redPointBagFunc = new Redpoint(RedPoint_MainPackKey, RedPoint_BagFuncKey);
        public Redpoint redPointDepotFunc = new Redpoint(RedPoint_MainPackKey, RedPoint_DepotFuncKey);
        #endregion
        #region 洗炼红点
        public const int RedPoint_WashFuncKey = 10605;
        public Redpoint redPointWashFunc = new Redpoint(RedPoint_key1, RedPoint_WashFuncKey);
        #endregion
        #region 套装红点
        public const int RedPoint_SuitFuncKey = 10604;
        public Redpoint redPointSuitFunc = new Redpoint(RedPoint_key1, RedPoint_SuitFuncKey);
        #endregion
        #region 仙盟公用红点
        public const int FAIRY_REDPOINT_KEY2 = 10701;
        public Redpoint fairyLaunch = new Redpoint(RedPoint_key, FAIRY_REDPOINT_KEY1);
        public Redpoint fairyBaseFuncRedPoint = new Redpoint(FAIRY_REDPOINT_KEY1, FAIRY_REDPOINT_KEY2);
        #endregion
        #region 仙盟活跃红点
        public const int FAIRYLiven_REDPOINT_KEY3 = 1070107;
        public Redpoint fairyLivenRedPoint = new Redpoint(FAIRY_REDPOINT_KEY2, FAIRYLiven_REDPOINT_KEY3);
        #endregion
        #region 仙盟商店红点
        public const int FAIRYStore_REDPOINT_KEY3 = 1070106;
        public Redpoint fairyStoreRedPoint = new Redpoint(FAIRY_REDPOINT_KEY2, FAIRYStore_REDPOINT_KEY3);
        #endregion
        #region 坐骑红点/灵宠红点
        public const int RedPoint_PetKey = 105;
        public Redpoint redPointPetKeyFunc = new Redpoint(RedPoint_key, RedPoint_PetKey);
        public const int RedPoint_MountPackKey = 10501;
        public Redpoint redPointMountFunc = new Redpoint(RedPoint_PetKey, RedPoint_MountPackKey);
        public const int RedPoint_PetKey2 = 10502;
        public Redpoint redPonintPetFunc2 = new Redpoint(RedPoint_PetKey, RedPoint_PetKey2);
        #endregion
        #region 开服活动红点
        public const int REDPOINT_OPENSERVER = 209;
        public Redpoint openServerRedpoint = new Redpoint(REDPOINT_OPENSERVER);
        //280 开头用于节日祝福
        public const int RedPoint_HolidayWishes = 280;
        public Redpoint holidayWishesRedpoint = new Redpoint(RedPoint_HolidayWishes);
        #endregion
        public const int REDPOINT_OPENRANK = 258;
        public Redpoint openRankRedpoint = new Redpoint(REDPOINT_OPENRANK);
        #region 仙盟活动红点
        public readonly Redpoint fairyActivityRedpoint = new Redpoint(218);
        #endregion
        // boss首杀
        public const int REDPOINT_BOSSFIRSTKILL = 600;
        public const int ForeverCardRedPoint = 441; //终身卡红点
        public const int BossTrialRepoint = 442; //boss凭证
        public const int NewDayActionRedPoint = 443; //日期型(类节日)活动
        public static int BlessedLandRedpoint = 444; //福地红点
        public const int FuyuanSumRechargeRedpoint = 445; //福缘- 累充
        public const int OnHookRedpoint = 446; //挂机
        public const int RedPoint_FamilyRecharge = 447; //仙盟充值协助
        public const int CustomizedGiftRedpoint = 448; //自选礼包
        public const int LoginZhanLingRedpoint = 449; //登录战令
        public const int GatheringSoulZhanLingRedpoint = 450; //聚魂战令
        public const int TreasureLuckyDrawRedpoint = 451; //古宝抽奖
        public const int MjxbRedpoint = 452; //秘境寻宝
        public const int CrossServerGodBattleFieldAssort = 453; //古神战场组队
        public const int GatherSourRedpointEnter = 454; //聚魂入口红点
        public const int QCTrainActRedpoint = 455; //骑宠养成活动
        public const int RankActRepoint = 456; //排行榜活动的中介红点
        public const int TreasurePavilionRankActRepoint = 457; //古宝养成排行榜活动
        public const int CelestialPalaceRepoint = 458; //仙宫
        public const int PhantasmPavilionRepoint = 459; //幻境阁
        public const int PhantasmPavilionZhanLingRepoint = 460; //幻境战令
        public const int FairyAffinityRepoint = 461; //仙缘
        public const int FairyEmbleManageRepoint = 462;//仙盟徽章管理入口红点
        public const int CycleHallRepoint = 463; //轮回殿
        public const int YunShiRepoint = 464; //运势
        public const int LianQiRepoint = 465; //仙匠大会
        public const int FairySiegeRepoint = 466; //仙盟攻城战
        public const int RedPoint_MR648 = 900; // BT功能红点 - 每日648
        public void Register()
        {
            RedpointCenter.Instance.redpointValueChangeEvent -= OnRedpointChange;
            RedpointCenter.Instance.redpointValueChangeEvent += OnRedpointChange;
        }
        public List<int> rightTopHideRedpoints = new List<int>()
        {
            203,
            209,
            210,
            212,
            213,
            214,
            216,
            280,
            401,
            402,
            403,
            406,
            413,
            421,
            423,
            433,
            434,
            443,
            452,
            500,
            900,
        };
        private void OnRedpointChange(int id)
        {
            if (rightTopHideRedpoints.Contains(id))
            {
                var redpiontState = RedPointState.None;
                for (int i = 0; i < rightTopHideRedpoints.Count; i++)
                {
                    var redpointId = rightTopHideRedpoints[i];
                    if (RedpointCenter.Instance.GetRedpointState(redpointId) != RedPointState.None)
                    {
                        redpiontState = RedPointState.Simple;
                        break;
                    }
                }
                rightTopRedpint.state = redpiontState;
            }
        }
    }
}
Main/System/MainInterfacePanel/MainRedDot.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0a75f63e7be08db45bcea9438cc12860
timeCreated: 1510839143
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/MainInterfacePanel/MainRedPoint.cs
New file
@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class MainRedPoint
{
    //IL红点 从400开始使用,单红点(400-599)尽量按顺序排
    public static int jpbnRedPoint = 401;       //极品白拿
    public static int zxthRedPoint = 402;       //在线特惠
    public static int gntqRedPoint = 403;       //功能特权卡
    public static int hfhdRedPoint = 406;       //合服活动
    public static int faqiRedPoint = 408;       //修炼(法器)红点
    public static int wfqzRedPoint = 409;       //玩法前瞻
    public static int QYRedPoint = 410;       //情缘
    public static int SugarRedPoint = 411;       //喜糖
    public static int CharmRedPoint = 412;       //提升魅力
    public static int XYYGRedPoint = 413;       //幸运云购
    public static int GSCJRedPoint = 416;       //古神成就
    public static int TTLRedPoint = 418;       //通天令
    public static int TDLBRedPoint = 421;       //天帝礼包
    public static int CrossServerQualifyingRedPoint = 423;   //跨服(万界)争霸
    public static int cbgRedpoint = 428;       //藏宝阁红点
    public static int achievementRedpoint = 431;       //成就红点
    public static int buy1Free5Redpoint = 433;       //买1送5红点
    public static int RechargeGenerousGiftWinRedpoint = 434;       //充值豪礼入口
    public static int LvZhanlingRedpoint = 435; //等级战令入口红点
    public static int RealmLvZhanlingRedpoint = 436;  //境界战令入口红点
    public static int CelestialStarTowerRedpoint = 437;  //天星塔战令入口红点
    public static int GuBaoTotalStarsRedpoint = 438;  //古宝战令入口红点
    public static int DailySpecialsRedpoint = 439;  //每日特惠入口红点
    public static int CZBMRedpoint = 440;  //成长必买入口红点
}
Main/System/MainInterfacePanel/MainRedPoint.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 779b03ad46e310946a2c371da02b79a3
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/Redpoint/Redpoint.cs
@@ -1,64 +1,68 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
    public class Redpoint
    {
        int m_Id = 0;
        public int id {
            get { return m_Id; }
            private set { m_Id = value; }
        }
        int m_Parent = 0;
        public int parent {
            get { return m_Parent; }
            private set { m_Parent = value; }
        }
        RedPointState m_State = RedPointState.None;
        public RedPointState state {
            get { return m_State; }
            set {
                if (m_State != value)
                {
                    m_State = value;
                    RedpointCenter.Instance.Report(this);
                }
            }
        }
        int m_Count = 0;
        public int count {
            get { return m_Count; }
            set {
                if (m_Count != value)
                {
                    m_Count = value;
                    RedpointCenter.Instance.ReportWithoutParent(this);
                }
            }
        }
        public Redpoint(int _id)
        {
            id = _id;
            RedpointCenter.Instance.Register(this);
        }
        public Redpoint(int _parent, int _id)
        {
            if (_parent <= 0)
            {
                Debug.Log("无效的父对象Id!");
                return;
            }
            parent = _parent;
            id = _id;
            RedpointCenter.Instance.Register(this);
        }
        public int RedpoindId { get; internal set; }
    }
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace vnxbqy.UI
{
    public class Redpoint
    {
        int m_Id = 0;
        public int id {
            get { return m_Id; }
            private set { m_Id = value; }
        }
        int m_Parent = 0;
        public int parent {
            get { return m_Parent; }
            private set { m_Parent = value; }
        }
        RedPointState m_State = RedPointState.None;
        public RedPointState state {
            get { return m_State; }
            set {
                if (m_State != value)
                {
                    m_State = value;
                    RedpointCenter.Instance.Report(this);
                }
            }
        }
        int m_Count = 0;
        public int count {
            get { return m_Count; }
            set {
                if (m_Count != value)
                {
                    m_Count = value;
                    RedpointCenter.Instance.ReportWithoutParent(this);
                }
            }
        }
        public Redpoint(int _id)
        {
            id = _id;
            RedpointCenter.Instance.Register(this);
        }
        public Redpoint(int _parent, int _id)
        {
            if (_parent <= 0)
            {
                Debug.Log("无效的父对象Id!");
                return;
            }
            parent = _parent;
            id = _id;
            RedpointCenter.Instance.Register(this);
        }
        public int RedpoindId { get; internal set; }
    }
}
Main/System/Redpoint/Redpoint.cs.meta
@@ -1,7 +1,8 @@
fileFormatVersion: 2
guid: 197dd29377e81c947badf6c3948ec100
guid: 0a42764d8a096f44f9ee340ee05e5b98
timeCreated: 1498879399
licenseType: Free
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
Main/System/Redpoint/RedpointBehaviour.cs
New file
@@ -0,0 +1,122 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, August 14, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace vnxbqy.UI
{
    public class RedpointBehaviour : MonoBehaviour
    {
        [SerializeField]
        int m_RedpointId;
        public int redpointId {
            get {
                return m_RedpointId;
            }
            set {
                m_RedpointId = value;
                UpdateRedpoint(value);
            }
        }
        [SerializeField]
        Transform m_SimpleRedpoint;
        public Transform simpleRedpoint {
            get {
                return m_SimpleRedpoint;
            }
        }
        [SerializeField]
        Transform m_QuantityRedpoint;
        public Transform quantityRedpoint {
            get {
                return m_QuantityRedpoint;
            }
        }
        [SerializeField]
        Text m_Quantity;
        public Text quantityText {
            get {
                return m_Quantity;
            }
        }
        [SerializeField]
        Transform m_FullRedpoint;
        [SerializeField]
        Transform m_GetRewardRedpoint;
        bool m_Show = false;
        public bool show {
            get { return m_Show; }
            set {
                if (m_Show != value)
                {
                    m_Show = value;
                    this.SetActive(m_Show);
                }
            }
        }
        private void Awake()
        {
            UpdateRedpoint(redpointId);
            RedpointCenter.Instance.redpointValueChangeEvent += UpdateRedpoint;
        }
        private void OnDestroy()
        {
            RedpointCenter.Instance.redpointValueChangeEvent -= UpdateRedpoint;
        }
        void UpdateRedpoint(int _id)
        {
            if (_id != redpointId)
            {
                return;
            }
            var state = RedpointCenter.Instance.GetRedpointState(redpointId);
            if (m_SimpleRedpoint != null)
            {
                m_SimpleRedpoint.SetActive(state == RedPointState.Simple);
            }
            if (m_QuantityRedpoint != null)
            {
                m_QuantityRedpoint.SetActive(state == RedPointState.Quantity);
            }
            if (m_Quantity != null)
            {
                m_Quantity.SetActive(state == RedPointState.Quantity);
            }
            if (m_FullRedpoint != null)
            {
                m_FullRedpoint.SetActive(state == RedPointState.Full);
            }
            if (m_GetRewardRedpoint != null)
            {
                m_GetRewardRedpoint.SetActive(state == RedPointState.GetReward);
            }
            if (state == RedPointState.Quantity && m_Quantity != null)
            {
                var count = RedpointCenter.Instance.GetRedpointCount(redpointId);
                m_Quantity.text = count > 9 ? "N" : count >= 1 ? count.ToString() : "";
            }
        }
    }
}
Main/System/Redpoint/RedpointBehaviour.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 2bf1f4ab44a292c4b93a0fa07c912016
timeCreated: 1502692075
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/Redpoint/RedpointCenter.cs
@@ -3,6 +3,8 @@
using UnityEngine;
using System;
namespace vnxbqy.UI
{
    
    public class RedpointCenter : Singleton<RedpointCenter>
    {
@@ -127,4 +129,6 @@
            }
        }
    }
    }
}
Main/System/Redpoint/RedpointCenter.cs.meta
@@ -1,7 +1,8 @@
fileFormatVersion: 2
guid: 3a14d208a8eaf094eb603ae04a77f661
guid: 21f69efc624fde0459de61619e952f48
timeCreated: 1498879388
licenseType: Free
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0