فهرست منبع

Merge branch 'master' of http://10.108.64.190:3000/gfg/client

# Conflicts:
#	GameClient/Assets/ResIn/UI/Main/Main_fui.bytes
beiguoxia 1 سال پیش
والد
کامیت
ec702510a2
21فایلهای تغییر یافته به همراه327 افزوده شده و 204 حذف شده
  1. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle2.cs
  2. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle3.cs
  3. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle4.cs
  4. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle5.cs
  5. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle6.cs
  6. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle7.cs
  7. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompStoryLevelItem.cs
  8. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryChapterUI.cs
  9. 21 16
      GameClient/Assets/Game/HotUpdate/Sound/MusicManager.cs
  10. 9 1
      GameClient/Assets/Game/HotUpdate/Sound/SoundManager.cs
  11. 16 5
      GameClient/Assets/Game/HotUpdate/Sound/VoiceManager.cs
  12. 1 1
      GameClient/Assets/Game/HotUpdate/Views/Common/Controller/LuckyBoxController.cs
  13. 47 2
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs
  14. 115 172
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs
  15. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterListView.cs
  16. 8 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs
  17. 66 2
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/SettingView.cs
  18. 1 3
      GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs
  19. BIN
      GameClient/Assets/ResIn/UI/League/League_fui.bytes
  20. BIN
      GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes
  21. BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle2.cs

@@ -9,8 +9,10 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u3u";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle2";
@@ -60,15 +62,19 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle3.cs

@@ -9,8 +9,10 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u3y";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle3";
@@ -60,15 +62,19 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle4.cs

@@ -9,9 +9,11 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
         public GTextField m_txtTime;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u310";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle4";
@@ -61,17 +63,21 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
             m_txtTime = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle5.cs

@@ -10,9 +10,11 @@ namespace UI.League
         public Controller m_showText;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
         public GTextField m_txtTime;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u312";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle5";
@@ -63,18 +65,22 @@ namespace UI.League
             m_showText = comp.GetController("showText");
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
             m_txtTime = (GTextField)comp.GetChild("txtTime");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_showText = null;
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
             m_txtTime = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle6.cs

@@ -9,8 +9,10 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u314";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle6";
@@ -60,15 +62,19 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_effect = (GGraph)comp.GetChild("effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_ButtonModle7.cs

@@ -9,8 +9,10 @@ namespace UI.League
         public GButton target;
         public GGraph m_holder;
         public GGraph m_holder1;
+        public GGraph m_Effect;
         public GLoader m_icon1;
         public GLoader m_loaLockIcon;
+        public Transition m_t0;
         public const string URL = "ui://tw70qm9du2u316";
         public const string PACKAGE_NAME = "League";
         public const string RES_NAME = "ButtonModle7";
@@ -60,15 +62,19 @@ namespace UI.League
         {
             m_holder = (GGraph)comp.GetChild("holder");
             m_holder1 = (GGraph)comp.GetChild("holder1");
+            m_Effect = (GGraph)comp.GetChild("Effect");
             m_icon1 = (GLoader)comp.GetChild("icon1");
             m_loaLockIcon = (GLoader)comp.GetChild("loaLockIcon");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_holder = null;
             m_holder1 = null;
+            m_Effect = null;
             m_icon1 = null;
             m_loaLockIcon = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_CompStoryLevelItem.cs

@@ -20,6 +20,7 @@ namespace UI.Main
         public UI_CompFlower2 m_flower;
         public GGraph m_holder;
         public Transition m_t0;
+        public Transition m_t1;
         public const string URL = "ui://mfvz4q8ko4m7fqd";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "CompStoryLevelItem";
@@ -80,6 +81,7 @@ namespace UI.Main
             m_flower = (UI_CompFlower2)UI_CompFlower2.Create(comp.GetChild("flower"));
             m_holder = (GGraph)comp.GetChild("holder");
             m_t0 = comp.GetTransition("t0");
+            m_t1 = comp.GetTransition("t1");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -98,6 +100,7 @@ namespace UI.Main
             m_flower = null;
             m_holder = null;
             m_t0 = null;
+            m_t1 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryChapterUI.cs

@@ -25,6 +25,7 @@ namespace UI.Main
         public UI_CompBonusBox m_bonusBox1;
         public GTextField m_txtStarCount;
         public GLoader m_switchChapter;
+        public Transition m_t0;
         public const string URL = "ui://mfvz4q8km7n51u";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "StoryChapterUI";
@@ -90,6 +91,7 @@ namespace UI.Main
             m_bonusBox1 = (UI_CompBonusBox)UI_CompBonusBox.Create(comp.GetChild("bonusBox1"));
             m_txtStarCount = (GTextField)comp.GetChild("txtStarCount");
             m_switchChapter = (GLoader)comp.GetChild("switchChapter");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -115,6 +117,7 @@ namespace UI.Main
             m_bonusBox1 = null;
             m_txtStarCount = null;
             m_switchChapter = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 21 - 16
GameClient/Assets/Game/HotUpdate/Sound/MusicManager.cs

@@ -11,9 +11,9 @@ namespace GFGGame
         private string currentName;
         private AssetOperationHandle handle;
         private Coroutine coroutine;
-        private float normalVolumn = 1f;
-        private float curVolume = 1f;
-        private float changeValue = 0.01f;
+        private float settingVolumn = 1f;       // 设置音量
+        private float tempVolume = 1f;          // 临时音量
+        private float changeBaseValue = 0.01f;  // 缓动单位改变基数
 
         private bool _isOn = true;
         public bool isOn
@@ -43,16 +43,14 @@ namespace GFGGame
             }
         }
 
+
         private void Awake()
         {
             player = this.gameObject.AddComponent<AudioSource>();
             player.loop = true;
             isOn = LocalCache.GetBool(LauncherConfig.MUSIC_KEY, true);
-        }
-
-        private void Start()
-        {
-
+            settingVolumn = LocalCache.GetFloat(LauncherConfig.MUSIC_VOLUMN_KEY, 1);
+            player.volume = settingVolumn;
         }
 
         private void Update()
@@ -62,21 +60,23 @@ namespace GFGGame
                 return;
             }
 
+            // 播放语音时背景音乐变小
             if (VoiceManager.Instance.IsPlaying())
             {
-                curVolume = 0.17f;
+                tempVolume = 0.17f;
             }
             else
             {
-                curVolume = normalVolumn;
+                tempVolume = settingVolumn;
             }
 
-            if (player.volume != curVolume)
+            // 音量缓动变化
+            if (player.volume != tempVolume)
             {
-                player.volume = Mathf.Lerp(player.volume, curVolume, changeValue);
-                if (Mathf.Abs(player.volume - curVolume) <= 0.05)
+                player.volume = Mathf.Lerp(player.volume, tempVolume, changeBaseValue);
+                if (Mathf.Abs(player.volume - tempVolume) <= 0.05)
                 {
-                    player.volume = curVolume;
+                    player.volume = tempVolume;
                 }
             }
         }
@@ -135,9 +135,14 @@ namespace GFGGame
             player.volume = volume;
         }
 
-        public void SetNormalVolumn(float volume)
+        public void SetSettingVolumn(float volume)
+        {
+            settingVolumn = volume;
+        }
+
+        public float GetSettingVolumn()
         {
-            normalVolumn = volume;
+            return settingVolumn;
         }
     }
 }

+ 9 - 1
GameClient/Assets/Game/HotUpdate/Sound/SoundManager.cs

@@ -11,6 +11,7 @@ namespace GFGGame
         private AudioSource player;
         private AssetOperationHandle handle;
         private Coroutine coroutine;
+        private float _lastVolumn = 1;
 
         private bool _isOn = true;
         public bool isOn
@@ -26,10 +27,11 @@ namespace GFGGame
                     _isOn = value;
                     if(_isOn)
                     {
-                        GRoot.inst.soundVolume = 1;
+                        GRoot.inst.soundVolume = _lastVolumn;
                     }
                     else
                     {
+                        _lastVolumn = GRoot.inst.soundVolume;
                         GRoot.inst.soundVolume = 0;
                         Stop();
                     }
@@ -42,6 +44,7 @@ namespace GFGGame
         {
             player = this.gameObject.AddComponent<AudioSource>();
             isOn = LocalCache.GetBool(LauncherConfig.SOUND_KEY, true);
+            player.volume = LocalCache.GetFloat(LauncherConfig.SOUND_VOLUMN_KEY, 1);
         }
 
         private void Start() 
@@ -81,5 +84,10 @@ namespace GFGGame
             player.Stop();
         }
 
+        public void SetVolumn(float volumn)
+        {
+            GRoot.inst.soundVolume = volumn;
+        }
+
     }
 }

+ 16 - 5
GameClient/Assets/Game/HotUpdate/Sound/VoiceManager.cs

@@ -28,14 +28,14 @@ namespace GFGGame
                     _isOn = value;
                     if (_isOn)
                     {
-                        GRoot.inst.soundVolume = 1;
+                        //player.volume = 1;
                     }
                     else
                     {
-                        GRoot.inst.soundVolume = 0;
+                        //player.volume = 0;
                         Stop();
                     }
-                    LocalCache.SetBool(LauncherConfig.SOUND_KEY, _isOn);
+                    LocalCache.SetBool(LauncherConfig.VOICE_KEY, _isOn);
                 }
             }
         }
@@ -46,12 +46,13 @@ namespace GFGGame
             player.priority = 256;
             //设置这个声音会大一些
             player.spatialBlend = 1f;
-            isOn = LocalCache.GetBool(LauncherConfig.SOUND_KEY, true);
+            isOn = LocalCache.GetBool(LauncherConfig.VOICE_KEY, true);
+            player.volume = LocalCache.GetFloat(LauncherConfig.VOICE_VOLUMN_KEY, 1);
         }
 
         public void LoadRes(string path)
         {
-            if (!YooAssets.CheckResExist(path))
+            if (!isOn || !YooAssets.CheckResExist(path))
             {
                 return;
             }
@@ -139,5 +140,15 @@ namespace GFGGame
         {
             return player.isPlaying;
         }
+
+        public void SetVolumn(float volumn)
+        {
+            player.volume = volumn;
+        }
+
+        public float GetVolumn()
+        {
+            return player.volume;
+        }
     }
 }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/Common/Controller/LuckyBoxController.cs

@@ -238,7 +238,7 @@ namespace GFGGame
 
         private void ChangeModelAlpha(int index, float value)
         {
-            if (modelInfos[index].cubismModels == null)
+            if (modelInfos[index] == null || modelInfos[index].cubismModels == null)
             {
                 return;
             }

+ 47 - 2
GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs

@@ -11,12 +11,28 @@ namespace GFGGame
     {
         private UI_LeagueUI _ui;
         private EffectUI _effectUI1;
-
+        private EffectUI _effectUI2;
+        private EffectUI _effectUI3;
+        private EffectUI _effectUI4;
+        private EffectUI _effectUI5;
+        private EffectUI _effectUI6;
+        private EffectUI _effectUI7;
         public override void Dispose()
         {
             EffectUIPool.Recycle(_effectUI1);
             _effectUI1 = null;
-
+            EffectUIPool.Recycle(_effectUI2);
+            _effectUI2 = null;
+            EffectUIPool.Recycle(_effectUI3);
+            _effectUI3 = null;
+            EffectUIPool.Recycle(_effectUI4);
+            _effectUI4 = null;
+            EffectUIPool.Recycle(_effectUI5);
+            _effectUI5 = null;
+            EffectUIPool.Recycle(_effectUI6);
+            _effectUI6 = null;
+            EffectUIPool.Recycle(_effectUI7);
+            _effectUI7 = null;
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -52,6 +68,12 @@ namespace GFGGame
             _ui.m_btnRule.data = 300015;
 
             _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_holderfBgEff, "ui_Small_parts", "YaJi_Ui");
+            _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_btnPray.m_effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI3 = EffectUIPool.CreateEffectUI(_ui.m_btnSkill.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI4 = EffectUIPool.CreateEffectUI(_ui.m_btnAnswer.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI5 = EffectUIPool.CreateEffectUI(_ui.m_btnParty.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI6 = EffectUIPool.CreateEffectUI(_ui.m_btnGift.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
+            _effectUI7 = EffectUIPool.CreateEffectUI(_ui.m_btnShop.m_Effect, "ui_Small_parts", "YaJi_TuBiao");
         }
 
         protected override void AddEventListener()
@@ -149,6 +171,7 @@ namespace GFGGame
             UpdateValue();
             UpdateButton();
             UpdateRedDot();
+            UpdateEffect();
         }
         private void UpdateInfo()
         {
@@ -227,6 +250,28 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(_ui.m_btnParty.target, RedDotDataManager.Instance.GetLeagueTeaPartyRed(), "", -440, 60);
         }
 
+        private void UpdateEffect()
+        {
+            _ui.m_btnPray.m_effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnGift.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnParty.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnAnswer.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnSkill.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnShop.m_Effect.scale = new Vector2(0.8f, 0.8f);
+            _ui.m_btnPray.m_t0.Play();
+            _ui.m_btnGift.m_t0.Play();
+            _ui.m_btnParty.m_t0.Play();
+            _ui.m_btnAnswer.m_t0.Play();
+            _ui.m_btnSkill.m_t0.Play();
+            _ui.m_btnShop.m_t0.Play();
+            _ui.m_btnPray.m_icon1.visible = false;
+            _ui.m_btnGift.m_icon1.visible = false;
+            _ui.m_btnParty.m_icon1.visible = false;
+            _ui.m_btnAnswer.m_icon1.visible = false;
+            _ui.m_btnSkill.m_icon1.visible = false;
+            _ui.m_btnShop.m_icon1.visible = false;
+        }
+
         private async void GetTeapartyMatchingInfos()
         {
             bool result = await LeagueSproxy.GetTeapartyMatchingInfos(RoleDataManager.roleId);

+ 115 - 172
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs

@@ -21,14 +21,15 @@ namespace GFGGame
 
         private DressUpObjUI _dressUpObjUIChangXi;
 
-        private bool isActiveBoxOpen = false;
+        Dictionary<int,GObject> _listActivityBtnObj = new Dictionary<int, GObject>();
+
         private int _activeBoxId = 0;
         private int _curIndex = 0;
         private int _activityId = 0;
+        private bool scrollTouch = true;  //左右箭头点击等滑动完成后才可以再次点击
 
         public override void Dispose()
         {
-
             // Clear Effect
             foreach (var v in _effectUIDic)
             {
@@ -76,19 +77,15 @@ namespace GFGGame
 
             _dressUpObjUIXiHe = new DressUpObjUI("SceneDressUp");
             _dressUpObjUIChangXi = new DressUpObjUI("SceneDressUp");
-            // _ui.m_txtRemainTimes.visible = false;
             _valueBarController = new ValueBarController(_ui.m_valueBar);
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
-            // _ui.m_btnHome.onClick.Add(OnClickBtnHome);
 
             _ui.m_btnLeft.onClick.Add(OnBtnLeftClick);
             _ui.m_btnRight.onClick.Add(OnBtnRightClick);
 
-            // _ui.m_listBg.SetVirtual();
             _ui.m_listBg.itemRenderer = RenderListBgItem;
-            // _ui.m_listBg.itemProvider = GetListItemResource;
+            _ui.m_listBg.SetVirtualAndLoop();
             _ui.m_listBg.scrollPane.onScrollEnd.Add(OnScrollEnd);
-
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zx_bg");
         }
         protected override void AddEventListener()
@@ -141,154 +138,62 @@ namespace GFGGame
 
             LuckyBoxDataManager.Instance.currentBoxId = boxId;
 
-            bool actLimitTsyOpen = LuckyBoxDataManager.Instance.GetActLimitTsyOpen();
-            if (_activeBoxId > 0)
-                Timers.inst.Add(1, 0, CheckTime);
-            if (actLimitTsyOpen)// && LuckyBoxDataManager.Instance.currentBoxId == LuckyBoxDataManager.BOX_ID_2
-                Timers.inst.Add(1, 0, UpdateTime);
-
             _curIndex = LuckyBoxDataManager.Instance.luckyBoxIds.IndexOf(boxId);
+            LuckyBoxDataManager.Instance.luckyBoxIndex = _curIndex;
+            _listActivityBtnObj.Clear();
+            foreach (var v in _effectUIDic)
+            {
+                EffectUIPool.Recycle(v.Value);
+            }
+            _effectUIDic.Clear();
             _ui.m_listBg.numItems = LuckyBoxDataManager.Instance.luckyBoxIds.Count;
             _ui.m_listBg.ScrollToView(_curIndex);
             _ui.m_listBg.scrollPane.decelerationRate = 0.8f;
-            LuckyBoxDataManager.Instance.luckyBoxIndex = _curIndex;
 
             OnListBgScroll();
-            updateBoxEffect();
-
-            Timers.inst.AddUpdate(CheckGuide);
-            Timers.inst.Add(1f, 0, OnTimerUpdate, 1);
-        }
-
-        private async void GetWishingPoolInfo(int activityId)
-        {
-            bool result = await LuckyBoxSProxy.ReqGetWishingPoolInfo();
-            if (result)
-            {
-                int index = LuckyBoxDataManager.Instance.KsActivityId.IndexOf(activityId);
-                if (index < 0 || !LuckyBoxDataManager.Instance.VsStatus[index])
-                    ViewManager.Show<LuckyBoxWishView>(ConstLimitTimeActivityType.ActLimitTsy);
-            }
-        }
 
-        private void OnTimerUpdate(object param)
-        {
-            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
-            long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
-            GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
-            UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
-            if (freeTime > 0)
-            {
-                long timeDifference = freeTime - TimeHelper.ServerNow();
-                if (timeDifference > 0)
-                {
-                    comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 0;
-                    comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = true;
-                    string strFreeTime = TimeUtil.FormattingTimeTo_DDHHmm(timeDifference);
-                    comBox.m_comLuckBoxBtn.m_txtFreeTime.text = string.Format("{0}后免费", strFreeTime);
-                }
-                else
-                {
-                    comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 1;
-                    comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = false;
-                }
-                RedDotController.Instance.SetComRedDot(comBox.m_comLuckBoxBtn.m_btnBuyOne, comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex == 1, "", -29, 9);
-            }
+            bool actLimitTsyOpen = LuckyBoxDataManager.Instance.GetActLimitTsyOpen();
+            //时间倒计时
+            if (_activeBoxId > 0)
+                Timers.inst.Add(1, 0, CheckTime);
+            //第二个活动的倒计时
+            if (actLimitTsyOpen)// && LuckyBoxDataManager.Instance.currentBoxId == LuckyBoxDataManager.BOX_ID_2
+                Timers.inst.Add(1, 0, UpdateTime);
 
-            RedDotController.Instance.SetComRedDot(_ui.m_btnLeft, LuckyBoxDataManager.Instance.RedBtnLeft(_curIndex));
-            RedDotController.Instance.SetComRedDot(_ui.m_btnRight, LuckyBoxDataManager.Instance.RedBtnRight(_curIndex),"",-60,70);
-            UI_ComBox1.ProxyEnd();
+            Timers.inst.AddUpdate(CheckGuide);
         }
 
         private void RenderListBgItem(int index, GObject obj)
         {
+            UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[index];
-
-        }
-
-        private void OnBtnLeftClick()
-        {
-            int index = _curIndex - 1;
-            if (index < 0) return;
-            _ui.m_listBg.ScrollToView(index, true);
-
-            if (_activityId > 0 && index + 1 == LuckyBoxDataManager.BOX_ID_2)
-                GetWishingPoolInfo(_activityId);
-        }
-
-        private void OnBtnRightClick()
-        {
-            int index = _curIndex + 1;
-            // if (index >= LuckyBoxDataManager.Instance.luckyBoxIds.Count) return;
-            index = Mathf.Min(_ui.m_listBg.numItems - 1, index);
-            _ui.m_listBg.ScrollToView(index, true);
-
-            if (_activityId > 0 && index + 1 == LuckyBoxDataManager.BOX_ID_2)
-                GetWishingPoolInfo(_activityId);
-        }
-
-        private void OnScrollEnd()
-        {
-            // 未更新滚动位置的时候,不更新,防止不停的播放渐入动画
-            int index = _ui.m_listBg.GetFirstChildInView();
-            if(index == _curIndex)
-            {
-                return;
-            }
-            OnListBgScroll();
-        }
-
-        private void OnListBgScroll()
-        {
-            if (_luckyBoxCtrl.ContainsKey(LuckyBoxDataManager.Instance.currentBoxId)) _luckyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnHide();
-            _curIndex = _ui.m_listBg.GetFirstChildInView();
-            LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
-            if (LuckyBoxDataManager.Instance.currentBoxId == LuckyBoxDataManager.BOX_ID_3)
-            {
-                _valueBarController.Controller(3);
-            }
-            else
-            {
-                _valueBarController.Controller(4);
-            }
-            _valueBarController.UpdateCJ();
-
-
-            UpdateListItem();
-            _ui.m_btnLeft.grayed = _curIndex <= 0;
-            _ui.m_btnRight.grayed = _curIndex >= _ui.m_listBg.numItems - 1;
-            LuckyBoxDataManager.Instance.luckyBoxIndex = _curIndex;
-        }
-
-        List<GObject> _listActivityBtnObj = new List<GObject>();
-        private void UpdateListItem()
-        {
-            int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
             LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
             LuckyBoxDataManager.Instance.InitData(boxId);
+            if(!_listActivityBtnObj.ContainsKey(boxId))
+                _listActivityBtnObj.Add(boxId,obj);
+            else
+                _listActivityBtnObj[boxId] = obj;
 
-            GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
-            UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
-            _listActivityBtnObj.Add(obj);
             int activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitTsy);
             if (activityId > 0 && boxId == LuckyBoxDataManager.BOX_ID_2)
             {
                 comBox.m_showActivityType.selectedIndex = 1;
                 UpGiftBox(comBox);
             }
-            else 
+            else
                 comBox.m_showActivityType.selectedIndex = 0;
 
-            if (!_luckyBoxCtrl.ContainsKey(boxId))
+            if (_luckyBoxCtrl.ContainsKey(boxId))
             {
-                _luckyBoxCtrl.Add(boxId, new LuckyBoxController(comBox.m_comModel.target));
+                _luckyBoxCtrl[boxId].Dispose();
+                _luckyBoxCtrl.Remove(boxId);
             }
 
-            _luckyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnShown(LuckyBoxDataManager.Instance.currentBoxId);
-
-            if(boxId != LuckyBoxDataManager.BOX_ID_3)
+            _luckyBoxCtrl.Add(boxId, new LuckyBoxController(comBox.m_comModel.target));
+            
+            if (boxId != LuckyBoxDataManager.BOX_ID_3)
             {
-                if(!_effectUIDic.ContainsKey("Button_Text_DianCang" + boxId))
+                if (!_effectUIDic.ContainsKey("Button_Text_DianCang" + boxId))
                 {
                     _effectUIDic.Add("Button_Text_DianCang" + boxId, EffectUIPool.CreateEffectUI(comBox.m_comLuckBoxBtn.m_Special_eff, "ui_LuckyBox", "Button_Text_DianCang"));
                 }
@@ -300,17 +205,9 @@ namespace GFGGame
                     EffectUIPool.Recycle(_effectUIDic["Button_Text_DianCang" + boxId]);
                     _effectUIDic.Remove("Button_Text_DianCang" + boxId);
                 }
-
             }
-            //comBox.m_comLuckBoxBtn.m_imgSpecial.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
 
-            //GGraph holder = comBox.m_comLuckBoxBtn.m_btnBuyTen.GetChild("holder").asGraph;
-            //holder.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
             comBox.m_comLuckBoxBtn.m_holder.visible = boxId != LuckyBoxDataManager.BOX_ID_3;
-
-
-            //_effectUI1 = EffectUIPool.CreateEffectUI(holder, "ui_LuckyBox", "Button_Glow");
-
             comBox.m_comLuckBoxBtn.m_comCostOne.m_txtCost.text = cfg.costNum.ToString();
             comBox.m_comLuckBoxBtn.m_comCostOne.m_loaCost.url = ResPathUtil.GetCommonGameResPath(ItemCfgArray.Instance.GetCfg(cfg.costID).res);
 
@@ -324,8 +221,13 @@ namespace GFGGame
 
             if (comBox.m_comLuckBoxBtn.m_btnBuyTen.data == null)
             {
+                string strKey = "Button_public" + boxId;
+                if (_effectUIDic.ContainsKey(strKey)) {
+                    EffectUIPool.Recycle(_effectUIDic[strKey]);
+                    _effectUIDic.Remove(strKey);
+                }
                 comBox.m_comLuckBoxBtn.m_btnBuyTen.onClick.Add(OnClickBtnBuyTen);
-                _effectUIDic.Add("Button_public" + boxId, EffectUIPool.CreateEffectUI(comBox.m_comLuckBoxBtn.m_btnBuyTen_eff, "ui_LuckyBox", "Button_public"));
+                _effectUIDic.Add(strKey, EffectUIPool.CreateEffectUI(comBox.m_comLuckBoxBtn.m_btnBuyTen_eff, "ui_LuckyBox", "Button_public"));
             }
             comBox.m_comLuckBoxBtn.m_btnBuyTen.data = boxId;
 
@@ -350,19 +252,79 @@ namespace GFGGame
             {
                 long endTime = LuckyBoxDataManager.Instance.endTime;
                 long curTime = TimeHelper.ServerNow();
-                // TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
                 long time = endTime - curTime;
                 string strTime = time > TimeUtil.SECOND_PER_DAY * 100 ? TimeUtil.FormattingTimeTo_DDHHmm(time) : TimeUtil.FormattingTimeTo_HHmmss(time);
                 comBox.m_txtTime.text = string.Format("轮换倒计时:{0}", strTime);
-                //comBox.m_loaTitle.url = "ui://LuckyBox/zx_title_1";
             }
-            else
+            
+            UI_ComBox1.ProxyEnd();
+        }
+
+        private async void GetWishingPoolInfo(int activityId)
+        {
+            bool result = await LuckyBoxSProxy.ReqGetWishingPoolInfo();
+            if (result)
             {
-                //comBox.m_loaTitle.url = string.Format("ui://LuckyBox/zx_title_{0}", boxId);
+                int index = LuckyBoxDataManager.Instance.KsActivityId.IndexOf(activityId);
+                if (index < 0 || !LuckyBoxDataManager.Instance.VsStatus[index])
+                    ViewManager.Show<LuckyBoxWishView>(ConstLimitTimeActivityType.ActLimitTsy);
             }
-            UI_ComBox1.ProxyEnd();
-            UpdateListItemData();
+        }
+
+        private void OnBtnLeftClick()
+        {
+            if (!scrollTouch) return;
+            scrollTouch = false;
+            int index = _curIndex - 1;
+            _ui.m_listBg.ScrollToView(index, true);
+            if (_activityId > 0 && index + 1 == LuckyBoxDataManager.BOX_ID_2)
+                GetWishingPoolInfo(_activityId);
+        }
+
+        private void OnBtnRightClick()
+        {
+            if (!scrollTouch) return;
+            scrollTouch = false;
+            int index = _curIndex + 1;
+            _ui.m_listBg.ScrollToView(index, true);
+            if (_activityId > 0 && index + 1 == LuckyBoxDataManager.BOX_ID_2)
+                GetWishingPoolInfo(_activityId);
+        }
+
+        private void OnScrollEnd()
+        {
+            scrollTouch = true;
+            // 未更新滚动位置的时候,不更新,防止不停的播放渐入动画
+            int index = _ui.m_listBg.GetFirstChildInView();
+            if (index == _curIndex)
+            {
+                return;
+            }
+            OnListBgScroll();
+        }
+
+        private void OnListBgScroll()
+        {
+            LuckyBoxController valueBox;
+            _luckyBoxCtrl.TryGetValue(LuckyBoxDataManager.Instance.currentBoxId, out valueBox);
+
+            if (valueBox != null) 
+                _luckyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnHide();
+
+            _curIndex = _ui.m_listBg.GetFirstChildInView();
+
+            LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
+            if (LuckyBoxDataManager.Instance.currentBoxId == LuckyBoxDataManager.BOX_ID_3)
+                _valueBarController.Controller(3);
+            else
+                _valueBarController.Controller(4);
+
+            _valueBarController.UpdateCJ();
+
+            _luckyBoxCtrl[LuckyBoxDataManager.Instance.currentBoxId].OnShown(LuckyBoxDataManager.Instance.currentBoxId);
+            LuckyBoxDataManager.Instance.luckyBoxIndex = _curIndex;
             UpdateFreeInfo();
+            UpdateListItemData();
         }
 
         private void UpdateBtnReward()
@@ -446,20 +408,16 @@ namespace GFGGame
             var list = activityInfoByTypeList
                 .Where(a => a.EndTime > TimeInfo.Instance.ServerNow()).ToList();
             if (list.Count == 0)
-            {
                 PromptController.Instance.ShowFloatTextPrompt("活动已结束");
-            }
             else
-            {
                 ViewManager.Show<RushSaleGiftBoxView>(new object[] { ActivityType.XSLB3, this.viewData });
-            }
         }
 
         private void UpdateListItemData()
         {
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
             LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
-            GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
+            GObject obj = _listActivityBtnObj[boxId];
             UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
             LuckyBoxDataManager.Instance.GetOwnedCount(boxId, out int count, out int totalCount);
             comBox.m_txtOwned.SetVar("v1", "" + count).FlushVars();
@@ -503,7 +461,6 @@ namespace GFGGame
                 PromptController.Instance.ShowFloatTextPrompt("活动已结束");
                 Timers.inst.Remove(UpdateTime);
                 endTime = curTime;
-                //OnClickBtnBack();
             }
             TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
             textField.asTextField.text = "概率提升剩余: " + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
@@ -514,20 +471,13 @@ namespace GFGGame
             //=====限时礼包倒计时END
         }
 
-        private void updateBoxEffect()
-        {
-            if (isActiveBoxOpen)
-            {
-
-            }
-        }
-
         private void OnClickBtnPreview(EventContext context)
         {
             GObject obj = context.sender as GObject;
             int boxId = (int)obj.data;
             ViewManager.Show<LuckyBoxPreShowView>(boxId);
         }
+
         private void OnClickBtnBuyOne(EventContext context)
         {
             GetSuitItemController.showSingle = true;
@@ -606,10 +556,8 @@ namespace GFGGame
                 _luckyBoxCtrl[key].OnHide();
             }
 
-            Timers.inst.Remove(OnTimerUpdate);
             Timers.inst.Remove(CheckTime);
             Timers.inst.Remove(UpdateTime);
-            // Timers.inst.Remove(UpdateBg);
             Timers.inst.Remove(CheckGuide);
             Debug.Log("OnHide:  LuckyBoxView");
         }
@@ -627,30 +575,20 @@ namespace GFGGame
         private void OnClickBtnBack()
         {
             Reset();
-            //this.Hide();
             ViewManager.GoBackFrom(typeof(LuckyBoxView).FullName);
         }
 
-        private void OnClickBtnHome()
-        {
-            GameController.GoBackToMainView();
-        }
-
         private void Reset()
         {
             LuckyBoxDataManager.Instance.currentBoxId = LuckyBoxDataManager.Instance.luckyBoxIds[0];
-
         }
+
         private void CheckGuide(object param)
         {
             if (GuideDataManager.IsGuideFinish(ConstGuideId.LUCKY_BOX) <= 0)
-            {
                 UpdateToCheckGuide(null);
-            }
             else
-            {
                 Timers.inst.Remove(CheckGuide);
-            }
         }
 
         protected override void UpdateToCheckGuide(object param)
@@ -675,16 +613,19 @@ namespace GFGGame
         private void UpdateFreeInfo()
         {
             int boxId = LuckyBoxDataManager.Instance.luckyBoxIds[_curIndex];
-            LuckyBoxCfg cfg = LuckyBoxCfgArray.Instance.GetCfg(boxId);
             long freeTime = LuckyBoxDataManager.Instance.GetFreeTime(boxId);
-            GObject obj = _ui.m_listBg.GetChildAt(_curIndex);
+            GObject obj = _listActivityBtnObj[boxId];
             UI_ComBox1 comBox = UI_ComBox1.Proxy(obj);
             if (freeTime > 0)
             {
+                long timeDifference = freeTime - TimeHelper.ServerNow();
+
                 if (freeTime > TimeHelper.ServerNow())
                 {
                     comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 0;
                     comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = true;
+                    string strFreeTime = TimeUtil.FormattingTimeTo_DDHHmm(timeDifference);
+                    comBox.m_comLuckBoxBtn.m_txtFreeTime.text = string.Format("{0}后免费", strFreeTime);
                 }
                 else
                 {
@@ -697,8 +638,10 @@ namespace GFGGame
                 comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex = 0;
                 comBox.m_comLuckBoxBtn.m_txtFreeTime.visible = false;
             }
-            RedDotController.Instance.SetComRedDot(comBox.m_comLuckBoxBtn.m_btnBuyOne, comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex == 1, "", -29, 9);
 
+            RedDotController.Instance.SetComRedDot(comBox.m_comLuckBoxBtn.m_btnBuyOne, comBox.m_comLuckBoxBtn.m_comCostOne.m_c1.selectedIndex == 1, "", -29, 9);
+            RedDotController.Instance.SetComRedDot(_ui.m_btnLeft, LuckyBoxDataManager.Instance.RedBtnLeft(_curIndex));
+            RedDotController.Instance.SetComRedDot(_ui.m_btnRight, LuckyBoxDataManager.Instance.RedBtnRight(_curIndex), "", -60, 70);
             UI_ComBox1.ProxyEnd();
         }
     }

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterListView.cs

@@ -71,7 +71,7 @@ namespace GFGGame
             DoSpecialEffect();//初始化调用
             Timers.inst.AddUpdate(CheckGuide);
             _ui.m_openViewAction.Play();
-
+            
 
         }
 

+ 8 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs

@@ -115,6 +115,7 @@ namespace GFGGame
         {
             base.OnShown();
             _ui.target.touchable = false;
+            GRoot.inst.touchable = false;
             SuitFosterProxy.SendGetSuitInfos().Coroutine();
             MusicManager.Instance.PlayCroutine(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
             if ((this.viewData as object[]) != null)
@@ -150,7 +151,12 @@ namespace GFGGame
 
             _valueBarController.OnShown();
 
-            _ui.target.touchable = true;
+            _ui.m_t0.Play(() =>
+            {
+                _ui.target.touchable = true;
+                GRoot.inst.touchable = true;
+            });
+            
 
             Timers.inst.AddUpdate(CheckGuide);
 
@@ -162,6 +168,7 @@ namespace GFGGame
             _unPasslevelItem = null;
             _endLevelItem = null;
             // _ui.m_chapter.RemoveChildren(0, 0, true);
+            GRoot.inst.touchable = true;
             _valueBarController.OnHide();
             Timers.inst.Remove(SetContainerY);
             Timers.inst.Remove(CheckGuide);

+ 66 - 2
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/SettingView.cs

@@ -11,6 +11,8 @@ namespace GFGGame
         private EffectUI _effectUI1;
         private EffectUI _effectUI2;
 
+        private readonly float disabledVolumnSliderAlpha = 0.25f;
+
         public override void Dispose()
         {
             EffectUIPool.Recycle(_effectUI1);
@@ -39,6 +41,13 @@ namespace GFGGame
             _ui.m_btnLogout.onClick.Add(OnClickBtnLogout);
             _ui.m_btnSound.onClick.Add(OnClickBtnSound);
             _ui.m_btnMusic.onClick.Add(OnClickBtnMusic);
+            _ui.m_btnVoice.onClick.Add(OnClickBtnVoice);
+            _ui.m_btnChooseMainBg.onClick.Add(OnClickBtnChangeMainBg);
+
+            _ui.m_voiceSlider.onChanged.Add(OnChangeVoiceVolumn);
+            _ui.m_musicSlider.onChanged.Add(OnChangeMusicVolumn);
+            _ui.m_soundSlider.onChanged.Add(OnChangeSoundVolumn);
+
             AddEffect();
         }
 
@@ -46,8 +55,7 @@ namespace GFGGame
         {
             base.OnShown();
             AddEffect();
-            _ui.m_btnSound.selected = SoundManager.Instance.isOn;
-            _ui.m_btnMusic.selected = MusicManager.Instance.isOn;
+            InitVolumnSetting();
         }
 
         protected override void OnHide()
@@ -87,13 +95,69 @@ namespace GFGGame
         private void OnClickBtnSound()
         {
             SoundManager.Instance.isOn = _ui.m_btnSound.selected;
+            _ui.m_soundSlider.touchable = SoundManager.Instance.isOn;
+            _ui.m_soundSlider.alpha = SoundManager.Instance.isOn ? 1 : disabledVolumnSliderAlpha;
 
         }
 
         private void OnClickBtnMusic()
         {
             MusicManager.Instance.isOn = _ui.m_btnMusic.selected;
+            _ui.m_musicSlider.touchable = MusicManager.Instance.isOn;
+            _ui.m_musicSlider.alpha = MusicManager.Instance.isOn ? 1 : disabledVolumnSliderAlpha;
+        }
+
+        private void OnClickBtnVoice()
+        {
+            VoiceManager.Instance.isOn = _ui.m_btnVoice.selected;
+            _ui.m_voiceSlider.touchable = VoiceManager.Instance.isOn;
+            _ui.m_voiceSlider.alpha = VoiceManager.Instance.isOn ? 1 : disabledVolumnSliderAlpha;
+        }
+
+        private void OnChangeVoiceVolumn()
+        {
+            float volumn = (float)_ui.m_voiceSlider.value / 100;
+            VoiceManager.Instance.SetVolumn(volumn);
+            Debug.LogError(volumn);
+            LocalCache.SetFloat(LauncherConfig.VOICE_VOLUMN_KEY, volumn);
+        }
+
+        private void OnChangeMusicVolumn()
+        {
+            float volumn = (float)_ui.m_musicSlider.value / 100;
+            MusicManager.Instance.SetSettingVolumn(volumn);
+            MusicManager.Instance.SetVolume(volumn);
+            LocalCache.SetFloat(LauncherConfig.MUSIC_VOLUMN_KEY, volumn);
+        }
+
+        private void OnChangeSoundVolumn()
+        {
+            float volumn = (float)_ui.m_soundSlider.value / 100;
+            SoundManager.Instance.SetVolumn(volumn);
+            LocalCache.SetFloat(LauncherConfig.SOUND_VOLUMN_KEY, volumn);
+        }
+
+        private void OnClickBtnChangeMainBg()
+        {
+            ViewManager.Show<MainBgChooseView>();
+        }
+
+        private void InitVolumnSetting()
+        {
+            _ui.m_btnMusic.selected = MusicManager.Instance.isOn;
+            _ui.m_musicSlider.touchable = MusicManager.Instance.isOn;
+            _ui.m_musicSlider.alpha = MusicManager.Instance.isOn ? 1 : disabledVolumnSliderAlpha;
+            _ui.m_musicSlider.value = MusicManager.Instance.GetSettingVolumn() * 100;
+
+            _ui.m_btnSound.selected = SoundManager.Instance.isOn;
+            _ui.m_soundSlider.touchable = SoundManager.Instance.isOn;
+            _ui.m_soundSlider.alpha = SoundManager.Instance.isOn ? 1 : disabledVolumnSliderAlpha;
+            _ui.m_soundSlider.value = GRoot.inst.soundVolume * 100;
 
+            _ui.m_btnVoice.selected = VoiceManager.Instance.isOn;
+            _ui.m_voiceSlider.touchable = VoiceManager.Instance.isOn;
+            _ui.m_voiceSlider.alpha = VoiceManager.Instance.isOn ? 1 : disabledVolumnSliderAlpha;
+            _ui.m_voiceSlider.value = VoiceManager.Instance.GetVolumn() * 100;
         }
     }
 }

+ 1 - 3
GameClient/Assets/Game/HotUpdate/Views/Store/StoreView.cs

@@ -97,8 +97,7 @@ namespace GFGGame
             base.OnHide();
             _ui.m_comTab.m_c1.selectedIndex = 0;
             _ui.m_listSubTab.selectedIndex = 0;
-
-            ViewManager.Hide<StoreBrocadeWeavView>();
+            ViewManager.Hide(_curViewName);
         }
         protected override void RemoveEventListener()
         {
@@ -111,7 +110,6 @@ namespace GFGGame
 
         private void OnClickBtnBack()
         {
-            ViewManager.Hide(_curViewName);
             this.Hide();
             //ViewManager.GoBackFrom(typeof(StoreView).FullName);
         }

BIN
GameClient/Assets/ResIn/UI/League/League_fui.bytes


BIN
GameClient/Assets/ResIn/UI/LuckyBox/LuckyBox_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes