少年修仙传客户端代码仓库
client_Zxw
2019-01-10 87da177a5c5e764c9bf1d93ab416c2cf2720124c
5767 【前端】【1.5】新增8-14天活动功能(制作成7日运营活动的模板)
6个文件已修改
195 ■■■■ 已修改文件
Core/GameEngine/Model/Config/WeekPartyConfig.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/WeekPartyConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/HighSettingTip.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/AchievementActivityWin.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServiceAchievementModel.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServiceAchievementWin.cs 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/WeekPartyConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Tuesday, January 08, 2019
//    [  Date ]:           Thursday, January 10, 2019
//--------------------------------------------------------
using UnityEngine;
@@ -15,7 +15,8 @@
        public int ActionType { get ; private set ; }
        public string Description { get ; private set; } 
        public int jump { get ; private set ; }
        public int order { get ; private set ; }
        public int order { get ; private set ; }
        public int DailyQusetId { get ; private set ; }
        public override string getKey()
        {
@@ -33,7 +34,9 @@
            
                jump=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; 
            
                order=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0;
                order=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0;
                DailyQusetId=IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]):0;
            }
            catch (Exception ex)
            {
Core/GameEngine/Model/Config/WeekPartyConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 59a36668b02da3d4fb47cbc1579228be
timeCreated: 1546936994
timeCreated: 1547105026
licenseType: Free
MonoImporter:
  serializedVersion: 2
System/MainInterfacePanel/HighSettingTip.cs
@@ -387,7 +387,7 @@
        void OnClickOpenServiceBtn()
        {
            WindowCenter.Instance.Open<OpenServiceAchievementWin>();
            WindowCenter.Instance.Open<AchievementActivityWin>();
        }
        public void ShowButton()//向上
System/OpenServerActivity/AchievementActivityWin.cs
@@ -19,6 +19,7 @@
        [SerializeField] Button _CloseBtn;
        [SerializeField] Button _LeftBtn;
        [SerializeField] Button _RightBtn;
        [SerializeField] FunctionButton m_OpenServiceAchievementBtn;//周狂欢
        protected override void BindController()
        {
        }
@@ -28,12 +29,23 @@
            _CloseBtn.AddListener(OnClickClose);
            _LeftBtn.AddListener(OnClickLeftBtn);
            _RightBtn.AddListener(OnClickRight);
            m_OpenServiceAchievementBtn.AddListener(OpenServiceAchievementButton);
        }
        protected override void OnPreOpen()
        {
        {
            if (WindowCenter.Instance.IsOpen<MainInterfaceWin>())
            {
                WindowCenter.Instance.Close<MainInterfaceWin>();
            }
            functionOrder = 0;
        }
        protected override void OnActived()
        {
            FuncBtnGroup.TriggerByOrder(functionOrder);
        }
        protected override void OnAfterOpen()
        {
          
@@ -41,7 +53,11 @@
        protected override void OnPreClose()
        {
            CloseChild();
            CloseChild();
            if (!WindowCenter.Instance.IsOpen<MainInterfaceWin>())
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
        }
        protected override void OnAfterClose()
@@ -69,6 +85,20 @@
                WindowCenter.Instance.CloseImmediately<OpenServiceAchievementWin>();
            }
        }
        private void OpenServiceAchievementButton()
        {
            CloseChild();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<OpenServiceAchievementWin>();
            }
            else
            {
                WindowCenter.Instance.Open<OpenServiceAchievementWin>(true);
            }
            functionOrder = 0;
        }
        #endregion
    }
System/OpenServerActivity/OpenServiceAchievementModel.cs
@@ -64,9 +64,10 @@
    public Dictionary<int, WeekPartyActionClass> WeekPartyActionDic = new Dictionary<int, WeekPartyActionClass>();//活动模板信息
    public Dictionary<int, Redpoint> RedPointDic = new Dictionary<int, Redpoint>();//红点
    public event Action WeekPartyUpdate;//活动信息变更
    private const int Redpoint_key1 = 666666;//周狂欢红点
    public Redpoint redPointStre1 = new Redpoint(666, Redpoint_key1);
    private const int Redpoint_key1 = 21401;//周狂欢红点
    public Redpoint redPointStre1 = new Redpoint(214, Redpoint_key1);
    private int _SelectedNow = 0;
    private int ResetType = 0;// 重置类型,0-0点重置;1-5点重置
    public int SelectedNow//选中天
    {
        get { return _SelectedNow; }
@@ -137,6 +138,7 @@
    public void WeekPartyInfo(HAA0A_tagMCWeekPartyInfo info)
    {
        ResetType = info.ResetType;
        string[] dateArray = info.StartDate.Split('-');
        if (dateArray != null && dateArray.Length == 3)
        {
@@ -282,8 +284,17 @@
        {
            return;
        }
        DateTime time1 = new DateTime(time.Year, time.Month, time.Day);
        DateTime time2 = new DateTime(TimeUtility.ServerNow.Year, TimeUtility.ServerNow.Month, TimeUtility.ServerNow.Day);
        int hour = 0;
        if (ResetType == 0)
        {
            hour = 0;
        }
        else
        {
            hour = 5;
        }
        DateTime time1 = new DateTime(time.Year, time.Month, time.Day, hour,0,0);
        DateTime time2 = new DateTime(TimeUtility.ServerNow.Year, TimeUtility.ServerNow.Month, TimeUtility.ServerNow.Day, TimeUtility.ServerNow.Hour, TimeUtility.ServerNow.Minute, TimeUtility.ServerNow.Second);
        TimeSpan ts = time2.Subtract(time1);
        Day = (int)ts.TotalDays;
        DebugEx.LogError("输出当前的天数" + Day);
@@ -346,10 +357,10 @@
        foreach (var key in WeekPartyDayInfoDic.Keys)
        {
            int RedPoint = Redpoint_key1 * 10 + key;
            if (!RedPointDic.ContainsKey(RedPoint))
            if (!RedPointDic.ContainsKey(key))
            {
                Redpoint redPointMountStare = new Redpoint(Redpoint_key1, RedPoint);
                RedPointDic.Add(RedPoint, redPointMountStare);
                RedPointDic.Add(key, redPointMountStare);
            }
        }
@@ -402,6 +413,44 @@
        }
        return RedPointState.None;
    }
    public  int GetWeekDay(int dayIndex)//获取周几
    {
        int weekDay = 1;
        var time = TimeDayBeginAndOver[0];
        if (TimeDayBeginAndOver.Length <= 0 || time == null)
        {
            return weekDay;
        }
        DateTime time1 = new DateTime(time.Year, time.Month, time.Day);
       var time2= time1.AddDays(dayIndex);
        var dt = time2.DayOfWeek.ToString();
        switch (dt)
        {
            case "Monday":
                weekDay = 1;
                break;
            case "Tuesday":
                weekDay = 2;
                break;
            case "Wednesday":
                weekDay = 3;
                break;
            case "Thursday":
                weekDay = 4;
                break;
            case "Friday":
                weekDay = 5;
                break;
            case "Saturday":
                weekDay = 6;
                break;
            case "Sunday":
                weekDay = 0;
                break;
        }
        return weekDay;
    }
}
System/OpenServerActivity/OpenServiceAchievementWin.cs
@@ -29,7 +29,8 @@
        [SerializeField] OpenServiceItem m_OpenServiceItemB1;
        #region Built-in
        OpenServiceAchievementModel model { get { return ModelCenter.Instance.GetModel<OpenServiceAchievementModel>(); } }
        OpenServiceAchievementModel model { get { return ModelCenter.Instance.GetModel<OpenServiceAchievementModel>(); } }
        DailyQuestModel dailymodel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        List<int> SortList = new List<int>();
        List<WeekPartyItemClass> ItemDayList = new List<WeekPartyItemClass>();
        protected override void BindController()
@@ -69,6 +70,7 @@
        }
        private void WeekPartyDayInfoUpdate()//列表刷新
        {
            m_ScrollerController1.m_Scorller.RefreshActiveCellViews();//刷新可见
            m_ScrollerController2.m_Scorller.RefreshActiveCellViews();//刷新可见
        }
        #endregion
@@ -86,22 +88,57 @@
            int Index = cell.index;
            ButtonEx Btn = cell.GetComponent<ButtonEx>();
            GameObject SelectedObj = cell.transform.Find("Image_XZ").gameObject;//选中
            GameObject SelectedObj1 = cell.transform.Find("Image_XZ1").gameObject;//选中
            GameObject Unselected = cell.transform.Find("Image_WXZ").gameObject;//未选中
            Text DayText = cell.transform.Find("DayText").GetComponent<Text>();//天数
            if (Index == model.SelectedNow)
            ImageEx UnselectedIm = Unselected.GetComponent<ImageEx>();
            GameObject Lock = cell.transform.Find("Lock").gameObject;//锁
            GameObject IsNotGary = cell.transform.Find("Obj1").gameObject;
            Text IsNotGary_text = IsNotGary.transform.Find("DayText").GetComponent<Text>();
            GameObject Gary= cell.transform.Find("Obj2").gameObject;
            Text Gary_text = Gary.transform.Find("DayText").GetComponent<Text>();
            RedpointBehaviour redPoint = cell.transform.Find("RedPoint").GetComponent<RedpointBehaviour>();//红点
            if (model.RedPointDic.ContainsKey(Index))
            {
                SelectedObj.SetActive(true);
                Unselected.SetActive(false);
                redPoint.redpointId = model.RedPointDic[Index].id;
            }
            if (Index <= model.DayNow)
            {
                Unselected.SetActive(true);
                UnselectedIm.gray = false;
                SelectedObj.SetActive(false);
                SelectedObj1.SetActive(false);
                Lock.SetActive(false);
                IsNotGary.SetActive(true);
                Gary.SetActive(false);
                IsNotGary_text.text = (Index + 1).ToString();
            }
            else
            {
                SelectedObj.SetActive(false);
                Unselected.SetActive(true);
                UnselectedIm.gray = true;
                SelectedObj.SetActive(false);
                SelectedObj1.SetActive(false);
                Lock.SetActive(true);
                IsNotGary.SetActive(false);
                Gary.SetActive(true);
                Gary_text.text = (Index + 1).ToString();
            }
            DayText.text = InDayStr(Index);
            if (Index == model.SelectedNow)
            {
                SelectedObj.SetActive(true);
                SelectedObj1.SetActive(true);
                Unselected.SetActive(false);
                Lock.SetActive(false);
                IsNotGary.SetActive(true);
                Gary.SetActive(false);
                IsNotGary_text.text = (Index + 1).ToString();
            }
            Btn.SetListener(() =>
            {
                if (Index != model.SelectedNow)
                if (Index != model.SelectedNow && Index<= model.DayNow)
                {
                    model.SelectedNow = Index;//选中天
                    SetTextIntegral();
@@ -137,13 +174,45 @@
        private void ToAddSorting()
        {
            SortList.Clear();
            int Weekday = model.GetWeekDay(model.SelectedNow);
            var quests = dailymodel.GetQuestByWeekTime(Weekday);
            List<int> dailyIdlist = new List<int>();
            foreach (var key in quests.Keys)
            {
                var _list = quests[key];
                for (int i = 0; i < _list.Count; i++)
                {
                    dailyIdlist.Add(_list[i]);
                }
            }
            foreach (var key in model.WeekPartyDayDic.Keys)
            {
                if (key == model.SelectedNow)
                {
                    for (int i = 0; i < model.WeekPartyDayDic[key].TemplateList.Length; i++)
                    {
                        SortList.Add(model.WeekPartyDayDic[key].TemplateList[i]);
                        var TemplateId = model.WeekPartyDayDic[key].TemplateList[i];
                        var config = Config.Instance.Get<WeekPartyConfig>(TemplateId);
                        if (config == null)
                        {
                            return;
                        }
                        if (config.DailyQusetId != 0)
                        {
                            if (dailyIdlist.Contains(config.DailyQusetId))
                            {
                                SortList.Add(TemplateId);
                            }
                           // var Dailyquse = Config.Instance.Get<DailyQuestConfig>(TemplateId);
                        }
                        else
                        {
                            SortList.Add(TemplateId);
                        }
                    }
                }
            }