音频试听在播放非主题专辑时的特殊情况

main
Yuntao Hu 2024-07-12 14:23:06 +08:00
parent 0ebc61d085
commit 32af9e9322
12 changed files with 6836 additions and 15 deletions

View File

@ -73,6 +73,7 @@ public partial class UIManager
_WindowMeta(UINameConst.UI_CameraChange, UIWindowLayer.Normal);
_WindowMeta(UINameConst.UI_PVPDefendPrepare, UIWindowLayer.Normal);
_WindowMeta(UINameConst.UI_Shop, UIWindowLayer.Normal, UIOpenType.FullScreen);
_WindowMeta(UINameConst.UI_StartGameInterface, UIWindowLayer.Normal);
_WindowMeta(UINameConst.UI_Purchase, UIWindowLayer.Normal);
_WindowMeta(UINameConst.UI_GetItemWindow, UIWindowLayer.Normal);
_WindowMeta(UINameConst.UINoticeOne, UIWindowLayer.Waiting);
@ -219,6 +220,7 @@ public static class UINameConst
public static readonly string UI_VehicleLevelUp = "MainScene/VehicleCultivate/UI_VehicleLevelUp";
public static readonly string UI_Update = "Interface/UI_Update";
public static readonly string UI_LogIn = "StartScene/New/UI_LogIn";
public static readonly string UI_StartGameInterface = "StartScene/Newest/UI_StartGameInterface";
/// <summary>
/// 游戏启动加载界面
/// </summary>

View File

@ -201,6 +201,10 @@ public class AlbumManager : Singlenton<AlbumManager>
loadSaveData();
_saveData.curAlbumId = albumId;
_saveData.curPlayAudioIndex = audioIndex;
if (albumId == _saveData.themeAlbumID)
{
_saveData.themeAlbumAudioIndex = audioIndex;
}
StorageMgr.Instance.SyncForce = true;
}
else
@ -218,6 +222,12 @@ public class AlbumManager : Singlenton<AlbumManager>
loadSaveData();
return _saveData.themeAlbumID;
}
public int GetCurThemeAudioIndex()
{
loadOrInit();
loadSaveData();
return _saveData.themeAlbumAudioIndex;
}
public void SetCurThemeAlbum(int albumId)
{
loadOrInit();
@ -225,10 +235,19 @@ public class AlbumManager : Singlenton<AlbumManager>
if (albumDic.ContainsKey(albumId))
{
_saveData.themeAlbumID = albumId;
if(albumId == _saveData.curAlbumId)
{
_saveData.themeAlbumAudioIndex = _saveData.curPlayAudioIndex;
}
else
{
_saveData.themeAlbumAudioIndex = 0;
}
}
else//取消主题专辑
{
_saveData.themeAlbumID = 0;
_saveData.themeAlbumAudioIndex = 0;
}
StorageMgr.Instance.SyncForce = true;
}
@ -575,6 +594,7 @@ public class AlbumLocalData
public int curOrderMode = 0;
public int themeAlbumID = 0;//如果为0则表示没有设置主题专辑
public int themeAlbumAudioIndex = 0;//Ö÷Ìâר¼­ÒôƵÐòºÅ
public List<int> FavorAudioLst = new List<int>();
}

View File

@ -15,13 +15,16 @@ namespace Gameplay.FakeFight
// 敌方无敌
public bool enemyInvincible;
public bool useNewLoginWindow;
private void Start()
{
#if UNITY_EDITOR
#if UNITY_EDITOR
SROptions.Current.UseFullCharacters = useFullCharacters;
SROptions.Current.SelfUnbeatable = selfInvincible;
SROptions.Current.EnemyUnbeatable = enemyInvincible;
#endif
GameStartLoadingExecutor.newMethodLogin = useNewLoginWindow;
#endif
}
}

View File

@ -20,6 +20,8 @@ namespace Gameplay
{
public class GameStartLoadingExecutor : LoadingExecutorWithUILoadingController
{
public static bool newMethodLogin = false;
public GameStartLoadingExecutor() : base(E_LoadingType.EnterGame)
{
@ -71,7 +73,10 @@ namespace Gameplay
_destProgress = 95f;
await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_LogIn);
if (!newMethodLogin)//使用原先登录逻辑
await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_LogIn);
else//新版登陆界面
await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_StartGameInterface);
//await UI_LoadingProgressInterfaceController.Open();
_destProgress = 100f;

View File

@ -0,0 +1,98 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using Framework;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.UIElements;
using Button = UnityEngine.UI.Button;
using Image = UnityEngine.UI.Image;
using Toggle = UnityEngine.UI.Toggle;
using ScrollView = PhxhSDK.PhxhScrollView;
public class UI_StartGameInterfaceBinder
{
public static void GetComponents(UI_StartGameInterfaceController window)
{
window.Image_Bg = window.GetComponent<Image>("Image_Bg");
window.Image_BgDark = window.GetComponent<Image>("Image_Bg/Image_BgDark");
window.Button_StartGame = window.GetComponent<Button>("StartGame/Button_StartGame");
window.Image_LoginBg = window.GetComponent<Image>("UI_LoginWindow/Image_LoginBg");
window.Button_AccountLogin_1 = window.GetComponent<Button>("UI_LoginWindow/Image_LoginBg/LoginPanel/Top/AccountLogin/Button_AccountLogin_1");
window.Image_YellowLine_Account_1 = window.GetComponent<Image>("UI_LoginWindow/Image_LoginBg/LoginPanel/Top/AccountLogin/Button_AccountLogin_1/Image_YellowLine_Account_1");
window.Button_VerifyCodeLogin_1 = window.GetComponent<Button>("UI_LoginWindow/Image_LoginBg/LoginPanel/Top/VerifyCodeLogin/Button_VerifyCodeLogin_1");
window.Image_YellowLine_VerifyCode_1 = window.GetComponent<Image>("UI_LoginWindow/Image_LoginBg/LoginPanel/Top/VerifyCodeLogin/Button_VerifyCodeLogin_1/Image_YellowLine_VerifyCode_1");
window.InputField_Account = window.GetComponent<TMP_InputField>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Mid/Account/InputField_Account");
window.Image_AccountIcon = window.GetComponent<Image>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Mid/Account/InputField_Account/Image_AccountIcon");
window.InputField_Password = window.GetComponent<TMP_InputField>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Mid/Password/InputField_Password");
window.Image_PasswordIcon = window.GetComponent<Image>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Mid/Password/InputField_Password/Image_PasswordIcon");
window.Toggle_RememberPassword = window.GetComponent<Toggle>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Mid/Info/RememberPassword/Toggle_RememberPassword");
window.Text_RememberPassword = window.GetComponent<TMP_Text>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Mid/Info/RememberPassword/Toggle_RememberPassword/Text_RememberPassword");
window.Toggle_Agreement_1 = window.GetComponent<Toggle>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Mid/Info/Agreement/Toggle_Agreement_1");
window.Text_Agreement_1 = window.GetComponent<TMP_Text>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Mid/Info/Agreement/Toggle_Agreement_1/Text_Agreement_1");
window.Button_UnLogin_1 = window.GetComponent<Button>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Bottom/Button_UnLogin_1");
window.Button_Login_1 = window.GetComponent<Button>("UI_LoginWindow/Image_LoginBg/LoginPanel/AccountLogin/Bottom/Button_Login_1");
window.InputField_PhoneNumber = window.GetComponent<TMP_InputField>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Mid/Phone/InputField_PhoneNumber");
window.Image_PhoneIcon = window.GetComponent<Image>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Mid/Phone/InputField_PhoneNumber/Image_PhoneIcon");
window.InputField_VerifyCode = window.GetComponent<TMP_InputField>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Mid/VerifyCode/InputField_VerifyCode");
window.Image_VerifyCodeIcon = window.GetComponent<Image>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Mid/VerifyCode/InputField_VerifyCode/Image_VerifyCodeIcon");
window.Button_GetVerifyCode = window.GetComponent<Button>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Mid/VerifyCode/Button_GetVerifyCode");
window.Button_GetVerifyCodeCooling = window.GetComponent<Button>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Mid/VerifyCode/Button_GetVerifyCodeCooling");
window.Toggle_Agreement_2 = window.GetComponent<Toggle>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Mid/Info/Agreement/Toggle_Agreement_2");
window.Text_Agreement_2 = window.GetComponent<TMP_Text>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Mid/Info/Agreement/Toggle_Agreement_2/Text_Agreement_2");
window.Button_UnLogin = window.GetComponent<Button>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Bottom/Button_UnLogin");
window.Button_Login = window.GetComponent<Button>("UI_LoginWindow/Image_LoginBg/LoginPanel/VerifyCodeLogin/Bottom/Button_Login");
window.Image_UpdateBg = window.GetComponent<Image>("UI_UpdateTipWindow/Image_UpdateBg");
window.Button_Confirm = window.GetComponent<Button>("UI_UpdateTipWindow/Image_UpdateBg/Bottom/Button_Confirm");
window.Button_Cancle = window.GetComponent<Button>("UI_UpdateTipWindow/Image_UpdateBg/Bottom/Button_Cancle");
window.Image_BottomLine = window.GetComponent<Image>("Image_BottomLine");
window.Button_UserCenter = window.GetComponent<Button>("Button_UserCenter");
window.Button_Notice = window.GetComponent<Button>("Button_Notice");
window.Text_UID = window.GetComponent<TMP_Text>("Info/Text_UID");
window.Text_Version = window.GetComponent<TMP_Text>("Info/Text_Version");
window.Image_DarkSide = window.GetComponent<Image>("Image_DarkSide");
}
/****** ******
public Image Image_Bg;
public Image Image_BgDark;
public Button Button_StartGame;
public Image Image_LoginBg;
public Button Button_AccountLogin_1;
public Image Image_YellowLine_Account_1;
public Button Button_VerifyCodeLogin_1;
public Image Image_YellowLine_VerifyCode_1;
public TMP_InputField InputField_Account;
public Image Image_AccountIcon;
public TMP_InputField InputField_Password;
public Image Image_PasswordIcon;
public Toggle Toggle_RememberPassword;
public TMP_Text Text_RememberPassword;
public Toggle Toggle_Agreement_1;
public TMP_Text Text_Agreement_1;
public Button Button_UnLogin_1;
public Button Button_Login_1;
public TMP_InputField InputField_PhoneNumber;
public Image Image_PhoneIcon;
public TMP_InputField InputField_VerifyCode;
public Image Image_VerifyCodeIcon;
public Button Button_GetVerifyCode;
public Button Button_GetVerifyCodeCooling;
public Toggle Toggle_Agreement_2;
public TMP_Text Text_Agreement_2;
public Button Button_UnLogin;
public Button Button_Login;
public Image Image_UpdateBg;
public Button Button_Confirm;
public Button Button_Cancle;
public Image Image_BottomLine;
public Button Button_UserCenter;
public Button Button_Notice;
public TMP_Text Text_UID;
public TMP_Text Text_Version;
public Image Image_DarkSide;
****** End ******/
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 45935d4569d00e8438d5bc049ddc06b4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -241,22 +241,25 @@ public class UI_MusicPannelController : UIWindow
{
base.OnRelease();
if (AlbumManager.Instance.GetCurThemeAlbum() == 0)//未设置主题专辑
{
{
DebugUtil.Log("resume music");
if (AudioManager.Instance.IsPlayingAlbum)
PauseAndResume();
AudioManager.Instance.ResumeBackgroundMusic();
AudioManager.Instance.PlayAudio("NLD_BGM_02").Forget();
}
}
else if (AlbumManager.Instance.GetCurThemeAlbum() != AlbumManager.Instance.GetCurAlbum().Id)//设置主题专辑但与当前播放不一致
{
AlbumManager.Instance.SetCurAlbum(AlbumManager.Instance.GetCurThemeAlbum(), 0);
int curAlbumIndex = AlbumManager.Instance.GetCurThemeAlbum();
int curAudioIndex = AlbumManager.Instance.CurPlayAudioIndex();
AlbumManager.Instance.SetCurAlbum(AlbumManager.Instance.GetCurThemeAlbum(), AlbumManager.Instance.GetCurThemeAudioIndex());
int curAlbumIndex = AlbumManager.Instance.GetCurThemeAlbum();
int curAudioIndex = AlbumManager.Instance.CurPlayAudioIndex();
if (AudioManager.Instance.IsPlayingAlbum)
AlbumManager.Instance.PlayAlbumAudio(curAlbumIndex, curAudioIndex);
}
if (!AudioManager.Instance.IsPlayingAlbum)
PauseAndResume();
AlbumManager.Instance.PlayAlbumAudio(curAlbumIndex, curAudioIndex);
AlbumManager.Instance.SetPlayList();
}
AlbumManager.Instance.playTimer.onSecondChange -= TimerRefresh;
AlbumManager.Instance.playTimer.onPlayEnd -= PlayEndRefresh;
EventManager.Instance.Unregister<uint>(EventManager.EventName.ItemChange, OnItemChange);

View File

@ -0,0 +1,93 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.UIElements;
using Button = UnityEngine.UI.Button;
using Image = UnityEngine.UI.Image;
using Toggle = UnityEngine.UI.Toggle;
using ScrollView = PhxhSDK.PhxhScrollView;
using Framework;
public class UI_StartGameInterfaceController : UIWindow
{
//UI GameObj
///Auto Gen Start///
public Image Image_Bg;
public Image Image_BgDark;
public Button Button_StartGame;
public Image Image_LoginBg;
public Button Button_AccountLogin_1;
public Image Image_YellowLine_Account_1;
public Button Button_VerifyCodeLogin_1;
public Image Image_YellowLine_VerifyCode_1;
public TMP_InputField InputField_Account;
public Image Image_AccountIcon;
public TMP_InputField InputField_Password;
public Image Image_PasswordIcon;
public Toggle Toggle_RememberPassword;
public TMP_Text Text_RememberPassword;
public Toggle Toggle_Agreement_1;
public TMP_Text Text_Agreement_1;
public Button Button_UnLogin_1;
public Button Button_Login_1;
public TMP_InputField InputField_PhoneNumber;
public Image Image_PhoneIcon;
public TMP_InputField InputField_VerifyCode;
public Image Image_VerifyCodeIcon;
public Button Button_GetVerifyCode;
public Button Button_GetVerifyCodeCooling;
public Toggle Toggle_Agreement_2;
public TMP_Text Text_Agreement_2;
public Button Button_UnLogin;
public Button Button_Login;
public Image Image_UpdateBg;
public Button Button_Confirm;
public Button Button_Cancle;
public Image Image_BottomLine;
public Button Button_UserCenter;
public Button Button_Notice;
public TMP_Text Text_UID;
public TMP_Text Text_Version;
public Image Image_DarkSide;
///Auto Gen End///
// deal with input data
public override void PreLoad(object data = null)
{
}
// Use this for initialization
public override void OnInit()
{
//bind UI GameObj
UI_StartGameInterfaceBinder.GetComponents(this);
}
//invoke when open window
protected override void OnShowWindow(object data = null)
{
}
//invoke when reload window
protected override void OnReloadWindow(object data = null)
{
}
//invoke when close window
protected override void OnHideWindow()
{
}
//invoke when destroy
public override void OnRelease()
{
base.OnRelease();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ecbe12c8f8f61894eb2c49b740265409
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1 +1 @@
Subproject commit 15f6efa6319b2d71824dc22aec9d228138e1851c
Subproject commit e6b1bf6516ff37b2b9464403510a30c9381b2f11

View File

@ -1285,6 +1285,7 @@ MonoBehaviour:
useFullCharacters: 0
selfInvincible: 0
enemyInvincible: 0
useNewLoginWindow: 0
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0