From e2d4f9314a5097f961250b5e06b66660dc247312 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 11 十一月 2025 17:05:03 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Main/HomeWin.cs |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs
index 95fce4a..141b0fd 100644
--- a/Main/System/Main/HomeWin.cs
+++ b/Main/System/Main/HomeWin.cs
@@ -1,6 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using DG.Tweening;
 using UnityEngine;
 using UnityEngine.UI;
 
@@ -13,6 +14,8 @@
     //缁忛獙鍖�
     [SerializeField] Text playerLevelText;
     [SerializeField] SmoothSlider expSlider;
+    [SerializeField] UIEffectPlayer fullEffect;
+    [SerializeField] UIEffectPlayer headEffect;
     [SerializeField] Button officialUpBtn;
     [SerializeField] Transform officialTip;
 
@@ -150,6 +153,8 @@
         GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
         HeroUIManager.Instance.OnUnLockHeroCountEvent += OnUnLockHeroCountEvent;
         OfficialRankManager.Instance.OnOfficialCanLVUpEvent += OnOfficialCanLVUpEvent;
+        FirstChargeManager.Instance.OnFirstChargeTaskUpdateEvent += OnFirstChargeTaskUpdateEvent;
+        OfficialRankManager.Instance.RealmMissionRefreshEvent += OnOfficialCanLVUpEvent;
         Display();
         DisplayFirstChargeBtn();
 
@@ -173,7 +178,8 @@
         GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
         HeroUIManager.Instance.OnUnLockHeroCountEvent -= OnUnLockHeroCountEvent;
         OfficialRankManager.Instance.OnOfficialCanLVUpEvent -= OnOfficialCanLVUpEvent;
-
+        FirstChargeManager.Instance.OnFirstChargeTaskUpdateEvent -= OnFirstChargeTaskUpdateEvent;
+        OfficialRankManager.Instance.RealmMissionRefreshEvent -= OnOfficialCanLVUpEvent;
         //  鍏抽棴鐨勬椂鍊欐妸鎴樻枟鐣岄潰涔熺粰鍏充簡 铏界劧鏄湪澶栭潰寮�鐨�
         UIManager.Instance.CloseWindow<BattleWin>();
     }
@@ -211,6 +217,8 @@
                 {
                     lastLV = PlayerDatas.Instance.baseData.LV;
                     lvUPEffect.Play();
+                    fullEffect.Play(closePMA: true);
+                    headEffect.Stop();
                 }
                 playerLevelText.text = PlayerDatas.Instance.baseData.LV.ToString();
                 break;
@@ -260,15 +268,21 @@
     private void UpdatePlayerInfo()
     {
         playerLevelText.text = PlayerDatas.Instance.baseData.LV.ToString();
-        ShowExp();
+        headEffect.transform.localPosition = new Vector3(400 * expSlider.value - 200 - 24, 0, 0);
+        ShowExp(false);
 
     }
 
-    void ShowExp()
+    void ShowExp(bool showEffect = true)
     {
         var lvConfig = PlayerLVConfig.Get(PlayerDatas.Instance.baseData.LV);
         expSlider.value = (float)PlayerDatas.Instance.baseData.curExp / lvConfig.EXP;
         expSlider.Text.text = PlayerDatas.Instance.baseData.curExp + "/" + PlayerLVConfig.Get(PlayerDatas.Instance.baseData.LV).EXP;
+        if (showEffect)
+        {
+            headEffect.transform.DOLocalMove(new Vector3(400 * expSlider.value - 200 - 24, 0, 0), 0.5f);
+            headEffect.Play(closePMA:true);
+        }
     }
 
 
@@ -313,6 +327,7 @@
             getReward.RewardType = 66;
             getReward.DataEx = (uint)TaskManager.Instance.mainTask.TaskID;
             GameNetSystem.Instance.SendInfo(getReward);
+            return;
         }
         
         TaskManager.Instance.ClickTask();
@@ -428,7 +443,7 @@
 
     private void DisplayFirstChargeBtn()
     {
-        bool isFirstChargeFuncOpen = FuncOpen.Instance.IsFuncOpen(FirstChargeManager.FuncID);
+        bool isFirstChargeFuncOpen = FirstChargeManager.Instance.IsFuncOpen();
         if (FirstChargeManager.Instance.IsAllFirstChargeRewardsClaimed() &&
         FirstChargeManager.Instance.IsNextDayAfterAllClaimed())
         {
@@ -438,16 +453,16 @@
         {
             FirstChargeBtn.SetActive(isFirstChargeFuncOpen);
         }
+    }
 
+    private void OnFirstChargeTaskUpdateEvent()
+    {
+        DisplayFirstChargeBtn();
     }
 
     private void OnFuncStateChange(int funcId)
     {
-        if (funcId == FirstChargeManager.FuncID)
-        {
-            DisplayFirstChargeBtn();
-        }
-        else if (funcId == GeneralDefine.mainRightFuncOpenFuncID)
+        if (funcId == GeneralDefine.mainRightFuncOpenFuncID)
         {
             funcColBtn.SetActive(FuncOpen.Instance.IsFuncOpen(GeneralDefine.mainRightFuncOpenFuncID));
         }

--
Gitblit v1.8.0