From fbc2b42630bd7675370eade11f4b350ff9ede741 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 08 十二月 2025 23:03:32 +0800
Subject: [PATCH] 364 【活动内容】开服冲榜
---
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs | 2
Main/System/OSActivity/OSRankHeroCallGiftCell.cs | 120 ++++++
Main/System/OSActivity/OSRankHeroCallAwardCell.cs.meta | 11
Main/System/MainLevel/MainBossEnterWin.cs | 3
Main/System/OSActivity/OSHeroCallBaseWin.cs.meta | 11
Main/System/GeneralConfig/DayRemind.cs | 2
Main/System/OSActivity/OSRankMainLeveAwardWin.cs | 82 ++++
Main/Core/NetworkPackage/ServerPack/HAB_Activity/HAB05_tagSCOSACelebrationInfo.cs | 19
Main/System/OSActivity/OSRankMainLeveAwardWin.cs.meta | 11
Main/System/OSActivity/OSRankWin.cs | 61 +++
Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity/DTCAB05_tagSCOSACelebrationInfo.cs.meta | 11
Main/System/OSActivity/OSRankHeroCallAwardWin.cs.meta | 11
Main/System/BillboardRank/PlayerTop3Cell.cs | 8
Main/System/FirstCharge/FirstChargeWin.cs | 4
Main/System/OSActivity/OSRankHeroCallGiftWin.cs | 63 +++
Main/System/Main/HomeWin.cs | 41 +
Main/System/BillboardRank/PlayerRankWin.cs | 25
Main/Main.cs | 1
Main/Config/Configs/StoreConfig.cs | 5
Main/System/Store/StoreModel.cs | 17
Main/System/OSActivity/OSMainLevelBaseWin.cs | 53 ++
Main/System/OSActivity/OSRankHeroCallAwardCell.cs | 58 ++
Main/Core/NetworkPackage/ServerPack/HAB_Activity/HAB05_tagSCOSACelebrationInfo.cs.meta | 11
Main/System/OSActivity/OSActivityManager.cs.meta | 11
Main/System/BillboardRank/RankModel.cs | 35 +
Main/System/OSActivity/OSRankHeroCallAwardWin.cs | 83 ++++
Main/System/OSActivity/OSActivityManager.cs | 190 +++++++++
Main/System/OSActivity/OSRankMainLeveAwardCell.cs.meta | 11
Main/System/BillboardRank/PlayerRankCell.cs | 17
Main/System/OSActivity/OSRankHeroCallGiftWin.cs.meta | 11
Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity.meta | 8
Main/Core/NetworkPackage/ServerPack/HAB_Activity.meta | 8
Main/System/OSActivity/OSHeroCallBaseWin.cs | 46 ++
Main/System/OSActivity/OSRankHeroCallGiftCell.cs.meta | 11
Main/System/OSActivity.meta | 8
Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity/DTCAB05_tagSCOSACelebrationInfo.cs | 11
Main/System/OSActivity/OSRankWin.cs.meta | 11
Main/System/OSActivity/OSRankMainLeveAwardCell.cs | 58 ++
Main/System/OSActivity/OSMainLevelBaseWin.cs.meta | 11
39 files changed, 1,107 insertions(+), 53 deletions(-)
diff --git a/Main/Config/Configs/StoreConfig.cs b/Main/Config/Configs/StoreConfig.cs
index 26eb7c6..5f4f915 100644
--- a/Main/Config/Configs/StoreConfig.cs
+++ b/Main/Config/Configs/StoreConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2025骞�10鏈�28鏃�
+// [ Date ]: 2025骞�12鏈�8鏃�
//--------------------------------------------------------
using System.Collections.Generic;
@@ -29,6 +29,7 @@
public int MoneyOriginal;
public int UnlockType;
public int UnlockValue;
+ public string Name;
public override int LoadKey(string _key)
{
@@ -65,6 +66,8 @@
int.TryParse(tables[11],out UnlockType);
int.TryParse(tables[12],out UnlockValue);
+
+ Name = tables[13];
}
catch (Exception exception)
{
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
index 6b5f439..19f1016 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -7,7 +7,7 @@
public static event Action beforePlayerDataInitializeEvent; //閲嶇櫥鍒囨崲璐﹀彿 鎴栬�� 鐭殏鐨勬柇绾块噸杩� 閮戒細瑙﹀彂
public static event Action beforePlayerDataInitializeEventOnRelogin; //閲嶇櫥鍒囨崲璐﹀彿瑙﹀彂
- public static event Action beforePlayerDataInitializeEventOnReconnect; //鏂嚎閲嶈繛瑙﹀彂
+ public static event Action beforePlayerDataInitializeEventOnReconnect; //鍚岃处鍙锋柇绾块噸杩炶Е鍙�
public static event Action afterPlayerDataInitializeEvent;
public static event Action switchAccountEvent;
public static bool isAfterPlayerDataInitialize = false; //鍙尯鍒嗘柇绾块噸杩炶繕鏄畬鍏ㄩ噸鐧�; 鍒囧埌鐧诲綍鍦烘櫙浼氶噸缃负false锛屾晠鍙垽鏂柇绾块噸杩�
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity.meta
new file mode 100644
index 0000000..3249a71
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6941d0f549d09534083b125a3f958bf6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity/DTCAB05_tagSCOSACelebrationInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity/DTCAB05_tagSCOSACelebrationInfo.cs
new file mode 100644
index 0000000..6715c77
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity/DTCAB05_tagSCOSACelebrationInfo.cs
@@ -0,0 +1,11 @@
+using UnityEngine;
+using System.Collections;
+
+// AB 05 寮�鏈嶅簡鍏镐俊鎭� #tagSCOSACelebrationInfo
+
+public class DTCAB05_tagSCOSACelebrationInfo : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HAB05_tagSCOSACelebrationInfo vNetData = vNetPack as HAB05_tagSCOSACelebrationInfo;
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity/DTCAB05_tagSCOSACelebrationInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity/DTCAB05_tagSCOSACelebrationInfo.cs.meta
new file mode 100644
index 0000000..7250985
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HAB_Activity/DTCAB05_tagSCOSACelebrationInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dde0a532fce9aff41bd468e6a0b87511
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HAB_Activity.meta b/Main/Core/NetworkPackage/ServerPack/HAB_Activity.meta
new file mode 100644
index 0000000..a22ac7b
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAB_Activity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 87a175e0ef9386646a517dc77118c1ca
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HAB_Activity/HAB05_tagSCOSACelebrationInfo.cs b/Main/Core/NetworkPackage/ServerPack/HAB_Activity/HAB05_tagSCOSACelebrationInfo.cs
new file mode 100644
index 0000000..629eea4
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAB_Activity/HAB05_tagSCOSACelebrationInfo.cs
@@ -0,0 +1,19 @@
+using UnityEngine;
+using System.Collections;
+
+// AB 05 寮�鏈嶅簡鍏镐俊鎭� #tagSCOSACelebrationInfo
+
+public class HAB05_tagSCOSACelebrationInfo : GameNetPackBasic {
+ public uint PointTotal; // 绱搴嗗吀绉垎
+ public uint PointAward; // 绉垎闃舵濂栧姳璁板綍锛屾寜闃舵绉垎鎺掑簭鍚庣储寮曚簩杩涘埗瀛樺偍鏄惁宸查鍙�
+
+ public HAB05_tagSCOSACelebrationInfo () {
+ _cmd = (ushort)0xAB05;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out PointTotal, vBytes, NetDataType.DWORD);
+ TransBytes (out PointAward, vBytes, NetDataType.DWORD);
+ }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HAB_Activity/HAB05_tagSCOSACelebrationInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HAB_Activity/HAB05_tagSCOSACelebrationInfo.cs.meta
new file mode 100644
index 0000000..a1b87c8
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HAB_Activity/HAB05_tagSCOSACelebrationInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4b88c80b8a2f30e429deefeacba13d72
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Main.cs b/Main/Main.cs
index c01f11b..c8845f3 100644
--- a/Main/Main.cs
+++ b/Main/Main.cs
@@ -93,6 +93,7 @@
managers.Add(FuncNPCManager.Instance);
managers.Add(GuildBossManager.Instance);
managers.Add(LineupRecommendManager.Instance);
+ managers.Add(OSActivityManager.Instance);
foreach (var manager in managers)
{
diff --git a/Main/System/BillboardRank/PlayerRankCell.cs b/Main/System/BillboardRank/PlayerRankCell.cs
index e9bc30d..7748a7e 100644
--- a/Main/System/BillboardRank/PlayerRankCell.cs
+++ b/Main/System/BillboardRank/PlayerRankCell.cs
@@ -8,16 +8,15 @@
//鐜╁閫氱敤鎺掑悕
public class PlayerRankCell : MonoBehaviour
{
- [SerializeField] AvatarCell avatarCell;
+ [SerializeField] AvatarCell avatarCell; // 澶村儚涓偣鍑绘煡璇㈢帺瀹惰鎯�
[SerializeField] Text rankText;
[SerializeField] Text rankValueText; //鎺掑悕姣旇緝鍐呭
[SerializeField] Text nameText;
[SerializeField] OfficialTitleCell officialTitleCell;
- [SerializeField] Button queryPlayerBtn; //鍚庣画娣诲姞鐐瑰嚮鏌ョ湅鐜╁璇︽儏
// rank 涓�0 浠h〃鐜╁鑷繁
- public void Display(int rankType, int rank, string valueFormat)
+ public void Display(int rankType, int rank)
{
RankData rankData = null;
if (rank != 0)
@@ -34,7 +33,7 @@
PlayerDatas.Instance.baseData.face,
PlayerDatas.Instance.baseData.facePic));
rankText.text = Language.Get("L1045");
- rankValueText.text = "1-1";//Language.Get("L1125");
+ rankValueText.text = "";//Language.Get("L1125");
nameText.text = PlayerDatas.Instance.baseData.PlayerName;
officialTitleCell.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID);
return;
@@ -46,7 +45,7 @@
officialTitleCell.SetActive(false);
avatarCell.SetActive(false);
nameText.text = Language.Get("L1124");
- rankValueText.text = "1-1";//Language.Get("L1125");
+ rankValueText.text = "";//Language.Get("L1125");
}
else
{
@@ -55,17 +54,11 @@
avatarCell.SetActive(true);
avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)rankData.id, (int)rankData.value3, (int)rankData.value4));
nameText.text = rankData.name1;
- rankValueText.text = RankModel.Instance.GetStoryInfo(rankData.cmpValue); ;
+ rankValueText.text = RankModel.Instance.GetCmpValueStr(rankType, rankData.cmpValue); ;
}
rankText.text = rank.ToString();
- if (queryPlayerBtn != null)
- {
- queryPlayerBtn.AddListener(() =>
- {
- });
- }
}
}
diff --git a/Main/System/BillboardRank/PlayerRankWin.cs b/Main/System/BillboardRank/PlayerRankWin.cs
index c58478c..a4628ca 100644
--- a/Main/System/BillboardRank/PlayerRankWin.cs
+++ b/Main/System/BillboardRank/PlayerRankWin.cs
@@ -9,7 +9,7 @@
using UnityEngine.UI;
-//閫氱敤鐜╁涓汉鎺掕姒�
+//閫氱敤鐜╁涓汉鎺掕姒�; cell鏁伴噺鏄浐瀹氱殑 闈炲姩鎬佸彉鍖�
public class PlayerRankWin : UIBase
{
[SerializeField] List<PlayerTop3Cell> playerTop3Cells;
@@ -18,26 +18,23 @@
[SerializeField] PlayerRankCell myRankCell;
[SerializeField] Button btnClose;
-
- [HideInInspector] public int rankType;
- [HideInInspector] public string valueFormat = "{0}";
+ //鏁版嵁鍚庣画浠巑anager涓褰曡幏鍙�
[HideInInspector] public int groupValue1 = 0; //涓�鑸敤浜庤法鏈�
[HideInInspector] public int groupValue2 = 0; //涓�鑸敤浜庤法鏈�
+ protected int rankType; //浠巉unctionOrder鑾峰彇
protected override void InitComponent()
{
- btnClose.AddListener(()=>
- {
- CloseWindow();
- });
+ btnClose?.AddListener(CloseWindow);
}
- protected override void NextFrameAfterOpen()
+
+ protected override void OnPreOpen()
{
+ rankType = functionOrder;
RankModel.Instance.onRankRefresh += OnRankRefresh;
scrollerController.OnRefreshCell += OnRefreshCell;
Refresh();
-
}
protected override void OnPreClose()
@@ -53,7 +50,7 @@
public override void Refresh()
{
- cmpStrText.text = Language.Get("RankTypeName_1");
+ cmpStrText.text = RankModel.Instance.GetCmpTabStr(rankType);
ShowTop3();
CreateScroller();
ShowMyRank();
@@ -73,7 +70,7 @@
void OnRefreshCell(ScrollerDataType type, CellView cell)
{
var _cell = cell.GetComponent<PlayerRankCell>();
- _cell.Display(rankType, cell.index + 1, valueFormat);
+ _cell.Display(rankType, cell.index + 1);
RankModel.Instance.ListenRankPage(rankType, cell.index, groupValue1, groupValue2);
}
@@ -82,13 +79,13 @@
{
for (int i = 0; i < playerTop3Cells.Count; i++)
{
- playerTop3Cells[i].Display(functionOrder, i + 1);
+ playerTop3Cells[i].Display(rankType, i + 1);
}
}
void ShowMyRank()
{
- myRankCell.Display(rankType, 0, valueFormat);
+ myRankCell.Display(rankType, 0);
}
diff --git a/Main/System/BillboardRank/PlayerTop3Cell.cs b/Main/System/BillboardRank/PlayerTop3Cell.cs
index 610fe84..d67b702 100644
--- a/Main/System/BillboardRank/PlayerTop3Cell.cs
+++ b/Main/System/BillboardRank/PlayerTop3Cell.cs
@@ -8,26 +8,24 @@
//鐜╁閫氱敤鐨勫墠3鎺掑悕
public class PlayerTop3Cell : MonoBehaviour
{
- //[SerializeField] Model 鏄剧ずNPC 姝﹀皢妯″瀷
[SerializeField] Text rankValueText; //鎺掑悕姣旇緝鍐呭
[SerializeField] Text nameText;
[SerializeField] OfficialTitleCell officialTitleCell;
- [SerializeField] Button queryPlayerBtn; //鍚庣画娣诲姞鐐瑰嚮鏌ョ湅鐜╁璇︽儏
[SerializeField] HorseController model;
- public void Display(int rankType, int rank, string valueFormat = "{0}")
+ public void Display(int rankType, int rank)
{
var rankData = RankModel.Instance.GetRankDataByRank(rankType, rank);
if (rankData == null)
{
- rankValueText.text = "1-1";//Language.Get("L1125");
+ rankValueText.text = "";//Language.Get("L1125");
nameText.text = Language.Get("L1124");
officialTitleCell.SetActive(false);
return;
}
officialTitleCell.SetActive(true);
//rankValueText.text = string.Format(valueFormat, UIHelper.ReplaceLargeNum(rankData.cmpValue2 + rankData.cmpValue * Constants.ExpPointValue));
- rankValueText.text = RankModel.Instance.GetStoryInfo(rankData.cmpValue);
+ rankValueText.text = RankModel.Instance.GetCmpValueStr(rankType, rankData.cmpValue);
nameText.text = rankData.name1;
officialTitleCell.InitUI((int)rankData.value1, (int)rankData.value2);
model.Create(HorseManager.Instance.GetOtherPlayerHorseSkinID((int)rankData.value6), (int)rankData.value5, 1);
diff --git a/Main/System/BillboardRank/RankModel.cs b/Main/System/BillboardRank/RankModel.cs
index 318e713..5e8df5e 100644
--- a/Main/System/BillboardRank/RankModel.cs
+++ b/Main/System/BillboardRank/RankModel.cs
@@ -333,13 +333,36 @@
}
#endregion
- public string GetStoryInfo(uint cmpValue)
+ //鑾峰彇鎺掑悕姣旇緝鍊煎瓧绗︿覆
+ public string GetCmpValueStr(int rankType, uint cmpValue)
{
- int value = (int)cmpValue;
- if (!MainLevelConfig.HasKey(value))
- return string.Empty;
- MainLevelConfig config = MainLevelConfig.Get(value);
- return Language.Get("Arena15", config.ChapterID, config.LevelNum);
+ switch (rankType)
+ {
+ case 0:
+ case 3:
+ int value = (int)cmpValue;
+ if (!MainLevelConfig.HasKey(value))
+ return string.Empty;
+ MainLevelConfig config = MainLevelConfig.Get(value);
+ return Language.Get("Arena15", config.ChapterID, config.LevelNum);
+ case 4:
+ return cmpValue.ToString();
+ }
+ return string.Empty;
+ }
+
+ //鑾峰彇鎺掑悕鏍囩
+ public string GetCmpTabStr(int rankType)
+ {
+ switch (rankType)
+ {
+ case 0:
+ case 3:
+ return Language.Get("RankTypeName_1");
+ case 4:
+ return Language.Get("OSActivity5");
+ }
+ return string.Empty;
}
}
diff --git a/Main/System/FirstCharge/FirstChargeWin.cs b/Main/System/FirstCharge/FirstChargeWin.cs
index a5daae2..6f2c5fa 100644
--- a/Main/System/FirstCharge/FirstChargeWin.cs
+++ b/Main/System/FirstCharge/FirstChargeWin.cs
@@ -256,7 +256,7 @@
OrderInfoConfig orderInfoConfig;
if (model.TryGetOrderInfoConfigByFirstID(firstID, out orderInfoConfig))
{
- txtTabTitles[i].text = Language.Get("PayMoneyNum", orderInfoConfig.PayRMBNum);
+ txtTabTitles[i].text = Language.Get("PayMoneyNum", orderInfoConfig.PayRMBNumOnSale);
}
}
}
@@ -279,7 +279,7 @@
bool isBuy = firstChargeData.IsBuy();
btnBuy.SetActive(!isBuy);
btnHave.SetActive(isBuy);
- txtBuy.text = Language.Get("PayMoneyNum", orderInfo.PayRMBNum);
+ txtBuy.text = Language.Get("PayMoneyNum", orderInfo.PayRMBNumOnSale);
//棰嗗彇
int day = firstChargeData.GetNowBuyDay();
//0: 宸查鍙� 1: 涓嶅彲棰嗗彇 2: 鍙鍙�
diff --git a/Main/System/GeneralConfig/DayRemind.cs b/Main/System/GeneralConfig/DayRemind.cs
index 107b885..a1debbd 100644
--- a/Main/System/GeneralConfig/DayRemind.cs
+++ b/Main/System/GeneralConfig/DayRemind.cs
@@ -33,6 +33,7 @@
}
public const string DJQTip = "DJQTip"; // 浠i噾鍒告彁绀�
+ public const string OSMainLevel = "OSMainLevel"; // 寮�鏈嶄富绾垮叧鍗℃椿鍔ㄦ彁绀�
public Dictionary<string, int[]> dayRemindDic = new Dictionary<string, int[]>();
@@ -74,6 +75,7 @@
private void GetPlayerDayRemind()
{
SetDayRemind(DJQTip);
+ SetDayRemind(OSMainLevel);
}
public void SetDayRemind(string _key)
diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index bdd24a0..599bafc 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/Main/System/Main/HomeWin.cs
@@ -61,6 +61,8 @@
[SerializeField] RightFuncInHome rightFuncInHome;
[SerializeField] Button FirstChargeBtn;
+ [SerializeField] Button osMainLevelBtn;
+ [SerializeField] Button osHeroCallBtn;
//鍧愰獞
[SerializeField] Image horseBGImg;
@@ -187,6 +189,15 @@
UpdateSendButton();
inputFastChat.text = string.Empty;
});
+
+ osMainLevelBtn.AddListener(() =>
+ {
+ UIManager.Instance.OpenWindow<OSMainLevelBaseWin>();
+ });
+ osHeroCallBtn.AddListener(() =>
+ {
+ UIManager.Instance.OpenWindow<OSHeroCallBaseWin>();
+ });
}
@@ -234,8 +245,10 @@
HorseManager.Instance.OnHorseUpdateEvent += DisplayHorse;
ChatManager.Instance.OnChatTabChangeEvent += OnChatTabChangeEvent;
GuildManager.Instance.EnterOrQuitGuildEvent += EnterOrQuitGuildEvent;
+ TimeMgr.Instance.OnDayEvent += OnDayEvent;
Display();
DisplayFirstChargeBtn();
+ DisplayOSActivity();
// var battleWin = UIManager.Instance.OpenWindow<BattleWin>();
// battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
@@ -264,6 +277,7 @@
HorseManager.Instance.OnHorseUpdateEvent -= DisplayHorse;
ChatManager.Instance.OnChatTabChangeEvent -= OnChatTabChangeEvent;
GuildManager.Instance.EnterOrQuitGuildEvent -= EnterOrQuitGuildEvent;
+ TimeMgr.Instance.OnDayEvent -= OnDayEvent;
// 鍏抽棴鐨勬椂鍊欐妸鎴樻枟鐣岄潰涔熺粰鍏充簡 铏界劧鏄湪澶栭潰寮�鐨�
UIManager.Instance.CloseWindow<BattleWin>();
@@ -277,6 +291,7 @@
txtFastChatSend.text = isCanSend ? Language.Get("Chat11") : Language.Get("Chat14", remainingSeconds);
txtFastChatSend.colorType = isCanSend ? TextColType.NavyBrown : TextColType.LightWhite;
}
+
private void EnterOrQuitGuildEvent(bool obj)
@@ -319,11 +334,10 @@
async UniTask DelayPlayMusic()
{
- await UniTask.Delay(2000);
+ await UniTask.Delay(1200);
if (!SoundPlayer.Instance.IsPlayBackGroundMuisic())
SoundPlayer.Instance.PlayBackGroundMusic(38);
}
-
private void OnClickEnterBoss()
@@ -597,6 +611,10 @@
}
}
+
+
+
+
private void OnFirstChargeTaskUpdateEvent()
{
DisplayFirstChargeBtn();
@@ -611,6 +629,10 @@
else if (funcId == (int)FuncOpenEnum.Horse)
{
DisplayHorse();
+ }
+ else if (funcId == (int)FuncOpenEnum.OSMainLevl || funcId == (int)FuncOpenEnum.OSHeroCall)
+ {
+ DisplayOSActivity();
}
}
@@ -654,4 +676,17 @@
UIManager.Instance.OpenWindow<HorseWin>();
}
}
-}
\ No newline at end of file
+
+ void DisplayOSActivity()
+ {
+ osMainLevelBtn.SetActive(OSActivityManager.Instance.IsOpened(3));
+ osHeroCallBtn.SetActive(OSActivityManager.Instance.IsOpened(4));
+ }
+
+ void OnDayEvent()
+ {
+ DisplayOSActivity();
+ }
+}
+
+
diff --git a/Main/System/MainLevel/MainBossEnterWin.cs b/Main/System/MainLevel/MainBossEnterWin.cs
index c86b5d5..c65170b 100644
--- a/Main/System/MainLevel/MainBossEnterWin.cs
+++ b/Main/System/MainLevel/MainBossEnterWin.cs
@@ -34,8 +34,7 @@
{
RankModel.Instance.ResetQueryParam();
RankModel.Instance.QueryRankByPage(0, watchID: (int)PlayerDatas.Instance.baseData.PlayerID);
- var win = UIManager.Instance.OpenWindow<PlayerRankWin>();
- win.rankType = 0;
+ UIManager.Instance.OpenWindow<PlayerRankWin>(0);
});
diff --git a/Main/System/OSActivity.meta b/Main/System/OSActivity.meta
new file mode 100644
index 0000000..8a7b5ba
--- /dev/null
+++ b/Main/System/OSActivity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c825c294184518b419d9d9fc80996f01
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSActivityManager.cs b/Main/System/OSActivity/OSActivityManager.cs
new file mode 100644
index 0000000..3c24867
--- /dev/null
+++ b/Main/System/OSActivity/OSActivityManager.cs
@@ -0,0 +1,190 @@
+
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+
+public class OSActivityManager : GameSystemManager<OSActivityManager>
+{
+ Dictionary<int, int[]> rankOpenDays = new Dictionary<int, int[]>(); //鎺掕姒滅被鍨嬶細銆愬紑濮嬪紑鏈嶅ぉ, 缁撴潫寮�鏈嶅ぉ銆�
+ public Dictionary<int, int[][]> mainLevelRankAwards = new Dictionary<int, int[][]>(); //涓荤嚎鍏冲崱鍚嶆锛氬鍔�
+ public Dictionary<int, int[][]> heroCallRankAwards = new Dictionary<int, int[][]>(); //姝﹀皢鎷涘嫙鍚嶆锛氬鍔�
+
+ public List<int> osHeroCallGiftSortList = new List<int>(); //寮�鏈嶆嫑鍕熺ぜ鍖� 鍏呭�糏D + 100000000
+
+ Dictionary<int, int> rankTypeToFuncID = new Dictionary<int, int>()
+ {
+ {3, 45},
+ {4, 46},
+ };
+
+ public override void Init()
+ {
+
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitialize;
+ StoreModel.Instance.RefreshBuyShopLimitEvent += RefreshStore;
+ FuncOpen.Instance.OnFuncStateChangeEvent += FuncStateChange;
+
+ ParseConfig();
+ }
+
+ public override void Release()
+ {
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitialize;
+ StoreModel.Instance.RefreshBuyShopLimitEvent -= RefreshStore;
+ FuncOpen.Instance.OnFuncStateChangeEvent -= FuncStateChange;
+ }
+
+ void BeforePlayerDataInitialize()
+ {
+ }
+
+ void ParseConfig()
+ {
+ var config = FuncConfigConfig.Get("OSABillboard");
+ rankOpenDays = ConfigParse.ParseIntArrayDict(config.Numerical1);
+ mainLevelRankAwards = ConfigParse.ParseIntArray2Dict(config.Numerical2);
+ heroCallRankAwards = ConfigParse.ParseIntArray2Dict(config.Numerical3);
+
+ var list = StoreModel.Instance.storeTypeDict[(int)StoreFunc.OSHeroCall];
+ var _list = RechargeManager.Instance.GetCTGIDListByType(18);
+
+ for (int i = 0; i < list.Count; i++)
+ {
+ var item = list[i];
+ osHeroCallGiftSortList.Add(item.shopId);
+ }
+ for (int i = 0; i < _list.Count; i++)
+ {
+ osHeroCallGiftSortList.Add(_list[i] + 100000000);
+ }
+
+ }
+
+ // 寮�鏈嶆帓琛屾椿鍔ㄦ槸鍚﹀紑鍚�
+ public bool IsOpened(int rankType)
+ {
+ if (!rankTypeToFuncID.ContainsKey(rankType))
+ {
+ return false;
+ }
+
+ if (!FuncOpen.Instance.IsFuncOpen(rankTypeToFuncID[rankType]))
+ {
+ return false;
+ }
+
+ //鍔熻兘寮�鍚噷鏈夊紑濮嬪ぉ浠ュ紑鍚负鍑嗭紝娲诲姩缁撴潫鍚庡欢杩熶竴澶╁叧闂睍绀�
+ if (!rankOpenDays.ContainsKey(rankType))
+ {
+ return false;
+ }
+
+ var openDays = rankOpenDays[rankType];
+ if (TimeUtility.OpenDay > openDays[1])
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ public int GetEndTime(int rankType)
+ {
+ if (!rankOpenDays.ContainsKey(rankType))
+ {
+ return 0;
+ }
+ var openDays = rankOpenDays[rankType];
+
+ return TimeUtility.GetRemindTimeByOpenDay(openDays[1]);
+ }
+
+ int CmpGift(int a, int b)
+ {
+ bool isSaleOutA = false;
+ bool isSaleOutB = false;
+
+ if (a < 100000000)
+ {
+ //鍟嗗簵
+ isSaleOutA = StoreModel.Instance.GetShopIDState(a) == 1;
+ }
+ else
+ {
+ RechargeManager.Instance.TryGetRechargeCount(a % 100000000, out RechargeCount countData);
+ if (countData.totalCount >= CTGConfig.Get(a % 100000000).DailyBuyCount)
+ {
+ isSaleOutA = true;
+ }
+ }
+ if (b < 100000000)
+ {
+ isSaleOutB = StoreModel.Instance.GetShopIDState(b) == 1;
+ }
+ else
+ {
+ RechargeManager.Instance.TryGetRechargeCount(b % 100000000, out RechargeCount countData);
+ if (countData.totalCount >= CTGConfig.Get(b % 100000000).DailyBuyCount)
+ {
+ isSaleOutB = true;
+ }
+ }
+ if (isSaleOutA != isSaleOutB)
+ {
+ return isSaleOutA ? 1 : -1;
+ }
+
+ return a.CompareTo(b);
+ }
+
+ public void RefreshGiftSortList()
+ {
+ osHeroCallGiftSortList.Sort(CmpGift);
+ }
+
+ void RefreshStore()
+ {
+ UpdateRedpoint();
+ }
+
+
+ Redpoint osMainLevelRedpoint = new Redpoint(MainRedDot.RedPoint_OSMainLevel);
+ Redpoint osHeroCallRedpoint = new Redpoint(MainRedDot.RedPoint_OSHeroCard);
+
+ public void UpdateRedpoint()
+ {
+ osMainLevelRedpoint.state = !DayRemind.Instance.GetDayRemind(DayRemind.OSMainLevel) ? RedPointState.Simple : RedPointState.None;
+ osHeroCallRedpoint.state = RedPointState.None;
+
+ if (StoreModel.Instance.freeShopDict.Count == 0) return;
+
+ if (StoreModel.Instance.freeShopDict.ContainsKey((int)StoreFunc.OSHeroCall))
+ {
+ var shopList = StoreModel.Instance.freeShopDict[(int)StoreFunc.OSHeroCall];
+
+ for (int i = 0; i < shopList.Count; i++)
+ {
+ var shopID = shopList[i];
+ var config = StoreConfig.Get(shopID);
+ if (StoreModel.Instance.GetShopLimitBuyCount(shopID) < config.LimitCnt)
+ {
+ osHeroCallRedpoint.state = RedPointState.Simple;
+ break;
+ }
+ }
+ }
+ }
+
+ private void FuncStateChange(int funcId)
+ {
+ switch ((FuncOpenEnum)funcId)
+ {
+ case FuncOpenEnum.OSMainLevl:
+ case FuncOpenEnum.OSHeroCall:
+ UpdateRedpoint();
+ break;
+ }
+ }
+}
diff --git a/Main/System/OSActivity/OSActivityManager.cs.meta b/Main/System/OSActivity/OSActivityManager.cs.meta
new file mode 100644
index 0000000..8a4d24f
--- /dev/null
+++ b/Main/System/OSActivity/OSActivityManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c7dec13c51efdd541a8b7cfedcdc9d09
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSHeroCallBaseWin.cs b/Main/System/OSActivity/OSHeroCallBaseWin.cs
new file mode 100644
index 0000000..516b9ff
--- /dev/null
+++ b/Main/System/OSActivity/OSHeroCallBaseWin.cs
@@ -0,0 +1,46 @@
+锘�//--------------------------------------------------------
+// [Author]: 鐜╀釜娓告垙
+// [ Date ]: Tuesday, July 24, 2018
+//--------------------------------------------------------
+
+
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+////寮�鏈嶆椿鍔�-姝﹀皢鎷涘嫙娲诲姩
+public class OSHeroCallBaseWin : FunctionsBaseWin
+{
+ [SerializeField] Button closBtn;
+
+ protected override void InitComponent()
+ {
+ base.InitComponent();
+ closBtn.AddListener(CloseWindow);
+ }
+
+
+ protected override void OpenSubUIByTabIndex()
+ {
+ switch (functionOrder)
+ {
+ case 0:
+ RankModel.Instance.ResetQueryParam();
+ RankModel.Instance.QueryRankByPage(4, watchID: (int)PlayerDatas.Instance.baseData.PlayerID);
+ currentSubUI = UIManager.Instance.OpenWindow<OSRankWin>(4);
+ break;
+ case 1:
+ currentSubUI = UIManager.Instance.OpenWindow<OSRankHeroCallAwardWin>();
+ break;
+ case 2:
+ currentSubUI = UIManager.Instance.OpenWindow<OSRankHeroCallGiftWin>();
+ break;
+ }
+ }
+
+}
+
+
+
+
diff --git a/Main/System/OSActivity/OSHeroCallBaseWin.cs.meta b/Main/System/OSActivity/OSHeroCallBaseWin.cs.meta
new file mode 100644
index 0000000..d81f8ef
--- /dev/null
+++ b/Main/System/OSActivity/OSHeroCallBaseWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 625a00313ed577e44b0fc884be1e90f2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSMainLevelBaseWin.cs b/Main/System/OSActivity/OSMainLevelBaseWin.cs
new file mode 100644
index 0000000..fb630d4
--- /dev/null
+++ b/Main/System/OSActivity/OSMainLevelBaseWin.cs
@@ -0,0 +1,53 @@
+锘�//--------------------------------------------------------
+// [Author]: 鐜╀釜娓告垙
+// [ Date ]: Tuesday, July 24, 2018
+//--------------------------------------------------------
+
+
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+////寮�鏈嶆椿鍔�-涓荤嚎鍏冲崱娲诲姩
+public class OSMainLevelBaseWin : FunctionsBaseWin
+{
+ [SerializeField] Button closBtn;
+
+ protected override void InitComponent()
+ {
+ base.InitComponent();
+ closBtn.AddListener(CloseWindow);
+ }
+
+ protected override void OnPreOpen()
+ {
+ base.OnPreOpen();
+ if (!DayRemind.Instance.GetDayRemind(DayRemind.OSMainLevel))
+ {
+ DayRemind.Instance.SetDayRemind(DayRemind.OSMainLevel, true);
+ OSActivityManager.Instance.UpdateRedpoint();
+ }
+ }
+
+ protected override void OpenSubUIByTabIndex()
+ {
+ switch (functionOrder)
+ {
+ case 0:
+ RankModel.Instance.ResetQueryParam();
+ RankModel.Instance.QueryRankByPage(3, watchID: (int)PlayerDatas.Instance.baseData.PlayerID);
+ currentSubUI = UIManager.Instance.OpenWindow<OSRankWin>(3);
+ break;
+ case 1:
+ currentSubUI = UIManager.Instance.OpenWindow<OSRankMainLeveAwardWin>();
+ break;
+ }
+ }
+
+
+}
+
+
+
+
diff --git a/Main/System/OSActivity/OSMainLevelBaseWin.cs.meta b/Main/System/OSActivity/OSMainLevelBaseWin.cs.meta
new file mode 100644
index 0000000..7797c91
--- /dev/null
+++ b/Main/System/OSActivity/OSMainLevelBaseWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2e7af1c80e7f0cb4e803121c8107b934
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSRankHeroCallAwardCell.cs b/Main/System/OSActivity/OSRankHeroCallAwardCell.cs
new file mode 100644
index 0000000..bef253b
--- /dev/null
+++ b/Main/System/OSActivity/OSRankHeroCallAwardCell.cs
@@ -0,0 +1,58 @@
+锘縰sing System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class OSRankHeroCallAwardCell : CellView
+{
+ [SerializeField] Text rankText;
+ [SerializeField] Image rankImg;
+ [SerializeField] ItemCell[] itemCells;
+
+ public void Display(int index)
+ {
+ var rank = index + 1;
+ if (index < 3)
+ {
+ rankImg.SetActive(true);
+ rankText.SetActive(false);
+ rankImg.SetSprite(StringUtility.Contact("Rank", index + 1));
+ }
+ else
+ {
+ rankImg.SetActive(false);
+ rankText.SetActive(true);
+ var keys = OSActivityManager.Instance.heroCallRankAwards.Keys.ToList();
+ keys.Sort();
+ var startRank = keys[index - 1] + 1;
+ var endRank = keys[index];
+ rank = endRank;
+ if (startRank == endRank)
+ {
+ rankText.text = startRank.ToString();
+ }
+ else
+ {
+ rankText.text = startRank + "-" + endRank;
+ }
+ }
+
+ var award = OSActivityManager.Instance.heroCallRankAwards[rank];
+ for (int i = 0; i < itemCells.Length; i++)
+ {
+ var itemCell = itemCells[i];
+ if (i < award.Length)
+ {
+ itemCell.SetActive(true);
+ int itemID = award[i][0];
+ itemCell.Init(new ItemCellModel(itemID, true, award[i][1]));
+ itemCell.button.SetListener(() => ItemTipUtility.Show(itemID));
+ }
+ else
+ {
+ itemCell.SetActive(false);
+ }
+ }
+ }
+
+}
diff --git a/Main/System/OSActivity/OSRankHeroCallAwardCell.cs.meta b/Main/System/OSActivity/OSRankHeroCallAwardCell.cs.meta
new file mode 100644
index 0000000..691a197
--- /dev/null
+++ b/Main/System/OSActivity/OSRankHeroCallAwardCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3efefc256362c9e4a9538ad84e522737
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSRankHeroCallAwardWin.cs b/Main/System/OSActivity/OSRankHeroCallAwardWin.cs
new file mode 100644
index 0000000..911aa93
--- /dev/null
+++ b/Main/System/OSActivity/OSRankHeroCallAwardWin.cs
@@ -0,0 +1,83 @@
+锘�//--------------------------------------------------------
+// [Author]: 鐜╀釜娓告垙
+// [ Date ]: Tuesday, July 24, 2018
+//--------------------------------------------------------
+
+
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+////寮�鏈嶆椿鍔�-姝﹀皢鎷涘嫙鎺掕姒滃鍔�
+public class OSRankHeroCallAwardWin : UIBase
+{
+ [SerializeField] ScrollerController scrollerController;
+ [SerializeField] Text myRankText;
+ [SerializeField] Text myRankValueText;
+
+
+ protected override void OnPreOpen()
+ {
+ scrollerController.OnRefreshCell += OnRefreshCell;
+ CreateScroller();
+ DisplayMyRank(4);
+ }
+
+ protected override void OnPreClose()
+ {
+ scrollerController.OnRefreshCell -= OnRefreshCell;
+ }
+
+
+
+
+ void CreateScroller()
+ {
+ var keys = OSActivityManager.Instance.heroCallRankAwards.Keys;
+
+ scrollerController.Refresh();
+ for (int i = 0; i < keys.Count; i++)
+ {
+ scrollerController.AddCell(ScrollerDataType.Header, i);
+ }
+ scrollerController.Restart();
+ }
+
+ void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _cell = cell.GetComponent<OSRankHeroCallAwardCell>();
+ _cell.Display(cell.index);
+ }
+
+ public void DisplayMyRank(int rankType)
+ {
+ RankData rankData = null;
+ rankData = RankModel.Instance.GetMyRank(rankType);
+ if (rankData == null)
+ {
+ myRankText.text = Language.Get("L1045");
+ myRankValueText.text = "";//Language.Get("L1125");
+ return;
+ }
+ int rank = rankData.rank;
+
+ if (rankData == null)
+ {
+ myRankValueText.text = "";//Language.Get("L1125");
+ }
+ else
+ {
+ myRankValueText.text = RankModel.Instance.GetCmpValueStr(rankType, rankData.cmpValue); ;
+ }
+
+ myRankText.text = Language.Get("L1126") + Language.Get("L1096") + rank.ToString();
+
+ }
+
+
+}
+
+
+
+
diff --git a/Main/System/OSActivity/OSRankHeroCallAwardWin.cs.meta b/Main/System/OSActivity/OSRankHeroCallAwardWin.cs.meta
new file mode 100644
index 0000000..f64d305
--- /dev/null
+++ b/Main/System/OSActivity/OSRankHeroCallAwardWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4c95333a39a8daa4da8ab42140cda281
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSRankHeroCallGiftCell.cs b/Main/System/OSActivity/OSRankHeroCallGiftCell.cs
new file mode 100644
index 0000000..6d66404
--- /dev/null
+++ b/Main/System/OSActivity/OSRankHeroCallGiftCell.cs
@@ -0,0 +1,120 @@
+锘縰sing System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class OSRankHeroCallGiftCell : CellView
+{
+ [SerializeField] Text nameText;
+ [SerializeField] ItemCell[] itemCells;
+ [SerializeField] Button buyBtn;
+ [SerializeField] Text moneyText;
+ [SerializeField] Image moneyIcon;
+ [SerializeField] Transform saleOutRect;
+ [SerializeField] Image redImg;
+ [SerializeField] Text buyLimitText;
+ [SerializeField] Image maskImg;
+
+ public void Display(int index)
+ {
+ var id = OSActivityManager.Instance.osHeroCallGiftSortList[index];
+ if (id > 100000000)
+ {
+ //鍏呭��
+ id -= 100000000;
+ var ctgConfig = CTGConfig.Get(id);
+ nameText.text = ctgConfig.Title;
+ for (int i = 0; i < itemCells.Length; i++)
+ {
+ var itemCell = itemCells[i];
+ if (i < ctgConfig.GainItemList.Length)
+ {
+ itemCell.SetActive(true);
+ int itemID = ctgConfig.GainItemList[i][0];
+ itemCell.Init(new ItemCellModel(itemID, true, ctgConfig.GainItemList[i][1]));
+ itemCell.button.SetListener(() => ItemTipUtility.Show(itemID));
+ }
+ else
+ {
+ itemCell.SetActive(false);
+ }
+ }
+ RechargeManager.Instance.TryGetRechargeCount(id, out var rechargeCount);
+ var limitCnt = ctgConfig.DailyBuyCount;
+ if (rechargeCount.todayCount < limitCnt)
+ {
+ saleOutRect.SetActive(false);
+ maskImg.SetActive(false);
+ buyBtn.SetActive(true);
+ buyBtn.SetListener(() =>
+ {
+ RechargeManager.Instance.CTG(id);
+ });
+
+ RechargeManager.Instance.TryGetOrderInfo(id, out var orderInfo);
+
+ moneyText.text = Language.Get("PayMoneyNum", orderInfo.PayRMBNumOnSale);
+ moneyIcon.SetActive(false);
+ }
+ else
+ {
+ saleOutRect.SetActive(true);
+ maskImg.SetActive(true);
+ buyBtn.SetActive(false);
+ }
+ buyLimitText.text = Language.Get("storename6", limitCnt - rechargeCount.todayCount, limitCnt);
+ redImg.SetActive(false);
+
+ }
+ else
+ {
+ //鍟嗗簵
+ var storeConfig = StoreConfig.Get(id);
+ nameText.text = storeConfig.Name;
+ var awards = StoreModel.Instance.GetShopItemlistEx(storeConfig);
+ for (int i = 0; i < itemCells.Length; i++)
+ {
+ var itemCell = itemCells[i];
+ if (i < awards.Count)
+ {
+ itemCell.SetActive(true);
+ int itemID = awards[i][0];
+ itemCell.Init(new ItemCellModel(itemID, true, awards[i][1]));
+ itemCell.button.SetListener(() => ItemTipUtility.Show(itemID));
+ }
+ else
+ {
+ itemCell.SetActive(false);
+ }
+ }
+
+ var state = StoreModel.Instance.GetShopIDState(id);
+ if (state == 1)
+ {
+ saleOutRect.SetActive(true);
+ maskImg.SetActive(true);
+ buyBtn.SetActive(false);
+ redImg.SetActive(false);
+ }
+ else
+ {
+ saleOutRect.SetActive(false);
+ maskImg.SetActive(false);
+ buyBtn.SetActive(true);
+ buyBtn.SetListener(() =>
+ {
+ StoreModel.Instance.SendBuyShopItemWithPopCheck(storeConfig, 1);
+ });
+ moneyText.text = storeConfig.MoneyNum == 0 ? Language.Get("L1127") : storeConfig.MoneyNum.ToString();
+ moneyIcon.SetActive(storeConfig.MoneyNum != 0);
+ moneyIcon.SetIconWithMoneyType(storeConfig.MoneyType);
+ redImg.SetActive(storeConfig.MoneyNum == 0);
+ }
+ var buyCnt = StoreModel.Instance.GetShopLimitBuyCount(id);
+ buyLimitText.text = Language.Get("storename6", storeConfig.LimitCnt - buyCnt, storeConfig.LimitCnt);
+
+ }
+
+ }
+
+}
diff --git a/Main/System/OSActivity/OSRankHeroCallGiftCell.cs.meta b/Main/System/OSActivity/OSRankHeroCallGiftCell.cs.meta
new file mode 100644
index 0000000..88f7b73
--- /dev/null
+++ b/Main/System/OSActivity/OSRankHeroCallGiftCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 002c4b8249e5e3c419d7146aaaa716b9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSRankHeroCallGiftWin.cs b/Main/System/OSActivity/OSRankHeroCallGiftWin.cs
new file mode 100644
index 0000000..e2deacd
--- /dev/null
+++ b/Main/System/OSActivity/OSRankHeroCallGiftWin.cs
@@ -0,0 +1,63 @@
+锘�//--------------------------------------------------------
+// [Author]: 鐜╀釜娓告垙
+// [ Date ]: Tuesday, July 24, 2018
+//--------------------------------------------------------
+
+
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+//寮�鏈嶆椿鍔�-姝﹀皢鎷涘嫙绀煎寘
+public class OSRankHeroCallGiftWin : UIBase
+{
+ [SerializeField] ScrollerController scrollerController;
+
+ protected override void OnPreOpen()
+ {
+ scrollerController.OnRefreshCell += OnRefreshCell;
+ StoreModel.Instance.RefreshBuyShopLimitEvent += RefreshStore;
+ RechargeManager.Instance.rechargeCountEvent += OnRechargeCountEvent;
+ OSActivityManager.Instance.RefreshGiftSortList();
+ Display();
+ }
+
+ protected override void OnPreClose()
+ {
+ scrollerController.OnRefreshCell -= OnRefreshCell;
+ StoreModel.Instance.RefreshBuyShopLimitEvent -= RefreshStore;
+ RechargeManager.Instance.rechargeCountEvent -= OnRechargeCountEvent;
+ }
+
+ void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _cell = cell as OSRankHeroCallGiftCell;
+ _cell.Display(cell.index);
+ }
+
+ void Display()
+ {
+ scrollerController.Refresh();
+ for (int i = 0; i < OSActivityManager.Instance.osHeroCallGiftSortList.Count; i++)
+ {
+ scrollerController.AddCell(ScrollerDataType.Header, i);
+ }
+ scrollerController.Restart();
+
+ }
+
+ void RefreshStore()
+ {
+ scrollerController.m_Scorller.RefreshActiveCellViews();
+ }
+
+ void OnRechargeCountEvent(int id)
+ {
+ scrollerController.m_Scorller.RefreshActiveCellViews();
+ }
+}
+
+
+
+
diff --git a/Main/System/OSActivity/OSRankHeroCallGiftWin.cs.meta b/Main/System/OSActivity/OSRankHeroCallGiftWin.cs.meta
new file mode 100644
index 0000000..4754706
--- /dev/null
+++ b/Main/System/OSActivity/OSRankHeroCallGiftWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a2f6ca07e3517cf4aac0abab1ce8a454
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSRankMainLeveAwardCell.cs b/Main/System/OSActivity/OSRankMainLeveAwardCell.cs
new file mode 100644
index 0000000..f367c7f
--- /dev/null
+++ b/Main/System/OSActivity/OSRankMainLeveAwardCell.cs
@@ -0,0 +1,58 @@
+锘縰sing System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class OSRankMainLeveAwardCell : CellView
+{
+ [SerializeField] Text rankText;
+ [SerializeField] Image rankImg;
+ [SerializeField] ItemCell[] itemCells;
+
+ public void Display(int index)
+ {
+ var rank = index + 1;
+ if (index < 3)
+ {
+ rankImg.SetActive(true);
+ rankText.SetActive(false);
+ rankImg.SetSprite(StringUtility.Contact("Rank", index + 1));
+ }
+ else
+ {
+ rankImg.SetActive(false);
+ rankText.SetActive(true);
+ var keys = OSActivityManager.Instance.mainLevelRankAwards.Keys.ToList();
+ keys.Sort();
+ var startRank = keys[index - 1] + 1;
+ var endRank = keys[index];
+ rank = endRank;
+ if (startRank == endRank)
+ {
+ rankText.text = startRank.ToString();
+ }
+ else
+ {
+ rankText.text = startRank + "-" + endRank;
+ }
+ }
+
+ var award = OSActivityManager.Instance.mainLevelRankAwards[rank];
+ for (int i = 0; i < itemCells.Length; i++)
+ {
+ var itemCell = itemCells[i];
+ if (i < award.Length)
+ {
+ itemCell.SetActive(true);
+ int itemID = award[i][0];
+ itemCell.Init(new ItemCellModel(itemID, true, award[i][1]));
+ itemCell.button.SetListener(() => ItemTipUtility.Show(itemID));
+ }
+ else
+ {
+ itemCell.SetActive(false);
+ }
+ }
+ }
+
+}
diff --git a/Main/System/OSActivity/OSRankMainLeveAwardCell.cs.meta b/Main/System/OSActivity/OSRankMainLeveAwardCell.cs.meta
new file mode 100644
index 0000000..3ddceb6
--- /dev/null
+++ b/Main/System/OSActivity/OSRankMainLeveAwardCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c7c89cdc2160945468c6bc1420bbf405
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSRankMainLeveAwardWin.cs b/Main/System/OSActivity/OSRankMainLeveAwardWin.cs
new file mode 100644
index 0000000..4e083fc
--- /dev/null
+++ b/Main/System/OSActivity/OSRankMainLeveAwardWin.cs
@@ -0,0 +1,82 @@
+锘�//--------------------------------------------------------
+// [Author]: 鐜╀釜娓告垙
+// [ Date ]: Tuesday, July 24, 2018
+//--------------------------------------------------------
+
+
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+//寮�鏈嶆椿鍔�-涓荤嚎鍏冲崱鎺掕濂栧姳
+public class OSRankMainLeveAwardWin : UIBase
+{
+ [SerializeField] ScrollerController scrollerController;
+ [SerializeField] Text myRankText;
+ [SerializeField] Text myRankValueText;
+
+
+ protected override void OnPreOpen()
+ {
+ scrollerController.OnRefreshCell += OnRefreshCell;
+ CreateScroller();
+ DisplayMyRank(3);
+ }
+
+ protected override void OnPreClose()
+ {
+ scrollerController.OnRefreshCell -= OnRefreshCell;
+ }
+
+
+
+
+ void CreateScroller()
+ {
+ var keys = OSActivityManager.Instance.mainLevelRankAwards.Keys;
+
+ scrollerController.Refresh();
+ for (int i = 0; i < keys.Count; i++)
+ {
+ scrollerController.AddCell(ScrollerDataType.Header, i);
+ }
+ scrollerController.Restart();
+ }
+
+ void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _cell = cell.GetComponent<OSRankMainLeveAwardCell>();
+ _cell.Display(cell.index);
+ }
+
+ public void DisplayMyRank(int rankType)
+ {
+ RankData rankData = null;
+ rankData = RankModel.Instance.GetMyRank(rankType);
+ if (rankData == null)
+ {
+ myRankText.text = Language.Get("L1045");
+ myRankValueText.text = "";//Language.Get("L1125");
+ return;
+ }
+ int rank = rankData.rank;
+
+ if (rankData == null)
+ {
+ myRankValueText.text = "";//Language.Get("L1125");
+ }
+ else
+ {
+ myRankValueText.text = RankModel.Instance.GetCmpValueStr(rankType, rankData.cmpValue); ;
+ }
+
+ myRankText.text = Language.Get("L1126") + Language.Get("L1096") + rank.ToString();
+
+ }
+
+}
+
+
+
+
diff --git a/Main/System/OSActivity/OSRankMainLeveAwardWin.cs.meta b/Main/System/OSActivity/OSRankMainLeveAwardWin.cs.meta
new file mode 100644
index 0000000..db10689
--- /dev/null
+++ b/Main/System/OSActivity/OSRankMainLeveAwardWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 70dab80b73c888a4f9342841075f2c98
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/OSActivity/OSRankWin.cs b/Main/System/OSActivity/OSRankWin.cs
new file mode 100644
index 0000000..273e303
--- /dev/null
+++ b/Main/System/OSActivity/OSRankWin.cs
@@ -0,0 +1,61 @@
+锘�//--------------------------------------------------------
+// [Author]: 鐜╀釜娓告垙
+// [ Date ]: Tuesday, July 24, 2018
+//--------------------------------------------------------
+
+
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+//寮�鏈嶆椿鍔�-鎺掕姒� 3 - 寮�鏈嶅叧鍗℃ 锛� 4 - 寮�鏈嶆嫑鍕熸
+public class OSRankWin : PlayerRankWin
+{
+
+ [SerializeField] Text timeText;
+ [SerializeField] Text overTimeText;
+
+
+
+
+ protected override void OnPreOpen()
+ {
+ base.OnPreOpen();
+ GlobalTimeEvent.Instance.secondEvent += OnSecond;
+ ShowTime();
+
+ }
+
+ void ShowTime()
+ {
+ var seconds = OSActivityManager.Instance.GetEndTime(rankType);
+ if (seconds > 0)
+ {
+ timeText.SetActive(true);
+ overTimeText.SetActive(false);
+ timeText.text = TimeUtility.SecondsToShortDHMS(seconds);
+ }
+ else
+ {
+ timeText.SetActive(false);
+ overTimeText.SetActive(true);
+ }
+ }
+
+ protected override void OnPreClose()
+ {
+ base.OnPreClose();
+ GlobalTimeEvent.Instance.secondEvent -= OnSecond;
+ }
+
+ void OnSecond()
+ {
+ ShowTime();
+ }
+
+}
+
+
+
+
diff --git a/Main/System/OSActivity/OSRankWin.cs.meta b/Main/System/OSActivity/OSRankWin.cs.meta
new file mode 100644
index 0000000..2e0b234
--- /dev/null
+++ b/Main/System/OSActivity/OSRankWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0a29b5ea6f0229e45afdfecebbab816e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Store/StoreModel.cs b/Main/System/Store/StoreModel.cs
index d0b8220..35e8337 100644
--- a/Main/System/Store/StoreModel.cs
+++ b/Main/System/Store/StoreModel.cs
@@ -22,7 +22,7 @@
public class StoreModel : GameSystemManager<StoreModel>
{
- public Dictionary<int, List<StoreData>> storeTypeDict { get; private set; } //鎵�鏈夋樉绀哄晢鍝�
+ public Dictionary<int, List<StoreData>> storeTypeDict { get; private set; } //鎵�鏈夋樉绀哄晢鍝� 鍟嗗簵绫诲瀷锛氬晢鍝佸垪琛�
public Dictionary<int, int> shopRefreshCntDict = new Dictionary<int, int>(); //鍒锋柊娆℃暟
private Dictionary<int, int> shopItemlimitDict = new Dictionary<int, int>(); //宸茶喘涔版鏁�
public event Action RefreshBuyShopLimitEvent;
@@ -38,7 +38,7 @@
public int heroSoulRefreshMoney;
public int heroSoulRefreshFreeCount;
- Dictionary<int, List<int>> freeShopDict = new Dictionary<int, List<int>>();
+ public Dictionary<int, List<int>> freeShopDict = new Dictionary<int, List<int>>(); //鍏嶈垂鍟嗗搧 鍟嗗簵绫诲瀷锛氬晢鍝佸垪琛�
public Dictionary<int, int> shopMoneyTypeDict = new Dictionary<int, int>();
public override void Init()
@@ -320,7 +320,7 @@
if (storeConfig.ItemID != 0)
{
- ShopItemInfo shopItem = new ShopItemInfo(storeConfig.ID, storeConfig.ItemCnt);
+ ShopItemInfo shopItem = new ShopItemInfo(storeConfig.ItemID, storeConfig.ItemCnt);
shopItemlist.Add(shopItem);
}
var extraItem = storeConfig.ItemListEx;
@@ -343,7 +343,7 @@
List<int[]> shopItemlist = new List<int[]>();
if (storeConfig.ItemID != 0)
{
- shopItemlist.Add(new int[] { storeConfig.ID, storeConfig.ItemCnt});
+ shopItemlist.Add(new int[] { storeConfig.ItemID, storeConfig.ItemCnt});
}
var extraItem = storeConfig.ItemListEx;
for (int i = 0; i < extraItem.Length; i++)
@@ -372,8 +372,10 @@
}
- //浠欑帀璐拱鐗╁搧鐨勪簩娆$‘璁ゆ锛屼竴绾ц揣甯佸彧鏈変粰鐜� 榛樿涓轰粰鐜夊嵆鍙�
+ //璐у竵璐拱鐨勪簩娆$‘璁ゆ鐨勭‘璁よ褰�
Dictionary<int, bool> buyItemCheckDict = new Dictionary<int, bool>(); //璁板綍鍕鹃�変俊鎭�
+
+ //璐拱鍟嗗簵鐗╁搧鐨勪簩娆$‘璁ゆ
//eventType 浜屾纭妗嗙被鍨嬶紝瀵瑰簲鏋氫妇 BuyStoreItemCheckType
public void SendBuyShopItemWithPopCheck(StoreConfig model, int count, int eventType = 0)
{
@@ -390,7 +392,7 @@
return;
}
- ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), Language.Get("CostMoney", model.MoneyNum, model.MoneyType),
+ ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), Language.Get("BuyStoreItem", model.MoneyNum, model.MoneyType, model.Name),
Language.Get("ConfirmCancel102"), (bool isOk, bool isToggle) =>
{
if (isOk)
@@ -567,7 +569,8 @@
Normal = 1, //1锛氬潑甯�
Guild = 2, //2锛氬叕浼�
Hero = 3, //3锛氬皢榄�
-
+ OSHeroCall = 4, //4锛氬紑鏈嶆嫑鍕熺ぜ鍖�
+
}
--
Gitblit v1.8.0