From cc5dac1925b4b2dcf6cac03eff123d53cf77238f Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期二, 08 一月 2019 21:00:59 +0800
Subject: [PATCH] 5767 【前端】【1.5】新增8-14天活动功能(制作成7日运营活动的模板)
---
System/OpenServerActivity/OpenServiceAchievementCell.cs | 42 ----------
System/OpenServerActivity/OpenServiceAchievementWin.cs | 118 ++++++++++++++++++++++++++++
System/OpenServerActivity/OpenServiceAchievementModel.cs | 61 +++++++++++++++
3 files changed, 177 insertions(+), 44 deletions(-)
diff --git a/System/OpenServerActivity/OpenServiceAchievementCell.cs b/System/OpenServerActivity/OpenServiceAchievementCell.cs
index 96ce5f2..92c5f78 100644
--- a/System/OpenServerActivity/OpenServiceAchievementCell.cs
+++ b/System/OpenServerActivity/OpenServiceAchievementCell.cs
@@ -36,8 +36,8 @@
return;
}
var WeekPartyAction = model.WeekPartyActionDic[ID];
- int rewardNum = GetRewardNumber(model.SelectedNow, ID);//宸查濂栨鏁�
- int carryOutNum = GetCarryOutNum(model.SelectedNow, ID);//宸插畬鎴愭鏁�
+ int rewardNum = model.GetRewardNumber(model.SelectedNow, ID);//宸查濂栨鏁�
+ int carryOutNum = model.GetCarryOutNum(model.SelectedNow, ID);//宸插畬鎴愭鏁�
int number = WeekPartyAction.TotalTimes / WeekPartyAction.SingleTimes;
if (number - rewardNum > 0)
{
@@ -151,44 +151,6 @@
}
}
-
- private int GetRewardNumber(int Day, int ID)//鑾峰彇棰嗗娆℃暟
- {
- int Num = -1;
- if (model.WeekPartyDayInfoDic.ContainsKey(Day))
- {
- var WeekPartyDay = model.WeekPartyDayInfoDic[Day];
-
- for (int i = 0; i < WeekPartyDay.ActionType.Length; i++)
- {
- var ActionType = WeekPartyDay.ActionType[i];
- if (ID == ActionType.TemplateID)
- {
- Num = ActionType.GotTimes;
- }
- }
- }
- return Num;
- }
-
- public int GetCarryOutNum(int Day, int ID)//鑾峰彇宸插畬鎴愭鏁�
- {
- int Num = -1;
- if (model.WeekPartyDayInfoDic.ContainsKey(Day))
- {
- var WeekPartyDay = model.WeekPartyDayInfoDic[Day];
-
- for (int i = 0; i < WeekPartyDay.ActionType.Length; i++)
- {
- var ActionType = WeekPartyDay.ActionType[i];
- if (ID == ActionType.TemplateID)
- {
- Num = ActionType.CurTimes;
- }
- }
- }
- return Num;
- }
}
}
diff --git a/System/OpenServerActivity/OpenServiceAchievementModel.cs b/System/OpenServerActivity/OpenServiceAchievementModel.cs
index 201f1e5..91c5c78 100644
--- a/System/OpenServerActivity/OpenServiceAchievementModel.cs
+++ b/System/OpenServerActivity/OpenServiceAchievementModel.cs
@@ -71,7 +71,7 @@
set { _SelectedNow = value; }
}
- private int _DayNow=0;
+ private int _DayNow = 0;
public int DayNow//褰撳墠澶�
{
get { return _DayNow; }
@@ -124,6 +124,7 @@
WeekPartyDayInfoDic.Add((int)DayInfo.DayIndex, WeekPartyDayInfo);
}
}
+ GetDayNow();//鑾峰彇褰撳墠澶╂暟
if (WeekPartyDayInfoUpdate != null)
{
WeekPartyDayInfoUpdate();
@@ -217,6 +218,64 @@
{
WeekPartyUpdate();
}
+
+ }
+ public int GetRewardNumber(int Day, int ID)//鑾峰彇棰嗗娆℃暟
+ {
+ int Num = -1;
+ if (WeekPartyDayInfoDic.ContainsKey(Day))
+ {
+ var WeekPartyDay = WeekPartyDayInfoDic[Day];
+
+ for (int i = 0; i < WeekPartyDay.ActionType.Length; i++)
+ {
+ var ActionType = WeekPartyDay.ActionType[i];
+ if (ID == ActionType.TemplateID)
+ {
+ Num = ActionType.GotTimes;
+ }
+ }
+ }
+ return Num;
+ }
+ public int GetCarryOutNum(int Day, int ID)//鑾峰彇宸插畬鎴愭鏁�
+ {
+ int Num = -1;
+ if (WeekPartyDayInfoDic.ContainsKey(Day))
+ {
+ var WeekPartyDay = WeekPartyDayInfoDic[Day];
+
+ for (int i = 0; i < WeekPartyDay.ActionType.Length; i++)
+ {
+ var ActionType = WeekPartyDay.ActionType[i];
+ if (ID == ActionType.TemplateID)
+ {
+ Num = ActionType.CurTimes;
+ }
+ }
+ }
+ return Num;
+ }
+
+ public int GetPoint(int day)//鑾峰彇鏌愪竴澶╃殑绉垎
+ {
+ int Point = 0;
+ if (WeekPartyDayInfoDic.ContainsKey(day))
+ {
+ Point = WeekPartyDayInfoDic[day].Point;
+ }
+ return Point;
+ }
+
+ public void GetDayNow()//鑾峰彇娲诲姩绗嚑澶�
+ {
+ int Day = 0;
+ var time = TimeDayBeginAndOver[0];
+ DateTime time1 = new DateTime(time.Year, time.Month, time.Day);
+ DateTime time2 = new DateTime(TimeUtility.ServerNow.Year, TimeUtility.ServerNow.Month, TimeUtility.ServerNow.Day);
+ TimeSpan ts = time2.Subtract(time1);
+ Day = (int)ts.TotalDays;
+ DayNow = Day;
}
}
diff --git a/System/OpenServerActivity/OpenServiceAchievementWin.cs b/System/OpenServerActivity/OpenServiceAchievementWin.cs
index 3047e20..3229e44 100644
--- a/System/OpenServerActivity/OpenServiceAchievementWin.cs
+++ b/System/OpenServerActivity/OpenServiceAchievementWin.cs
@@ -21,6 +21,7 @@
private int InDay;
#region Built-in
OpenServiceAchievementModel model { get { return ModelCenter.Instance.GetModel<OpenServiceAchievementModel>(); } }
+ List<int> SortList = new List<int>();
protected override void BindController()
{
m_ScrollerController1.OnRefreshCell += OnRefreshGridCell_1;
@@ -40,14 +41,22 @@
protected override void OnAfterOpen()
{
+ model.WeekPartyDayInfoUpdate += WeekPartyDayInfoUpdate;
}
protected override void OnPreClose()
- {
- }
-
+ {
+ model.WeekPartyDayInfoUpdate -= WeekPartyDayInfoUpdate;
+ }
+
+
+
protected override void OnAfterClose()
{
+ }
+ private void WeekPartyDayInfoUpdate()//鍒楄〃鍒锋柊
+ {
+ m_ScrollerController2.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
}
#endregion
void OnCreateGridLineCell1(ScrollerController gridCtrl)
@@ -83,6 +92,7 @@
{
InDay = Index;
model.SelectedNow = InDay;//閫変腑澶�
+ OnCreateGridLineCell2(m_ScrollerController2);
m_ScrollerController1.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
}
});
@@ -110,6 +120,7 @@
//-------------------------------
void OnCreateGridLineCell2(ScrollerController gridCtrl)
{
+ ToAddSorting();//鎺掑簭
gridCtrl.Refresh();
for (int i = 0; i < 8; i++)
{
@@ -122,6 +133,107 @@
}
+ private void ToAddSorting()
+ {
+ SortList.Clear();
+ 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]);
+ }
+ }
+ }
+ SortList.Sort(Compare);
+ }
+ int Compare(int x, int y)//鏁扮粍鎺掑垪
+ {
+ bool havex1 = IsReceive(x);
+ bool havey1 = IsReceive(y);
+ if (havex1.CompareTo(havey1) != 0)
+ {
+ return -havex1.CompareTo(havey1);
+ }
+ bool havex2 = Undone(x);
+ bool havey2 = Undone(y);
+ if (havex2.CompareTo(havey2) != 0)
+ {
+ return -havex2.CompareTo(havey2);
+ }
+ bool havex3 = Completed(x);
+ bool havey3 = Completed(y);
+ if (havex3.CompareTo(havey3) != 0)
+ {
+ return -havex3.CompareTo(havey3);
+ }
+ int havex4 = SizeId(x);
+ int havey4 = SizeId(y);
+ if (havex4.CompareTo(havey4) != 0)
+ {
+ return havex4.CompareTo(havey4);
+ }
+ return 1;
+ }
+ private bool IsReceive(int ID)//鍙鍙�
+ {
+ bool Bool = false;
+ if (model.WeekPartyActionDic.ContainsKey(ID))
+ {
+ var WeekPartyAction = model.WeekPartyActionDic[ID];
+ int number = WeekPartyAction.TotalTimes / WeekPartyAction.SingleTimes;
+ int rewardNum = model.GetRewardNumber(model.SelectedNow, ID);//宸查濂栨鏁�
+ int carryOutNum = model.GetCarryOutNum(model.SelectedNow, ID);//宸插畬鎴愭鏁�
+ if (carryOutNum >= WeekPartyAction.SingleTimes && number > rewardNum)
+ {
+ Bool = true;
+ }
+ }
+ return Bool;
+ }
+ private bool Undone(int ID)//鏈畬鎴�
+ {
+ bool Bool = false;
+ if (model.WeekPartyActionDic.ContainsKey(ID))
+ {
+ var WeekPartyAction = model.WeekPartyActionDic[ID];
+ int number = WeekPartyAction.TotalTimes / WeekPartyAction.SingleTimes;
+ int rewardNum = model.GetRewardNumber(model.SelectedNow, ID);//宸查濂栨鏁�
+ int carryOutNum = model.GetCarryOutNum(model.SelectedNow, ID);//宸插畬鎴愭鏁�
+ if (WeekPartyAction.SingleTimes > carryOutNum)
+ {
+ Bool = true;
+ }
+ }
+ return Bool;
+ }
+ private bool Completed(int ID)//宸查鍙�
+ {
+ bool Bool = false;
+ if (model.WeekPartyActionDic.ContainsKey(ID))
+ {
+ var WeekPartyAction = model.WeekPartyActionDic[ID];
+ int number = WeekPartyAction.TotalTimes / WeekPartyAction.SingleTimes;
+ int rewardNum = model.GetRewardNumber(model.SelectedNow, ID);//宸查濂栨鏁�
+ int carryOutNum = model.GetCarryOutNum(model.SelectedNow, ID);//宸插畬鎴愭鏁�
+ if (rewardNum> number)
+ {
+ Bool = true;
+ }
+ }
+ return Bool;
+ }
+ private int SizeId(int ID)
+ {
+ int index = 1;
+ var config = Config.Instance.Get<WeekPartyConfig>(ID);
+ if (config != null)
+ {
+ index = config.order;
+ }
+ return index;
+ }
}
}
--
Gitblit v1.8.0