From 51b0f6ed9f4e1d3bb6f8144470b46908c7699a96 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 11 五月 2026 16:20:37 +0800
Subject: [PATCH] Merge branch 'master' into h5version
---
Main/Utility/EnumHelper.cs | 15
Main/Component/UI/Core/TextLanguageAdapter.cs | 85 ++--
Main/Core/GameEngine/Launch/InitSettingTask.cs | 3
Main/Component/UI/Core/ImageLanguageAdapter.cs.meta | 11
Main/System/CustomizedGift/CustomizedGiftModel.cs | 4
Main/System/HeroDebut/HeroDebutManager.cs | 3
Main/System/TimeRush/TimeRushManager.cs | 5
Main/System/FestivalActivity/FestivalActivityRechargeTotalManager.cs | 3
Main/System/FestivalActivity/FestivalActivityMissionManager.cs | 3
Main/System/HeroUI/HeroBestWin.cs | 34 +
Main/System/BeautyMM/BeautyMMShowWin.cs | 18 +
Main/System/FestivalActivity/FestivalActivityRechargeTotDayManager.cs | 3
Main/System/OpenServerActivity/OpenServerActivityCenter.cs | 322 ++++++++------------
Main/System/FestivalActivity/FestivalActivityManager.cs | 3
Main/System/HeroUI/HeroUIManager.Collect.cs | 55 +++
Main/System/FestivalActivity/FestivalActivityCheckInManager.cs | 3
Main/Utility/UIHelper.cs | 30 +
Main/System/HeroReturn/HeroReturnManager.cs | 3
Main/System/TotDayRecharge/TotDayRechargeManager.cs | 3
Main/System/TotalRecharge/TotalRechargeManager.cs | 3
Main/Component/UI/Core/ImageLanguageAdapter.cs | 279 +++++++++++++++++
Main/System/HeroUI/HeroTrainWin.cs | 23 +
22 files changed, 619 insertions(+), 292 deletions(-)
diff --git a/Main/Component/UI/Core/ImageLanguageAdapter.cs b/Main/Component/UI/Core/ImageLanguageAdapter.cs
new file mode 100644
index 0000000..be81e62
--- /dev/null
+++ b/Main/Component/UI/Core/ImageLanguageAdapter.cs
@@ -0,0 +1,279 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 鍥剧墖缁勪欢绫诲瀷鏋氫妇
+/// </summary>
+public enum ImageComponentType
+{
+ None = 0,
+ Image = 1,
+ ImageEx = 2
+}
+
+/// <summary>
+/// 鍗曚釜璇█鐨勫浘鐗囨帓鐗堝拰閫傞厤鏁版嵁鑺傜偣
+/// </summary>
+[Serializable]
+public class ImageLanguageConfigItem
+{
+ [Header("RectTransform 閰嶇疆")]
+ public Vector2 anchoredPosition = Vector2.zero;
+ public Vector2 sizeDelta = new Vector2(100f, 100f);
+ public Vector2 anchorMin = new Vector2(0.5f, 0.5f);
+ public Vector2 anchorMax = new Vector2(0.5f, 0.5f);
+ public Vector2 pivot = new Vector2(0.5f, 0.5f);
+ public Vector3 localScale = Vector3.one;
+ public Vector3 localRotation = Vector3.zero;
+
+ [Header("Image 閰嶇疆")]
+ public bool enabled = true;
+ public Color color = Color.white;
+ public Image.Type type = Image.Type.Simple;
+ public bool fillCenter = true;
+ public Image.FillMethod fillMethod = Image.FillMethod.Horizontal;
+ public float fillAmount = 1f;
+ public int fillOrigin = 0;
+ public bool preserveAspect = true;
+ public float alphaHitTestMinimumThreshold = 0f;
+ public bool useSpriteMesh = false;
+ public float pixelsPerUnitMultiplier = 1f;
+
+ public void ApplyToRectTransform(RectTransform rt)
+ {
+ if (rt == null) return;
+ rt.anchorMin = anchorMin;
+ rt.anchorMax = anchorMax;
+ rt.pivot = pivot;
+ rt.anchoredPosition = anchoredPosition;
+ rt.sizeDelta = sizeDelta;
+ rt.localScale = localScale;
+ rt.localRotation = Quaternion.Euler(localRotation);
+ }
+
+ public void ReadFromRectTransform(RectTransform rt)
+ {
+ if (rt == null) return;
+ anchorMin = rt.anchorMin;
+ anchorMax = rt.anchorMax;
+ pivot = rt.pivot;
+ anchoredPosition = rt.anchoredPosition;
+ sizeDelta = rt.sizeDelta;
+ localScale = rt.localScale;
+ localRotation = rt.localRotation.eulerAngles;
+ }
+
+ public void ApplyToImage(Image img)
+ {
+ if (img == null) return;
+ img.color = color;
+ img.type = type;
+ img.fillCenter = fillCenter;
+ img.fillMethod = fillMethod;
+ img.fillAmount = fillAmount;
+ img.fillOrigin = fillOrigin;
+ img.preserveAspect = preserveAspect;
+ img.alphaHitTestMinimumThreshold = alphaHitTestMinimumThreshold;
+ img.useSpriteMesh = useSpriteMesh;
+ img.pixelsPerUnitMultiplier = pixelsPerUnitMultiplier;
+ }
+
+ public void ReadFromImage(Image img)
+ {
+ if (img == null) return;
+ color = img.color;
+ type = img.type;
+ fillCenter = img.fillCenter;
+ fillMethod = img.fillMethod;
+ fillAmount = img.fillAmount;
+ fillOrigin = img.fillOrigin;
+ preserveAspect = img.preserveAspect;
+ alphaHitTestMinimumThreshold = img.alphaHitTestMinimumThreshold;
+ useSpriteMesh = img.useSpriteMesh;
+ pixelsPerUnitMultiplier = img.pixelsPerUnitMultiplier;
+ }
+
+ public ImageLanguageConfigItem Clone() => (ImageLanguageConfigItem)MemberwiseClone();
+}
+
+/// <summary>
+/// 鏀寔 Unity 搴忓垪鍖栫殑瀛楀吀
+/// </summary>
+[Serializable]
+public class ImageLanguageConfigDictionary
+{
+ public List<string> keys = new List<string>();
+ public List<ImageLanguageConfigItem> values = new List<ImageLanguageConfigItem>();
+
+ public ImageLanguageConfigItem Get(string key)
+ {
+ if (string.IsNullOrEmpty(key)) return null;
+ int index = keys.IndexOf(key);
+ return index >= 0 ? values[index] : null;
+ }
+
+ public void Set(string key, ImageLanguageConfigItem value)
+ {
+ int index = keys.IndexOf(key);
+ if (index >= 0) values[index] = value;
+ else
+ {
+ keys.Add(key);
+ values.Add(value);
+ }
+ }
+
+ public bool ContainsKey(string key) => keys.Contains(key);
+
+ public void Remove(string key)
+ {
+ int index = keys.IndexOf(key);
+ if (index >= 0)
+ {
+ keys.RemoveAt(index);
+ values.RemoveAt(index);
+ }
+ }
+}
+
+/// <summary>
+/// 澶氳瑷�鍥剧墖鎺掔増閫傞厤鍣�
+/// </summary>
+[RequireComponent(typeof(RectTransform))]
+public class ImageLanguageAdapter : MonoBehaviour
+{
+ public const string DefaultLangId = "default";
+
+ [SerializeField, Tooltip("璇█閰嶇疆瀛楀吀")]
+ private ImageLanguageConfigDictionary m_LanguageConfigs = new ImageLanguageConfigDictionary();
+
+ [SerializeField, Tooltip("鐩爣鍥剧墖缁勪欢绫诲瀷")]
+ private ImageComponentType m_TargetImageType = ImageComponentType.None;
+
+ [SerializeField, Tooltip("鍏宠仈鐨勫浘鐗囩粍浠跺紩鐢�")]
+ private Component m_TargetImageComponent;
+
+ private bool m_IsApplied = false;
+
+ public ImageComponentType TargetImageType
+ {
+ get => m_TargetImageType;
+ set => m_TargetImageType = value;
+ }
+ public Component TargetImageComponent
+ {
+ get => m_TargetImageComponent;
+ set => m_TargetImageComponent = value;
+ }
+ public ImageLanguageConfigDictionary LanguageConfigs => m_LanguageConfigs;
+
+ private void Awake() => DetectTargetComponent();
+
+ private void OnEnable()
+ {
+ if (!Application.isPlaying || !m_IsApplied)
+ {
+ string langId = Application.isPlaying ? Language.Id : DefaultLangId;
+ ApplyConfig(langId);
+ }
+ }
+
+#if UNITY_EDITOR
+ private void Reset()
+ {
+ DetectTargetComponent();
+ if (!HasConfig(DefaultLangId)) ReadCurrentToConfig(DefaultLangId);
+ }
+#endif
+
+ public ImageLanguageConfigItem GetConfig(string languageId) => m_LanguageConfigs.Get(languageId);
+ public void SetConfig(string languageId, ImageLanguageConfigItem config) => m_LanguageConfigs.Set(languageId, config);
+ public void RemoveConfig(string languageId) => m_LanguageConfigs.Remove(languageId);
+ public bool HasConfig(string languageId) => m_LanguageConfigs.ContainsKey(languageId);
+ public List<string> GetConfiguredLanguages() => new List<string>(m_LanguageConfigs.keys);
+
+ public void ApplyConfig(string languageId)
+ {
+ var config = GetConfig(languageId);
+ if (config == null) return;
+
+ config.ApplyToRectTransform(GetComponent<RectTransform>());
+
+ if (m_TargetImageComponent != null)
+ {
+ m_TargetImageComponent.gameObject.SetActive(config.enabled);
+ }
+
+ if (m_TargetImageComponent is Image img)
+ {
+ config.ApplyToImage(img);
+ }
+
+ m_IsApplied = true;
+ }
+
+ public void ReadCurrentToConfig(string languageId)
+ {
+ var config = new ImageLanguageConfigItem();
+ config.ReadFromRectTransform(GetComponent<RectTransform>());
+
+ if (m_TargetImageComponent is Image img)
+ {
+ config.ReadFromImage(img);
+ }
+
+ SetConfig(languageId, config);
+ }
+
+ public static string GetLanguageShowName(string languageId)
+ {
+ if (Language.languageShowDict != null && Language.languageShowDict.TryGetValue(languageId, out string showName))
+ return showName;
+ return languageId;
+ }
+
+ private void DetectTargetComponent()
+ {
+ if (m_TargetImageComponent != null)
+ {
+ DetermineImageType(m_TargetImageComponent);
+ return;
+ }
+
+ m_TargetImageComponent = GetComponent<ImageEx>() ?? GetComponentInChildren<ImageEx>(true) as Component
+ ?? GetComponent<Image>() ?? GetComponentInChildren<Image>(true) as Component;
+
+ DetermineImageType(m_TargetImageComponent);
+ }
+
+ private void DetermineImageType(Component component)
+ {
+ m_TargetImageType = component switch
+ {
+ ImageEx _ => ImageComponentType.ImageEx,
+ Image _ => ImageComponentType.Image,
+ _ => ImageComponentType.None
+ };
+ }
+
+#if UNITY_EDITOR
+ [ContextMenu("鍒锋柊缁勪欢妫�娴�")]
+ public void Editor_ForceRefreshDetection()
+ {
+ DetectTargetComponent();
+ UnityEditor.EditorUtility.SetDirty(this);
+ }
+
+ [ContextMenu("璇诲彇褰撳墠閰嶇疆")]
+ public void Editor_ReadCurrentConfig()
+ {
+ ReadCurrentToConfig(DefaultLangId);
+ UnityEditor.EditorUtility.SetDirty(this);
+ }
+
+ [ContextMenu("搴旂敤榛樿閰嶇疆")]
+ public void Editor_ApplyDefaultConfig() => ApplyConfig(DefaultLangId);
+#endif
+}
\ No newline at end of file
diff --git a/Main/Component/UI/Core/ImageLanguageAdapter.cs.meta b/Main/Component/UI/Core/ImageLanguageAdapter.cs.meta
new file mode 100644
index 0000000..080d21a
--- /dev/null
+++ b/Main/Component/UI/Core/ImageLanguageAdapter.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3ca83c0f98acaca459051c33bb4270dd
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Component/UI/Core/TextLanguageAdapter.cs b/Main/Component/UI/Core/TextLanguageAdapter.cs
index edcd1c2..fea97e7 100644
--- a/Main/Component/UI/Core/TextLanguageAdapter.cs
+++ b/Main/Component/UI/Core/TextLanguageAdapter.cs
@@ -156,11 +156,22 @@
private bool m_IsApplied = false;
- public TextComponentType TargetTextType => m_TargetTextType;
- public Component TargetTextComponent => m_TargetTextComponent;
- public LanguageConfigDictionary LanguageConfigs => m_LanguageConfigs;
-
private void Awake() => DetectTargetComponent();
+
+ // 寮�鏀� set 鏉冮檺锛屽厑璁稿閮ㄦ垨缂栬緫鍣ㄦ墜鍔ㄨ祴鍊�
+ public TextComponentType TargetTextType
+ {
+ get => m_TargetTextType;
+ set => m_TargetTextType = value;
+ }
+
+ public Component TargetTextComponent
+ {
+ get => m_TargetTextComponent;
+ set => m_TargetTextComponent = value;
+ }
+
+ public LanguageConfigDictionary LanguageConfigs => m_LanguageConfigs;
private void OnEnable()
{
@@ -171,19 +182,37 @@
}
}
-#if UNITY_EDITOR
- private void Reset()
- {
- DetectTargetComponent();
- if (!HasConfig(DefaultLangId)) ReadCurrentToConfig(DefaultLangId);
- }
-#endif
-
public LanguageConfigItem GetConfig(string languageId) => m_LanguageConfigs.Get(languageId);
public void SetConfig(string languageId, LanguageConfigItem config) => m_LanguageConfigs.Set(languageId, config);
public void RemoveConfig(string languageId) => m_LanguageConfigs.Remove(languageId);
public bool HasConfig(string languageId) => m_LanguageConfigs.ContainsKey(languageId);
public List<string> GetConfiguredLanguages() => new List<string>(m_LanguageConfigs.keys);
+
+ private void DetectTargetComponent()
+ {
+ if (m_TargetTextComponent != null)
+ {
+ DetermineTextType(m_TargetTextComponent);
+ return;
+ }
+
+ m_TargetTextComponent = GetComponent<TextEx>() ?? GetComponentInChildren<TextEx>(true) as Component
+ ?? GetComponent<GradientText>() ?? GetComponentInChildren<GradientText>(true) as Component
+ ?? GetComponent<Text>() ?? GetComponentInChildren<Text>(true) as Component;
+
+ DetermineTextType(m_TargetTextComponent);
+ }
+
+ private void DetermineTextType(Component component)
+ {
+ m_TargetTextType = component switch
+ {
+ TextEx _ => TextComponentType.TextEx,
+ GradientText _ => TextComponentType.GradientText,
+ Text _ => TextComponentType.Text,
+ _ => TextComponentType.None
+ };
+ }
public void ApplyConfig(string languageId)
{
@@ -212,33 +241,13 @@
return languageId;
}
- private void DetectTargetComponent()
- {
- if (m_TargetTextComponent != null)
- {
- DetermineTextType(m_TargetTextComponent);
- return;
- }
-
- m_TargetTextComponent = GetComponent<GradientText>() ?? GetComponentInChildren<GradientText>(true) as Component
- ?? GetComponent<TextEx>() ?? GetComponentInChildren<TextEx>(true) as Component
- ?? GetComponent<Text>() ?? GetComponentInChildren<Text>(true) as Component;
-
- DetermineTextType(m_TargetTextComponent);
- }
-
- private void DetermineTextType(Component component)
- {
- m_TargetTextType = component switch
- {
- GradientText _ => TextComponentType.GradientText,
- TextEx _ => TextComponentType.TextEx,
- Text _ => TextComponentType.Text,
- _ => TextComponentType.None
- };
- }
-
#if UNITY_EDITOR
+ private void Reset()
+ {
+ DetectTargetComponent();
+ if (!HasConfig(DefaultLangId)) ReadCurrentToConfig(DefaultLangId);
+ }
+
[ContextMenu("鍒锋柊缁勪欢妫�娴�")]
public void Editor_ForceRefreshDetection()
{
diff --git a/Main/Core/GameEngine/Launch/InitSettingTask.cs b/Main/Core/GameEngine/Launch/InitSettingTask.cs
index ee29e0f..e9b6b13 100644
--- a/Main/Core/GameEngine/Launch/InitSettingTask.cs
+++ b/Main/Core/GameEngine/Launch/InitSettingTask.cs
@@ -21,11 +21,14 @@
SystemSetting.Instance.SetSoundVolume(SystemSetting.Instance.GetSoundVolume());
SystemSetting.Instance.SetSoundEffect(SystemSetting.Instance.GetSoundEffect());
+ SystemSetting.Instance.SetMuteMusic(SystemSetting.Instance.GetMuteMusic());
+ SystemSetting.Instance.SetMuteSoundEffect(SystemSetting.Instance.GetMuteSoundEffect());
}).Forget();
// SoundPlayer.Instance.PlayBackGroundMusic(41);
+
SystemSetting.Instance.SetGameFps(SystemSetting.Instance.GetGameFps());
SystemSetting.Instance.LetFPSUnLimit();
diff --git a/Main/System/BeautyMM/BeautyMMShowWin.cs b/Main/System/BeautyMM/BeautyMMShowWin.cs
index a009e78..bd907c6 100644
--- a/Main/System/BeautyMM/BeautyMMShowWin.cs
+++ b/Main/System/BeautyMM/BeautyMMShowWin.cs
@@ -11,6 +11,7 @@
[SerializeField] Image qualityImg;
[SerializeField] Text qualityText1; // 鍝佽川鍒嗕袱瀛楁樉绀猴紝娉ㄦ剰娴峰鐗堟湰
[SerializeField] Text qualityText2;
+ [SerializeField] Text qualityText3;
[SerializeField] Text nameText;
[SerializeField] Button descBtn;
[SerializeField] ImageEx roleImg;
@@ -158,8 +159,21 @@
mmConfig = BeautyConfig.Get(mmID);
qualityImg.SetSprite($"mmMark{mmConfig.BeautyQuality}");
string qualityStr = Language.Get($"CommonQuality{mmConfig.BeautyQuality}");
- qualityText1.text = qualityStr[0].ToString();
- qualityText2.text = qualityStr.Substring(1);
+ string langId = Language.Id;
+ bool isChinese = langId == "zh" || langId == "ft";
+ qualityText1.SetActive(isChinese);
+ qualityText2.SetActive(isChinese);
+ qualityText3.SetActive(!isChinese);
+
+ if (isChinese)
+ {
+ qualityText1.text = qualityStr[0].ToString();
+ qualityText2.text = qualityStr.Substring(1);
+ }
+ else
+ {
+ qualityText3.text = qualityStr;
+ }
nameText.text = mmConfig.Name;
var skinID = BeautyMMManager.Instance.GetUsedSkinID(mmID);
var skinConfig = BeautySkinConfig.Get(skinID);
diff --git a/Main/System/CustomizedGift/CustomizedGiftModel.cs b/Main/System/CustomizedGift/CustomizedGiftModel.cs
index 87ba3c5..f3159dd 100644
--- a/Main/System/CustomizedGift/CustomizedGiftModel.cs
+++ b/Main/System/CustomizedGift/CustomizedGiftModel.cs
@@ -12,9 +12,7 @@
private int GiftAwardRecord; //棰嗗彇鐘舵��
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
public const int activityID = 99999;
- //public const int activityID = (int)NewDayActivityID.CustomizedGiftWin;
public static OperationType operaType = (OperationType)99999999;
//public static OperationType operaType = OperationType.CustomizedGift;
@@ -27,7 +25,7 @@
OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
- OpenServerActivityCenter.Instance.Register(activityID, this, activityType);
+ OpenServerActivityCenter.Instance.Register(activityID, this);
}
diff --git a/Main/System/FestivalActivity/FestivalActivityCheckInManager.cs b/Main/System/FestivalActivity/FestivalActivityCheckInManager.cs
index 26e4a0f..176f2f2 100644
--- a/Main/System/FestivalActivity/FestivalActivityCheckInManager.cs
+++ b/Main/System/FestivalActivity/FestivalActivityCheckInManager.cs
@@ -49,8 +49,7 @@
UpdateRedPoint();
}
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.FestivalActivityCheckInAct;
+ public const int activityID = (int)OperationType.FestivalActivity_CheckIn;
public static OperationType operaType = OperationType.FestivalActivity_CheckIn;
public Redpoint redPoint = new Redpoint(MainRedDot.FestivalActivityRepoint,
diff --git a/Main/System/FestivalActivity/FestivalActivityManager.cs b/Main/System/FestivalActivity/FestivalActivityManager.cs
index 1e2af89..48ad503 100644
--- a/Main/System/FestivalActivity/FestivalActivityManager.cs
+++ b/Main/System/FestivalActivity/FestivalActivityManager.cs
@@ -81,8 +81,7 @@
TryPopWin();
}
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.FestivalActivityAct;
+ public const int activityID = (int)OperationType.FestivalActivity;
public static OperationType operaType = OperationType.FestivalActivity;
public Redpoint redPoint = new Redpoint(MainRedDot.FestivalActivityRepoint);
diff --git a/Main/System/FestivalActivity/FestivalActivityMissionManager.cs b/Main/System/FestivalActivity/FestivalActivityMissionManager.cs
index d506b38..df5ac5d 100644
--- a/Main/System/FestivalActivity/FestivalActivityMissionManager.cs
+++ b/Main/System/FestivalActivity/FestivalActivityMissionManager.cs
@@ -65,8 +65,7 @@
UpdateRedPoint();
}
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.FestivalActivityMissionAct;
+ public const int activityID = (int)OperationType.FestivalActivity_Mission;
public static OperationType operaType = OperationType.FestivalActivity_Mission;
public Redpoint redPoint = new Redpoint(MainRedDot.FestivalActivityRepoint, FestivalActivityManager.Instance.GetRedPointId(FestivalActivityRepointType.Mission));
diff --git a/Main/System/FestivalActivity/FestivalActivityRechargeTotDayManager.cs b/Main/System/FestivalActivity/FestivalActivityRechargeTotDayManager.cs
index 0299911..aec7749 100644
--- a/Main/System/FestivalActivity/FestivalActivityRechargeTotDayManager.cs
+++ b/Main/System/FestivalActivity/FestivalActivityRechargeTotDayManager.cs
@@ -47,8 +47,7 @@
awardRecord = 0;
}
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.FestivalActivityRechargeTotDayAct;
+ public const int activityID = (int)OperationType.FestivalActivity_RechargeTotDay;
public static OperationType operaType = OperationType.FestivalActivity_RechargeTotDay;
// 鎬诲鍔�
public Redpoint redPoint = new Redpoint(
diff --git a/Main/System/FestivalActivity/FestivalActivityRechargeTotalManager.cs b/Main/System/FestivalActivity/FestivalActivityRechargeTotalManager.cs
index 70fc403..88272bb 100644
--- a/Main/System/FestivalActivity/FestivalActivityRechargeTotalManager.cs
+++ b/Main/System/FestivalActivity/FestivalActivityRechargeTotalManager.cs
@@ -48,8 +48,7 @@
awardRecord = 0;
}
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.FestivalActivityRechargeTotalAct;
+ public const int activityID = (int)OperationType.FestivalActivity_RechargeTotal;
public static OperationType operaType = OperationType.FestivalActivity_RechargeTotal;
// 鎬诲鍔�
public Redpoint redPoint = new Redpoint(
diff --git a/Main/System/HeroDebut/HeroDebutManager.cs b/Main/System/HeroDebut/HeroDebutManager.cs
index 0935c63..8358e25 100644
--- a/Main/System/HeroDebut/HeroDebutManager.cs
+++ b/Main/System/HeroDebut/HeroDebutManager.cs
@@ -105,8 +105,7 @@
}
public readonly int sendRankType = 6;
public int loadRankType => actNum * 1000 + sendRankType;
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.HeroDebutAct;
+ public const int activityID = (int)OperationType.HeroDebut;
public static OperationType operaType = OperationType.HeroDebut;
public Redpoint redPoint = new Redpoint(MainRedDot.HeroDebutRepoint);
diff --git a/Main/System/HeroReturn/HeroReturnManager.cs b/Main/System/HeroReturn/HeroReturnManager.cs
index 1d1d3d8..a17df79 100644
--- a/Main/System/HeroReturn/HeroReturnManager.cs
+++ b/Main/System/HeroReturn/HeroReturnManager.cs
@@ -105,8 +105,7 @@
}
public readonly int sendRankType = 6;
public int loadRankType => actNum * 1000 + sendRankType;
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.HeroReturnAct;
+ public const int activityID = (int)OperationType.HeroReturn;
public static OperationType operaType = OperationType.HeroReturn;
public Redpoint redPoint = new Redpoint(MainRedDot.HeroReturnRepoint);
diff --git a/Main/System/HeroUI/HeroBestWin.cs b/Main/System/HeroUI/HeroBestWin.cs
index 4d180ee..f36291c 100644
--- a/Main/System/HeroUI/HeroBestWin.cs
+++ b/Main/System/HeroUI/HeroBestWin.cs
@@ -127,7 +127,7 @@
allAttrScroll.verticalNormalizedPosition = 1;
Display();
HeroUIManager.Instance.skinRedpoint.state = HeroUIManager.Instance.HeroAllSkinStateForRedpoint(HeroUIManager.Instance.selectForPreviewHeroID, true) > 0 ? RedPointState.Simple : RedPointState.None;
-
+
}
@@ -143,7 +143,7 @@
jobPosNameText.text = HeroUIManager.Instance.GetJobName(heroConfig.Class);
descText.text = heroConfig.Desc;
HeroUIManager.Instance.PlayerLHSound(skinID);
-
+
RefreshConn();
normalSkillCell.Init(heroConfig.AtkSkillID, () =>
{
@@ -195,8 +195,17 @@
{
if (heroConfig.FetterIDList.Length > 0)
{
- connetionForm.SetActive(true);
- connetionForm.Display(heroConfig.FetterIDList[0], Language.Get("herocard38") + "\n", true);
+ int fetterID = heroConfig.FetterIDList[0];
+ HeroFetterConfig fetterConfig = HeroFetterConfig.Get(fetterID);
+ if (fetterConfig != null && HeroUIManager.IsFetterAllHeroOpen(fetterConfig))
+ {
+ connetionForm.SetActive(true);
+ connetionForm.Display(fetterID, Language.Get("herocard38") + "\n", true);
+ }
+ else
+ {
+ connetionForm.SetActive(false);
+ }
}
else
{
@@ -223,7 +232,7 @@
}
HeroUIManager.Instance.selectForPreviewHeroID = HeroUIManager.Instance.heroCollectList[resultIndex];
Display();
-
+
//鎺у埗涓�绾у姛鑳界晫闈㈢殑鐨偆鎸夐挳
var ui = UIManager.Instance.GetUI<HeroBestBaseWin>();
if (ui != null)
@@ -332,7 +341,7 @@
}
-
+
void RefreshAllPotential()
{
@@ -396,11 +405,21 @@
//缇佺粖
void RefreshFetter()
{
- if (heroConfig.FetterIDList.Length == 0)
+ if (heroConfig.FetterIDList.IsNullOrEmpty())
{
fetterGo.SetActive(false);
return;
}
+
+ // 妫�鏌ョ涓�涓緛缁婄粍鍚堟槸鍚︽弧瓒冲紑鏈嶅ぉ鏉′欢锛屼笉婊¤冻鍒欓殣钘忔暣涓緛缁婂尯鍩�
+ int firstFetterID = heroConfig.FetterIDList[0];
+ HeroFetterConfig firstFetterConfig = HeroFetterConfig.Get(firstFetterID);
+ if (firstFetterConfig == null || !HeroUIManager.IsFetterAllHeroOpen(firstFetterConfig))
+ {
+ fetterGo.SetActive(false);
+ return;
+ }
+
fetterGo.SetActive(true);
for (int i = 0; i < fetterText.Length; i++)
@@ -528,6 +547,5 @@
}
}
}
-
}
\ No newline at end of file
diff --git a/Main/System/HeroUI/HeroTrainWin.cs b/Main/System/HeroUI/HeroTrainWin.cs
index e34b969..c6daefa 100644
--- a/Main/System/HeroUI/HeroTrainWin.cs
+++ b/Main/System/HeroUI/HeroTrainWin.cs
@@ -373,8 +373,17 @@
{
if (hero.heroConfig.FetterIDList.Length > 0)
{
- connetionForm.SetActive(true);
- connetionForm.Display(hero.heroConfig.FetterIDList[0], Language.Get("herocard38") + "\n", true, guid);
+ int fetterID = hero.heroConfig.FetterIDList[0];
+ HeroFetterConfig fetterConfig = HeroFetterConfig.Get(fetterID);
+ if (fetterConfig != null && HeroUIManager.IsFetterAllHeroOpen(fetterConfig))
+ {
+ connetionForm.SetActive(true);
+ connetionForm.Display(fetterID, Language.Get("herocard38") + "\n", true, guid);
+ }
+ else
+ {
+ connetionForm.SetActive(false);
+ }
}
else
{
@@ -696,6 +705,16 @@
fetterGo.SetActive(false);
return;
}
+
+ // 妫�鏌ョ涓�涓緛缁婄粍鍚堟槸鍚︽弧瓒冲紑鏈嶅ぉ鏉′欢锛屼笉婊¤冻鍒欓殣钘忔暣涓緛缁婂尯鍩�
+ int firstFetterID = hero.heroConfig.FetterIDList[0];
+ HeroFetterConfig firstFetterConfig = HeroFetterConfig.Get(firstFetterID);
+ if (firstFetterConfig == null || !HeroUIManager.IsFetterAllHeroOpen(firstFetterConfig))
+ {
+ fetterGo.SetActive(false);
+ return;
+ }
+
fetterGo.SetActive(true);
for (int i = 0; i < fetterText.Length; i++)
diff --git a/Main/System/HeroUI/HeroUIManager.Collect.cs b/Main/System/HeroUI/HeroUIManager.Collect.cs
index 924e3a2..06a977c 100644
--- a/Main/System/HeroUI/HeroUIManager.Collect.cs
+++ b/Main/System/HeroUI/HeroUIManager.Collect.cs
@@ -162,8 +162,8 @@
HeroConfig heroConfig = HeroConfig.Get(heroID);
if (heroConfig.PlayerCanUse == 0)
continue;
- // 鏂板锛氬紑鏈嶇x澶╂樉绀哄浘閴达紝0琛ㄧず涓嶉檺鍒跺紑鏈嶅ぉ
- if (heroConfig.OpenCollectionDay > 0 && TimeUtility.OpenDay + 1 < heroConfig.OpenCollectionDay)
+ // 寮�鏈嶇x澶╂樉绀哄浘閴达紝0琛ㄧず涓嶉檺鍒跺紑鏈嶅ぉ
+ if (HasOpenCollectionDayLimit(heroID) && !IsOpenCollectionDayMet(heroID))
continue;
if (!heroCollectDict.ContainsKey(heroConfig.Quality))
{
@@ -414,6 +414,57 @@
}
+ #region 寮�鏈嶅ぉ鏁扮浉鍏虫柟娉�
+
+ /// <summary>
+ /// 妫�鏌ユ灏嗘槸鍚﹂厤缃簡寮�鏈嶅睍绀哄ぉ鏁伴檺鍒�
+ /// </summary>
+ /// <param name="heroID">姝﹀皢ID</param>
+ /// <returns>true: 鏈夊紑鏈嶅ぉ闄愬埗; false: 鏃犻檺鍒讹紙OpenCollectionDay==0 鎴栭厤缃笉瀛樺湪锛�</returns>
+ public static bool HasOpenCollectionDayLimit(int heroID)
+ {
+ HeroConfig heroConfig = HeroConfig.Get(heroID);
+ if (heroConfig == null)
+ return false;
+ return heroConfig.OpenCollectionDay > 0;
+ }
+
+ /// <summary>
+ /// 妫�鏌ユ灏嗘槸鍚﹀凡婊¤冻寮�鏈嶅睍绀哄ぉ鏁拌姹傦紙浠呭湪鏈夐檺鍒舵椂璋冪敤鏈夋剰涔夛級
+ /// </summary>
+ /// <param name="heroID">姝﹀皢ID</param>
+ /// <returns>true: 宸叉弧瓒冲睍绀哄ぉ鏁�; false: 灏氭湭婊¤冻</returns>
+ public static bool IsOpenCollectionDayMet(int heroID)
+ {
+ HeroConfig heroConfig = HeroConfig.Get(heroID);
+ if (heroConfig == null)
+ return false;
+ // OpenCollectionDay==0 鏃犻檺鍒讹紝瑙嗕负宸叉弧瓒�
+ if (heroConfig.OpenCollectionDay <= 0)
+ return true;
+ return TimeUtility.OpenDay + 1 >= heroConfig.OpenCollectionDay;
+ }
+
+ /// <summary>
+ /// 妫�鏌ョ緛缁婄粍鍚堜腑鎵�鏈夋灏嗘槸鍚﹂兘婊¤冻寮�鏈嶅睍绀哄ぉ鏁�
+ /// 鍙湁閰嶇疆浜嗗紑鏈嶅ぉ闄愬埗鐨勬灏嗘墠闇�瑕佹鏌ワ紝鏈厤缃檺鍒剁殑姝﹀皢瑙嗕负婊¤冻
+ /// </summary>
+ /// <param name="fetterConfig">缇佺粖閰嶇疆</param>
+ /// <returns>true: 鎵�鏈夋灏嗛兘婊¤冻; false: 鏈夋灏嗕笉婊¤冻</returns>
+ public static bool IsFetterAllHeroOpen(HeroFetterConfig fetterConfig)
+ {
+ for (int i = 0; i < fetterConfig.HeroIDList.Length; i++)
+ {
+ int heroID = fetterConfig.HeroIDList[i];
+ // 鏈夐檺鍒朵絾鏈弧瓒� -> 璇ョ緛缁婁笉鍙樉绀�
+ if (HasOpenCollectionDayLimit(heroID) && !IsOpenCollectionDayMet(heroID))
+ return false;
+ }
+ return true;
+ }
+
+ #endregion
+
#endregion
}
diff --git a/Main/System/OpenServerActivity/OpenServerActivityCenter.cs b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
index 079d10c..7dc7d84 100644
--- a/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
+++ b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
@@ -1,193 +1,129 @@
-锘縰sing System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-//淇敼鎴愭帶鍒跺涓椿鍔ㄦā鍧楋紝濡傜簿褰╂椿鍔ㄦā鏉�1锛岀簿褰╂椿鍔ㄦā鏉�2
-
-public class OpenServerActivityCenter : Singleton<OpenServerActivityCenter>
-{
- public event Action openServerActivityStateChange;
-
- //{娲诲姩妯℃澘锛歿娲诲姩ID锛氭椿鍔ㄦ帴鍙}
- Dictionary<int, Dictionary<int, IOpenServerActivity>> GameServerActivitys = new Dictionary<int, Dictionary<int, IOpenServerActivity>>();
-
- public int selectFuncOrder = -1;
-
- public enum ActivityType
- {
- AT_JCHD = 0, //绮惧僵娲诲姩
- AT_DateActivity, //鏃ユ湡鍨嬫椿鍔�- 鎸夋棩鏈熷紑鏀剧殑鎺掕姒滅郴鍒楁椿鍔ㄧ浉鍏� id浠�200寮�濮嬶紙涓庡叾浠栨椿鍔ㄥ尯鍒嗭紝铏界劧id閲嶅骞舵病鏈夊叧绯伙級锛� 绫诲悓鑺傛棩娲诲姩
- }
-
- public OpenServerActivityCenter()
- {
- TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
- TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
- }
-
- public void Register(int funcOrder, IOpenServerActivity activity, int activityType = (int)ActivityType.AT_JCHD)
- {
- if (!GameServerActivitys.ContainsKey(activityType))
- {
- GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
- }
-
- var openServerActivitys = GameServerActivitys[activityType];
- if (!openServerActivitys.ContainsKey(funcOrder))
- {
- openServerActivitys.Add(funcOrder, activity);
- activity.onStateUpdate -= OnStateUpdate;
- activity.onStateUpdate += OnStateUpdate;
- }
- }
-
- private void OnStateUpdate(int _order)
- {
- if (openServerActivityStateChange != null)
- {
- openServerActivityStateChange();
- }
- }
-
- private void OnServerOpenDayRefresh()
- {
- if (openServerActivityStateChange != null)
- {
- openServerActivityStateChange();
- }
- }
-
- public bool IsAnyActivityOpen(out int _functionOrder, int activityType = (int)ActivityType.AT_JCHD)
- {
- if (!GameServerActivitys.ContainsKey(activityType))
- {
- GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
- }
-
- var openServerActivitys = GameServerActivitys[activityType];
- _functionOrder = 0;
- foreach (var _order in openServerActivitys.Keys)
- {
- if (openServerActivitys[_order].IsOpen || openServerActivitys[_order].IsAdvance)
- {
- _functionOrder = _order;
- return true;
- }
- }
- return false;
- }
-
- public bool IsActivityOpen(int _funcOrder, int activityType = (int)ActivityType.AT_JCHD)
- {
- if (!GameServerActivitys.ContainsKey(activityType))
- {
- GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
- }
-
- bool isOpen = false;
- var openServerActivitys = GameServerActivitys[activityType];
- if (openServerActivitys.ContainsKey(_funcOrder))
- {
- isOpen = openServerActivitys[_funcOrder].IsOpen || openServerActivitys[_funcOrder].IsAdvance;
- }
-
- return isOpen;
- }
-
- public bool IsPriorityOpenOpen(int _funcOrder, int activityType = (int)ActivityType.AT_JCHD)
- {
- if (!GameServerActivitys.ContainsKey(activityType))
- {
- GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
- }
-
- var openServerActivitys = GameServerActivitys[activityType];
- if (openServerActivitys.ContainsKey(_funcOrder))
- {
- return openServerActivitys[_funcOrder].priorityOpen;
- }
- return false;
- }
-
-
-
-
- public void ProcessErrorTip()
- {
- SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
- }
-
- //AT_Activity2 鏃ユ湡鍨嬫椿鍔�-榛樿璁捐閮芥槸鍚屼竴涓叆鍙o紝鏍规嵁娲诲姩鏇挎崲鍥炬爣鍜屽悕绉帮紝鎵撳紑涓嶅悓鐣岄潰
- public NewDayActivityInfo GetNewDayActionEnterInfo()
- {
- // if (IsActivityOpen((int)NewDayActivityID.BossTrial, (int)ActivityType.AT_Activity2))
- // {
- // return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.BossTrial, redpointID = MainRedDot.BossTrialRepoint, winName = "BossTrialActWin" };
- // }
- // else if (IsActivityOpen((int)NewDayActivityID.SecretPlaceXB, (int)ActivityType.AT_Activity2))
- // {
- // return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.SecretPlaceXB, redpointID = MainRedDot.MjxbRedpoint, winName = "SecretPlaceActWin" };
- // }
- // else if (IsActivityOpen((int)NewDayActivityID.PetHorseAct, (int)ActivityType.AT_Activity2))
- // {
- // return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.PetHorseAct, redpointID = MainRedDot.QCTrainActRedpoint, winName = "PetHorseActWin" };
- // }
- // else if (IsActivityOpen((int)NewDayActivityID.TreasurePavilionAct, (int)ActivityType.AT_Activity2))
- // {
- // return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.TreasurePavilionAct, redpointID = MainRedDot.TreasurePavilionRankActRepoint, winName = "TreasurePavilionRankActWin" };
- // }
-
- return new NewDayActivityInfo() { activityID = 0 };
- }
-
- //AT_Activity2 鍏ュ彛淇℃伅
- public struct NewDayActivityInfo
- {
- public int activityID;
- public int redpointID;
- public string winName;
- }
-}
-
-public interface IOpenServerActivity
-{
- bool IsOpen { get; }
- bool IsAdvance { get; }
- bool priorityOpen { get; }
-
- event Action<int> onStateUpdate;
-}
-
-public class ILOpenServerActivityProxy : IOpenServerActivity
-{
- public bool IsOpen => funcIsOpen();
-
- public bool IsAdvance => funcIsAdvance();
-
- public bool priorityOpen => funcPriorityOpen();
-
- public event Action<int> onStateUpdate;
-
- private Func<bool> funcIsOpen;
- private Func<bool> funcIsAdvance;
- private Func<bool> funcPriorityOpen;
-
- public ILOpenServerActivityProxy(Func<bool> isOpen, Func<bool> isAdvance, Func<bool> priorityOpen)
- {
- funcIsOpen = isOpen;
- funcIsAdvance = isAdvance;
- funcPriorityOpen = priorityOpen;
- }
-
-
- public void StateUpdate(int id)
- {
- if (onStateUpdate != null)
- {
- onStateUpdate(id);
- }
- }
-
-}
-
-
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+//淇敼鎴愭帶鍒跺涓椿鍔ㄦā鍧楋紝濡傜簿褰╂椿鍔ㄦā鏉�1锛岀簿褰╂椿鍔ㄦā鏉�2
+
+public class OpenServerActivityCenter : Singleton<OpenServerActivityCenter>
+{
+ public event Action openServerActivityStateChange;
+
+ //{娲诲姩ID锛氭椿鍔ㄦ帴鍙
+ Dictionary<int, IOpenServerActivity> GameServerActivitys = new Dictionary<int, IOpenServerActivity>();
+
+ public int selectFuncOrder = -1;
+
+ public OpenServerActivityCenter()
+ {
+ TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
+ TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
+ }
+
+ public void Register(int funcOrder, IOpenServerActivity activity)
+ {
+ if (!GameServerActivitys.ContainsKey(funcOrder))
+ {
+ GameServerActivitys.Add(funcOrder, activity);
+ activity.onStateUpdate -= OnStateUpdate;
+ activity.onStateUpdate += OnStateUpdate;
+ }
+ }
+
+ private void OnStateUpdate(int _order)
+ {
+ if (openServerActivityStateChange != null)
+ {
+ openServerActivityStateChange();
+ }
+ }
+
+ private void OnServerOpenDayRefresh()
+ {
+ if (openServerActivityStateChange != null)
+ {
+ openServerActivityStateChange();
+ }
+ }
+
+ public bool IsAnyActivityOpen(out int _functionOrder)
+ {
+ _functionOrder = 0;
+ foreach (var _order in GameServerActivitys.Keys)
+ {
+ if (GameServerActivitys[_order].IsOpen || GameServerActivitys[_order].IsAdvance)
+ {
+ _functionOrder = _order;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public bool IsActivityOpen(int _funcOrder)
+ {
+ bool isOpen = false;
+ if (GameServerActivitys.ContainsKey(_funcOrder))
+ {
+ isOpen = GameServerActivitys[_funcOrder].IsOpen || GameServerActivitys[_funcOrder].IsAdvance;
+ }
+
+ return isOpen;
+ }
+
+ public bool IsPriorityOpenOpen(int _funcOrder)
+ {
+ if (GameServerActivitys.ContainsKey(_funcOrder))
+ {
+ return GameServerActivitys[_funcOrder].priorityOpen;
+ }
+ return false;
+ }
+
+
+
+ public void ProcessErrorTip()
+ {
+ SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
+ }
+}
+
+public interface IOpenServerActivity
+{
+ bool IsOpen { get; }
+ bool IsAdvance { get; }
+ bool priorityOpen { get; }
+
+ event Action<int> onStateUpdate;
+}
+
+public class ILOpenServerActivityProxy : IOpenServerActivity
+{
+ public bool IsOpen => funcIsOpen();
+
+ public bool IsAdvance => funcIsAdvance();
+
+ public bool priorityOpen => funcPriorityOpen();
+
+ public event Action<int> onStateUpdate;
+
+ private Func<bool> funcIsOpen;
+ private Func<bool> funcIsAdvance;
+ private Func<bool> funcPriorityOpen;
+
+ public ILOpenServerActivityProxy(Func<bool> isOpen, Func<bool> isAdvance, Func<bool> priorityOpen)
+ {
+ funcIsOpen = isOpen;
+ funcIsAdvance = isAdvance;
+ funcPriorityOpen = priorityOpen;
+ }
+
+
+ public void StateUpdate(int id)
+ {
+ if (onStateUpdate != null)
+ {
+ onStateUpdate(id);
+ }
+ }
+
+}
diff --git a/Main/System/TimeRush/TimeRushManager.cs b/Main/System/TimeRush/TimeRushManager.cs
index 364d752..5b803f9 100644
--- a/Main/System/TimeRush/TimeRushManager.cs
+++ b/Main/System/TimeRush/TimeRushManager.cs
@@ -26,8 +26,7 @@
}
}
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.TimeRushAct;
+ public const int activityID = (int)OperationType.TimeRush;
public int actNum = 10;
public static OperationType operaType = OperationType.TimeRush;
public Redpoint redPoint = new Redpoint(MainRedDot.TimeRushRepoint);
@@ -68,7 +67,7 @@
OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
StoreModel.Instance.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
//storeModel.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
- OpenServerActivityCenter.Instance.Register(activityID, this, activityType);
+ OpenServerActivityCenter.Instance.Register(activityID, this);
var config = FuncConfigConfig.Get("TimeRush");
windowIDDict = ConfigParse.ParseIntDict(config.Numerical1);
diff --git a/Main/System/TotDayRecharge/TotDayRechargeManager.cs b/Main/System/TotDayRecharge/TotDayRechargeManager.cs
index b2a7871..78bb223 100644
--- a/Main/System/TotDayRecharge/TotDayRechargeManager.cs
+++ b/Main/System/TotDayRecharge/TotDayRechargeManager.cs
@@ -47,8 +47,7 @@
awardRecord = 0;
}
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.TotDayRechargeAct;
+ public const int activityID = (int)OperationType.TotDayRecharge;
public static OperationType operaType = OperationType.TotDayRecharge;
// 鎬诲鍔�
public Redpoint redPoint = new Redpoint(MainRedDot.RedPoint_OSGala, MainRedDot.RedPoint_OSGala * 10 + 6);
diff --git a/Main/System/TotalRecharge/TotalRechargeManager.cs b/Main/System/TotalRecharge/TotalRechargeManager.cs
index 2a23413..c78de92 100644
--- a/Main/System/TotalRecharge/TotalRechargeManager.cs
+++ b/Main/System/TotalRecharge/TotalRechargeManager.cs
@@ -48,8 +48,7 @@
awardRecord = 0;
}
- public const int activityType = (int)OpenServerActivityCenter.ActivityType.AT_DateActivity;
- public const int activityID = (int)NewDayActivityID.TotalRechargeAct;
+ public const int activityID = (int)OperationType.TotalRecharge;
public static OperationType operaType = OperationType.TotalRecharge;
// 鎬诲鍔�
public Redpoint redPoint = new Redpoint(MainRedDot.RedPoint_OSGala, MainRedDot.RedPoint_OSGala * 10 + 5);
diff --git a/Main/Utility/EnumHelper.cs b/Main/Utility/EnumHelper.cs
index a0618e8..845f48a 100644
--- a/Main/Utility/EnumHelper.cs
+++ b/Main/Utility/EnumHelper.cs
@@ -1810,21 +1810,6 @@
Mount,
}
-//OpenServerActivityCenter.ActivityType.AT_Activity2鐨勬椿鍔� 鍘嗗彶鍘熷洜涓嶈鐢�100
-public enum NewDayActivityID
-{
- TimeRushAct = 200, //杞洖娈�(姝﹀皢鍐插埡)
- HeroDebutAct = 201, //鑻遍泟鐧诲満娲诲姩
- HeroReturnAct = 202, //鑻遍泟杩斿満娲诲姩
- TotalRechargeAct = 203, //绱厖娲诲姩
- TotDayRechargeAct = 204, //绱厖澶╂椿鍔�
- FestivalActivityAct = 205, //鑺傛棩娲诲姩
- FestivalActivityRechargeTotalAct = 206,
- FestivalActivityRechargeTotDayAct = 207,
- FestivalActivityCheckInAct = 208,
- FestivalActivityMissionAct = 209, //鑺傛棩娲诲姩-浠诲姟
-}
-
//浠欑帀璐拱鐨勪簩娆$‘璁ゆ绫诲瀷
public enum BuyStoreItemCheckType
{
diff --git a/Main/Utility/UIHelper.cs b/Main/Utility/UIHelper.cs
index 8cb49c4..43a23f7 100644
--- a/Main/Utility/UIHelper.cs
+++ b/Main/Utility/UIHelper.cs
@@ -237,10 +237,17 @@
/// </summary>
public static string ReplaceLargeNum(double num, int decimalPlaces = 1)
{
- const long K = 10000; //鍥藉唴涓轰竾锛屾捣澶栦负鍗�
- const long M = K * 10000;
- const long B = M * 10000;
- const long T = B * 10000;
+ // 鑾峰彇褰撳墠璇█鐘舵��
+ string langId = Language.Id;
+ bool isChinese = langId == "zh" || langId == "ft";
+
+ // 绠�绻佷腑鏂囦竾杩涘埗 (10000)锛屽叾浠栧崈杩涘埗 (1000)
+ long baseUnit = isChinese ? 10000 : 1000;
+
+ long K = baseUnit;
+ long M = K * baseUnit;
+ long B = M * baseUnit;
+ long T = B * baseUnit;
if (num >= T)
{
@@ -267,10 +274,17 @@
//鐢ㄤ簬缇庢湳瀛� 缁熶竴鐢ㄥ瓧姣岾MBT浠h〃浣跨敤锛屽皬鏁扮偣鐢�.
public static string ReplaceLargeArtNum(double num)
{
- const long K = 10000; //鍥藉唴涓轰竾锛屾捣澶栦负鍗�
- const long M = K * 10000;
- const long B = M * 10000;
- const long T = B * 10000;
+ // 鑾峰彇褰撳墠璇█鐘舵��
+ string langId = Language.Id;
+ bool isChinese = langId == "zh" || langId == "ft";
+
+ // 绠�绻佷腑鏂囦竾杩涘埗 (10000)锛屽叾浠栧崈杩涘埗 (1000)
+ long baseUnit = isChinese ? 10000 : 1000;
+
+ long K = baseUnit;
+ long M = K * baseUnit;
+ long B = M * baseUnit;
+ long T = B * baseUnit;
if (num >= T)
{
--
Gitblit v1.8.0