lzx 10 tuntia sitten
vanhempi
commit
21d31cb3dd

+ 216 - 96
Assets/Res/UI/BoxPanel/BoxPanel.prefab

@@ -1,5 +1,101 @@
 %YAML 1.1
 %TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &322111420540150677
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7837645566193001603}
+  - component: {fileID: 3355923342222034163}
+  - component: {fileID: 1860430562021314936}
+  - component: {fileID: 87060483414581317}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text_OneFree
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7837645566193001603
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 322111420540150677}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 9075403788194047161}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -52.103638}
+  m_SizeDelta: {x: 0, y: -37.7928}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3355923342222034163
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 322111420540150677}
+  m_CullTransparentMesh: 1
+--- !u!114 &1860430562021314936
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 322111420540150677}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 9
+    m_MaxSize: 43
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "1\u5C0F\u65F620\u5206\u949F"
+--- !u!114 &87060483414581317
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 322111420540150677}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0, g: 0, b: 0, a: 1}
+  m_EffectDistance: {x: 1, y: -1}
+  m_UseGraphicAlpha: 1
 --- !u!1 &1240759691706307126
 GameObject:
   m_ObjectHideFlags: 0
@@ -11,7 +107,6 @@ GameObject:
   - component: {fileID: 7858018693182147813}
   - component: {fileID: 8965272612517638377}
   - component: {fileID: 8976664237382821618}
-  - component: {fileID: 6908911704055347136}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: BoxPanel
@@ -89,6 +184,26 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: icon_Oneitem
+    gameObject: {fileID: 448323682004864090}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Icon_TenItem
+    gameObject: {fileID: 6831614674596714349}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_TenFree
+    gameObject: {fileID: 7564254636685150276}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_OneFree
+    gameObject: {fileID: 1860430562021314936}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 1
 --- !u!225 &8976664237382821618
 CanvasGroup:
@@ -102,99 +217,6 @@ CanvasGroup:
   m_Interactable: 1
   m_BlocksRaycasts: 1
   m_IgnoreParentGroups: 0
---- !u!114 &6908911704055347136
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1240759691706307126}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 6a23dadfaa104ddf929b8c98dd02623c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  maxDuration: 0
-  isUpdate: 0
-  currTime: 0.30024773
-  GrpupInfos:
-  - Foldout: 1
-    isActive: 1
-    animName: show
-    isLoop: 0
-    allTargets:
-    - {fileID: 3194501373201481477}
-    - {fileID: 3194501373201481477}
-    TweenAssetInfo: {fileID: 11400000, guid: 3b43306cabdd06a48a5e1cba65050d09, type: 2}
-    TargetFoldout: 1
-    maxDuration: 0
-    isUpdate: 1
-    currTime: 0
-  MinMaxGradient:
-    m_Mode: 0
-    m_GradientMin:
-      serializedVersion: 2
-      key0: {r: 1, g: 1, b: 1, a: 1}
-      key1: {r: 1, g: 1, b: 1, a: 1}
-      key2: {r: 0, g: 0, b: 0, a: 0}
-      key3: {r: 0, g: 0, b: 0, a: 0}
-      key4: {r: 0, g: 0, b: 0, a: 0}
-      key5: {r: 0, g: 0, b: 0, a: 0}
-      key6: {r: 0, g: 0, b: 0, a: 0}
-      key7: {r: 0, g: 0, b: 0, a: 0}
-      ctime0: 0
-      ctime1: 65535
-      ctime2: 0
-      ctime3: 0
-      ctime4: 0
-      ctime5: 0
-      ctime6: 0
-      ctime7: 0
-      atime0: 0
-      atime1: 65535
-      atime2: 0
-      atime3: 0
-      atime4: 0
-      atime5: 0
-      atime6: 0
-      atime7: 0
-      m_Mode: 0
-      m_ColorSpace: -1
-      m_NumColorKeys: 2
-      m_NumAlphaKeys: 2
-    m_GradientMax:
-      serializedVersion: 2
-      key0: {r: 1, g: 1, b: 1, a: 1}
-      key1: {r: 1, g: 1, b: 1, a: 1}
-      key2: {r: 0, g: 0, b: 0, a: 0}
-      key3: {r: 0, g: 0, b: 0, a: 0}
-      key4: {r: 0, g: 0, b: 0, a: 0}
-      key5: {r: 0, g: 0, b: 0, a: 0}
-      key6: {r: 0, g: 0, b: 0, a: 0}
-      key7: {r: 0, g: 0, b: 0, a: 0}
-      ctime0: 0
-      ctime1: 65535
-      ctime2: 0
-      ctime3: 0
-      ctime4: 0
-      ctime5: 0
-      ctime6: 0
-      ctime7: 0
-      atime0: 0
-      atime1: 65535
-      atime2: 0
-      atime3: 0
-      atime4: 0
-      atime5: 0
-      atime6: 0
-      atime7: 0
-      m_Mode: 0
-      m_ColorSpace: -1
-      m_NumColorKeys: 2
-      m_NumAlphaKeys: 2
-    m_ColorMin: {r: 0, g: 0, b: 0, a: 0}
-    m_ColorMax: {r: 0, g: 0, b: 0, a: 0}
-  isLoop: 0
 --- !u!1 &1283798833564440464
 GameObject:
   m_ObjectHideFlags: 0
@@ -703,7 +725,7 @@ GameObject:
   - component: {fileID: 6831614674596714349}
   m_Layer: 0
   m_HasEditorInfo: 1
-  m_Name: myImage
+  m_Name: Icon_TenItem
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -1142,6 +1164,102 @@ CanvasGroup:
   m_Interactable: 1
   m_BlocksRaycasts: 1
   m_IgnoreParentGroups: 0
+--- !u!1 &4417562118974159078
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2188105687983302471}
+  - component: {fileID: 8676950035031905782}
+  - component: {fileID: 7564254636685150276}
+  - component: {fileID: 9205331277890641506}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text_TenFree
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2188105687983302471
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4417562118974159078}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 3111674043955101840}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: -2, y: -52.103638}
+  m_SizeDelta: {x: 0, y: -37.7928}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8676950035031905782
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4417562118974159078}
+  m_CullTransparentMesh: 1
+--- !u!114 &7564254636685150276
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4417562118974159078}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 24
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 9
+    m_MaxSize: 43
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "1\u5C0F\u65F620\u5206\u949F"
+--- !u!114 &9205331277890641506
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4417562118974159078}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0, g: 0, b: 0, a: 1}
+  m_EffectDistance: {x: 1, y: -1}
+  m_UseGraphicAlpha: 1
 --- !u!1 &4923044900321880700
 GameObject:
   m_ObjectHideFlags: 0
@@ -1793,6 +1911,7 @@ RectTransform:
   - {fileID: 2211120389198192458}
   - {fileID: 2934320302541883345}
   - {fileID: 2561986655586709565}
+  - {fileID: 7837645566193001603}
   m_Father: {fileID: 6698958863649085951}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
@@ -1930,6 +2049,7 @@ RectTransform:
   - {fileID: 5786166097279901156}
   - {fileID: 7985587118668684843}
   - {fileID: 6481753042138001888}
+  - {fileID: 2188105687983302471}
   m_Father: {fileID: 6698958863649085951}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
@@ -2121,7 +2241,7 @@ GameObject:
   - component: {fileID: 448323682004864090}
   m_Layer: 0
   m_HasEditorInfo: 1
-  m_Name: myImage
+  m_Name: icon_Oneitem
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0

+ 10 - 6
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -418,22 +418,26 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         public bool isCompleted;
     }
 
+    [System.Serializable]
     public class SummonData
     {
         // 招募ID
         public int id;
 
         //免费招募次数
-        public int freeCount;
+        public int oneFreeCount;
 
         //下一次免费招募时间
-        public long nextFreeTime;
+        public long nextOneFreeTime;
+
+        //十连招募次数
+        public int tenFreeCount;
 
-        //付费招募次数
-        public int payCount;
+        //下一次十连招募时间
+        public long nextTenFreeTime;
 
-        //下一次付费招募时间
-        public long nextPayTime;
+        public int onePayCount;
+        public int tenPayCount;
 
         //保底次数
         public int baodiCount1;

+ 15 - 6
Assets/Scripts/GameLogic/Player/PlayerManager.cs

@@ -33,9 +33,8 @@ public class PlayerManager : Singleton<PlayerManager>
     public HeroInfo myHero;
 
     public HeroInfo yindaoHeroData;
-    
-    
-    
+
+
     public long serverTime => TimeHelper.ServerNow();
     private AccountFileInfo.SmallPlacesData currentPlaces;
 
@@ -282,9 +281,8 @@ public class PlayerManager : Singleton<PlayerManager>
         heroInfo.InitHero(AccountFileInfo.Instance.playerData.heroData);
         myHero = heroInfo;
         myHero.TaoismSkillId = 601011;
-        
-        
-        
+
+
         HeroInfo yindaoHeroData = new HeroInfo();
         yindaoHeroData.InitHero(AccountFileInfo.Instance.playerData.yindaoHeroData);
         yindaoHeroData = heroInfo;
@@ -361,6 +359,17 @@ public class PlayerManager : Singleton<PlayerManager>
                 TimeHelper.GetBaseRefreshTime(TimeHelper.ClientNow());
             AccountFileInfo.Instance.playerData.todayUseExpElixrPanelCount = 0;
             AccountFileInfo.Instance.playerData.todayDivineSensePoint = 0;
+
+            foreach (var playerDataSummonData in AccountFileInfo.Instance.playerData.SummonDatas)
+            {
+                playerDataSummonData.onePayCount = 0;
+                playerDataSummonData.tenPayCount = 0;
+                playerDataSummonData.oneFreeCount = 0;
+                playerDataSummonData.nextOneFreeTime = 0;
+                playerDataSummonData.tenFreeCount = 0;
+                playerDataSummonData.nextTenFreeTime = 0;
+            }
+
             AccountFileInfo.Instance.SavePlayerData();
         }
 

+ 12 - 7
Assets/Scripts/GameLogic/Player/SummonManager.cs

@@ -47,11 +47,13 @@ namespace GameLogic.Player
             if (count == 1)
             {
                 //有免费次数,并且让到时间了就免费抽
-                if (summonData.freeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime >= summonData.nextFreeTime)
+                if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime >= summonData.nextOneFreeTime)
                 {
                     allIitem = Summon(summonData, 1);
 
-                    summonData.nextFreeTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeFreePara[0] * 1000;
+                    summonData.oneFreeCount++;
+                    summonData.onePayCount++;
+                    summonData.nextOneFreeTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeFreePara[0] * 1000;
                 }
                 else
                 {
@@ -60,8 +62,8 @@ namespace GameLogic.Player
                     {
                         PlayerManager.Instance.BagController.DeductCoin(openBoxConfig.oneConsume);
                         allIitem = Summon(summonData, 1);
-
-                        summonData.nextFreeTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeFreePara[0] * 1000;
+                        summonData.onePayCount++;
+                        summonData.nextOneFreeTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeFreePara[0] * 1000;
                     }
                     else
                     {
@@ -73,11 +75,13 @@ namespace GameLogic.Player
             else if (count == 10)
             {
                 //有免费次数,并且让到时间了就免费抽
-                if (summonData.payCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime >= summonData.nextPayTime)
+                if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime >= summonData.nextTenFreeTime)
                 {
                     allIitem = Summon(summonData, 10);
 
-                    summonData.nextPayTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeChargePara[0] * 1000;
+                    summonData.tenFreeCount++;
+                    summonData.tenPayCount++;
+                    summonData.nextTenFreeTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeChargePara[0] * 1000;
                 }
                 else
                 {
@@ -86,7 +90,8 @@ namespace GameLogic.Player
                     {
                         PlayerManager.Instance.BagController.DeductCoin(openBoxConfig.tenConsume);
                         allIitem = Summon(summonData, 10);
-                        summonData.nextPayTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeChargePara[0] * 1000;
+                        summonData.tenPayCount++;
+                        summonData.nextTenFreeTime = PlayerManager.Instance.serverTime + openBoxConfig.oneConsumeChargePara[0] * 1000;
                     }
                     else
                     {

+ 7 - 3
Assets/Scripts/GameUI/EventManager/EventSystemManager.cs

@@ -508,6 +508,9 @@ public class EventSystemManager : Singleton<EventSystemManager>
                 eventList.guid = IdGenerater.GenerateIdInt();
                 eventList.curStep = eventConfig.EventLinksId[0];
                 eventList.selectEventLinkIds.Add(eventConfig.EventLinksId[0]);
+                //记录英雄等级 神识刷出来的战斗等级不变
+                if( PlayerManager.Instance.myHero != null)
+                    eventList.heroLevel = PlayerManager.Instance.myHero.level.Value;
             }
         }
         else
@@ -518,12 +521,13 @@ public class EventSystemManager : Singleton<EventSystemManager>
             eventList.guid = IdGenerater.GenerateIdInt();
             eventList.curStep = eventConfig.EventLinksId[0];
             eventList.selectEventLinkIds.Add(eventConfig.EventLinksId[0]);
+            //记录英雄等级 神识刷出来的战斗等级不变
+            if( PlayerManager.Instance.myHero != null)
+                eventList.heroLevel = PlayerManager.Instance.myHero.level.Value;
         }
 
 
-        //记录英雄等级 神识刷出来的战斗等级不变
-        if( PlayerManager.Instance.myHero != null)
-            eventList.heroLevel = PlayerManager.Instance.myHero.level.Value;
+     
 
         //初始化神识链条,用于监听条件是否完成
         if (eventList != null && eventConfig.EventType != 2)

+ 1 - 1
Assets/Scripts/GameUI/GameApplction.cs

@@ -172,7 +172,7 @@ public class GameApplction : IGameStart
         if (startCombatInfo.CombatType != CombatType.TestCombat)
         {
             MainPanel mainPanel = await MainPanel.OpenPanel();
-            if (AccountFileInfo.Instance.playerData.isTiggerPlot)
+            if (!AccountFileInfo.Instance.playerData.isTiggerPlot)
             {
                 mainPanel.GObjectPoolInterface.SetActive(false);
             }

+ 81 - 10
Assets/Scripts/GameUI/UI/BoxPanel/BoxPanel.cs

@@ -18,7 +18,7 @@ namespace Fort23.Mono
             AccountFileInfo.SummonData summonData = PlayerManager.Instance.SummonManager.summonDataMap[configId];
             OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
             //有免费次数,并且让到时间了就免费抽
-            if (summonData.payCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime >= summonData.nextPayTime)
+            if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime >= summonData.nextTenFreeTime)
             {
                 return PlayerManager.Instance.SummonManager.Summon(configId, 10);
             }
@@ -42,7 +42,7 @@ namespace Fort23.Mono
             AccountFileInfo.SummonData summonData = PlayerManager.Instance.SummonManager.summonDataMap[configId];
             OpenBoxConfig openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(configId);
             //有免费次数,并且让到时间了就免费抽
-            if (summonData.freeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime >= summonData.nextFreeTime)
+            if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime >= summonData.nextOneFreeTime)
             {
                 return PlayerManager.Instance.SummonManager.Summon(configId, 1);
             }
@@ -66,6 +66,7 @@ namespace Fort23.Mono
     public partial class BoxPanel : UIPanel
     {
         private OpenBoxConfig openBoxConfig;
+        private AccountFileInfo.SummonData summonData;
 
         public static async void OpenBoxPanel()
         {
@@ -145,6 +146,7 @@ namespace Fort23.Mono
             List<ItemInfo> allIitem = await BoxHelper.OneBox(openBoxConfig.ID);
             if (allIitem != null)
                 GachaPanel.OpenPanel(allIitem, 1, openBoxConfig.ID);
+            UpdateUi();
         }
 
         private async void TenButtonCallBack()
@@ -153,6 +155,8 @@ namespace Fort23.Mono
             List<ItemInfo> allIitem = await BoxHelper.TenBox(openBoxConfig.ID);
             if (allIitem != null)
                 GachaPanel.OpenPanel(allIitem, 2, openBoxConfig.ID);
+
+            UpdateUi();
         }
 
 
@@ -173,17 +177,84 @@ namespace Fort23.Mono
         {
             CombatController.currActiveCombat.isUpdate = false;
             openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(1);
+            ItemConfig config = ConfigComponent.Instance.Get<ItemConfig>(openBoxConfig.CostItemID);
+            icon_Oneitem.icon_name = config.icon;
+            Icon_TenItem.icon_name = config.icon;
             onCion.text = "x" + openBoxConfig.oneConsume;
             tenCion.text = "x" + openBoxConfig.tenConsume;
+            UpdateUi();
+        }
+
+        [CustomMethod(CustomMethodType.Update)]
+        public void Update()
+        {
+            if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime < summonData.nextTenFreeTime)
+            {
+                int time = (int)(summonData.nextTenFreeTime - PlayerManager.Instance.serverTime);
+                Text_TenFree.text = PlayerManager.TimeToHSM(time/1000);
+            }
+            else
+            {
+                if (Text_TenFree.gameObject.activeSelf)
+                {
+                    Text_TenFree.gameObject.SetActive(false);
+                    tenCion.text = "x" + openBoxConfig.tenConsume;
+                }
+            }
+
+            if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime < summonData.nextOneFreeTime)
+            {
+                int time = (int)(summonData.nextOneFreeTime - PlayerManager.Instance.serverTime);
+                Text_OneFree.text = PlayerManager.TimeToHSM(time/1000);
+            }
+            else
+            {
+                if (Text_OneFree.gameObject.activeSelf)
+                {
+                    Text_OneFree.gameObject.SetActive(false);
+                    onCion.text = "x" + openBoxConfig.oneConsume;
+                }
+            }
+        }
 
-            // if (AccountFileInfo.Instance.playerData.boxFree)
-            // {
-            //     Btn_AdsFree.gameObject.SetActive(false);
-            // }
-            // else
-            // {
-            //     Btn_AdsFree.gameObject.SetActive(true);
-            // }
+        public void UpdateUi()
+        {
+            summonData = PlayerManager.Instance.SummonManager.summonDataMap[1];
+
+
+            if (summonData.tenFreeCount < openBoxConfig.oneConsumeFreePara_1[1] && PlayerManager.Instance.serverTime >= summonData.nextTenFreeTime)
+            {
+                Text_TenFree.gameObject.SetActive(false);
+                tenCion.text = "免费";
+            }
+            //今日次数已用完
+            else if (summonData.tenFreeCount >= openBoxConfig.oneConsumeFreePara_1[1])
+            {
+                Text_TenFree.gameObject.SetActive(false);
+
+                tenCion.text = "x" + openBoxConfig.tenConsume;
+            }
+            else
+            {
+                Text_TenFree.gameObject.SetActive(true);
+                tenCion.text = "x" + openBoxConfig.tenConsume;
+            }
+
+            if (summonData.oneFreeCount < openBoxConfig.oneConsumeFreePara[1] && PlayerManager.Instance.serverTime >= summonData.nextOneFreeTime)
+            {
+                Text_OneFree.gameObject.SetActive(false);
+                onCion.text = "免费";
+            }
+            else if (summonData.oneFreeCount >= openBoxConfig.oneConsumeFreePara[1])
+            {
+                onCion.text = "x" + openBoxConfig.oneConsume;
+                Text_OneFree.gameObject.SetActive(false);
+            }
+            else
+            {
+                onCion.text = "x" + openBoxConfig.oneConsume;
+                Text_OneFree.gameObject.SetActive(true);
+            }
         }
     }
 }

+ 44 - 0
Assets/Scripts/GameUI/UI/BoxPanel/BoxPanelData.cs

@@ -85,6 +85,50 @@ namespace Fort23.Mono
 	      return _Btn_AdsFree;
 	     }
 	   }
+	  private MyImage _icon_Oneitem;
+	  public MyImage icon_Oneitem
+	   {
+	   get{
+	      if (_icon_Oneitem == null)
+	       {
+	         _icon_Oneitem  = GetUIUnit<MyImage>("icon_Oneitem"); 
+	       }
+	      return _icon_Oneitem;
+	     }
+	   }
+	  private MyImage _Icon_TenItem;
+	  public MyImage Icon_TenItem
+	   {
+	   get{
+	      if (_Icon_TenItem == null)
+	       {
+	         _Icon_TenItem  = GetUIUnit<MyImage>("Icon_TenItem"); 
+	       }
+	      return _Icon_TenItem;
+	     }
+	   }
+	  private Text _Text_TenFree;
+	  public Text Text_TenFree
+	   {
+	   get{
+	      if (_Text_TenFree == null)
+	       {
+	         _Text_TenFree  = GetUIUnit<Text>("Text_TenFree"); 
+	       }
+	      return _Text_TenFree;
+	     }
+	   }
+	  private Text _Text_OneFree;
+	  public Text Text_OneFree
+	   {
+	   get{
+	      if (_Text_OneFree == null)
+	       {
+	         _Text_OneFree  = GetUIUnit<Text>("Text_OneFree"); 
+	       }
+	      return _Text_OneFree;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

BIN
Excel2Json/Excel/OpenBox.xlsx


+ 1 - 0
XiuXianGame.sln.DotSettings.user

@@ -28,6 +28,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIGrouping_00602_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5004a53079e04c2991f89460a5186cf010fc00_003Fb1_003F69de2d9e_003FIGrouping_00602_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AINotifyCompletion_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003F64_003Fbb31faf9_003FINotifyCompletion_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AInt32_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F6f_003F6f797d5f_003FInt32_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AInt64_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003Fc2_003Fd9090dcf_003FInt64_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIStyle_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F56d039fe633a4adf8fb266a0b1797e6c17a000_003F0f_003F32e1f086_003FIStyle_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJsonMapper_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc7c8498c81c94b1b853dfc7fe4d8d7fbec00_003F05_003F3709212d_003FJsonMapper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALayerMask_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F6c_003F2226b399_003FLayerMask_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>