【UI】设置界面

main
zhangaotian 2023-11-06 19:06:05 +08:00
parent c6bbd30f22
commit 73a6de80c3
7 changed files with 303 additions and 30 deletions

View File

@ -283,12 +283,12 @@ GameObject:
- component: {fileID: 5861551988547200258}
- component: {fileID: 1997229949944149985}
m_Layer: 5
m_Name: Button_PressedDown
m_Name: Button_PressedDown_Music
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &5313072699056691042
RectTransform:
m_ObjectHideFlags: 0
@ -404,7 +404,7 @@ GameObject:
- component: {fileID: 7837726627878383985}
- component: {fileID: 3351342566686002519}
m_Layer: 5
m_Name: Button_UnPressed
m_Name: Button_UnPressed_Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -1123,7 +1123,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &8045243051540951475
RectTransform:
m_ObjectHideFlags: 0
@ -1408,7 +1408,7 @@ GameObject:
- component: {fileID: 3365317725819057133}
- component: {fileID: 2761226241010414763}
m_Layer: 5
m_Name: Button_Min
m_Name: Button_Min_SoundEffect
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -1573,7 +1573,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &5593615975509888209
RectTransform:
m_ObjectHideFlags: 0
@ -1866,7 +1866,7 @@ RectTransform:
m_Father: {fileID: 3271256918412695276}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -2334,7 +2334,7 @@ RectTransform:
m_Father: {fileID: 6479773266229235532}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -2522,7 +2522,7 @@ GameObject:
- component: {fileID: 5768227044822836508}
- component: {fileID: 4574935210669717342}
m_Layer: 5
m_Name: Slider
m_Name: Slider_BGM
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -3317,7 +3317,7 @@ GameObject:
- component: {fileID: 4056732757213255911}
- component: {fileID: 5363772008192929188}
m_Layer: 5
m_Name: Slider
m_Name: Slider_Sound
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -3531,7 +3531,7 @@ GameObject:
- component: {fileID: 1246837644486542960}
- component: {fileID: 3062665332566866730}
m_Layer: 5
m_Name: ImageClose
m_Name: Button_Close
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -4054,7 +4054,7 @@ RectTransform:
m_Father: {fileID: 8226578400960255428}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -4339,7 +4339,7 @@ RectTransform:
m_Father: {fileID: 1322203665217218651}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -4394,7 +4394,7 @@ GameObject:
- component: {fileID: 630349609099568870}
- component: {fileID: 8573042331139964889}
m_Layer: 5
m_Name: Button_Max
m_Name: Button_Max_Sound
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -4860,12 +4860,12 @@ GameObject:
- component: {fileID: 7345079380065122576}
- component: {fileID: 8845144947245246635}
m_Layer: 5
m_Name: Button_PressedDown
m_Name: Button_PressedDown_Game
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &1114012447617880464
RectTransform:
m_ObjectHideFlags: 0
@ -5192,7 +5192,7 @@ GameObject:
- component: {fileID: 6550842093174073682}
- component: {fileID: 5243321232293022244}
m_Layer: 5
m_Name: Button_NoSound (1)
m_Name: Button_NoSound_SoundEffect
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -5333,7 +5333,7 @@ RectTransform:
m_Father: {fileID: 6704780894076511465}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -5634,7 +5634,7 @@ GameObject:
- component: {fileID: 1065229624932676700}
- component: {fileID: 2671924183512995950}
m_Layer: 5
m_Name: Button_Max
m_Name: Button_Max_SoundEffect
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -6295,7 +6295,7 @@ GameObject:
- component: {fileID: 1408691192922984289}
- component: {fileID: 405475703878267359}
m_Layer: 5
m_Name: Button_Min
m_Name: Button_Min_BGM
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -6551,7 +6551,7 @@ GameObject:
- component: {fileID: 3214593629208673605}
- component: {fileID: 3050326173420646466}
m_Layer: 5
m_Name: Button_UnPressed
m_Name: Button_UnPressed_Music
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -6805,7 +6805,7 @@ GameObject:
- component: {fileID: 6399029994129970748}
- component: {fileID: 4329587729787620373}
m_Layer: 5
m_Name: Slider
m_Name: Slider_SoundEffect
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -6917,7 +6917,7 @@ RectTransform:
m_Father: {fileID: 2258435655696911669}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -7165,7 +7165,7 @@ GameObject:
- component: {fileID: 8153695804733792085}
- component: {fileID: 6052520929819815590}
m_Layer: 5
m_Name: Button_UnPressed
m_Name: Button_UnPressed_Game
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -7360,7 +7360,7 @@ GameObject:
- component: {fileID: 3341463615398201492}
- component: {fileID: 3575452189396388095}
m_Layer: 5
m_Name: Text_S
m_Name: Text_Sound
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -7793,7 +7793,7 @@ GameObject:
- component: {fileID: 6831691164514317483}
- component: {fileID: 774468979857767167}
m_Layer: 5
m_Name: Button_NoSound
m_Name: Button_NoSound_BGM
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -8297,7 +8297,7 @@ GameObject:
- component: {fileID: 5451097386056745960}
- component: {fileID: 3905512302987714175}
m_Layer: 5
m_Name: Button_NoSound (2)
m_Name: Button_NoSound_Sound
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -8418,7 +8418,7 @@ GameObject:
- component: {fileID: 4543457496877225178}
- component: {fileID: 1787363093010927900}
m_Layer: 5
m_Name: Button_Min
m_Name: Button_Min_Sound
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -8615,7 +8615,7 @@ GameObject:
- component: {fileID: 5689106318016157295}
- component: {fileID: 4981750092807156824}
m_Layer: 5
m_Name: Button_Max
m_Name: Button_Max_BGM
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -9081,7 +9081,7 @@ GameObject:
- component: {fileID: 7576959034042177073}
- component: {fileID: 788549393053892196}
m_Layer: 5
m_Name: Button_PressedDown
m_Name: Button_PressedDown_Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

View File

@ -49,6 +49,7 @@ public partial class UIManager
_WindowMeta(UINameConst.UI_MainPanel, UIWindowLayer.Normal);
_WindowMeta(UINameConst.UI_LevelSelect,UIWindowLayer.Normal);
_WindowMeta(UINameConst.UI_BeforeFight,UIWindowLayer.Normal);
_WindowMeta(UINameConst.UI_Setting,UIWindowLayer.Normal);
}
@ -109,4 +110,6 @@ public static class UINameConst
public static readonly string UI_MainPanel = "MainPanel/UI_MainPanel";
public static readonly string UI_LevelSelect = "LevelSelect/UI_LevelSelect";
public static readonly string UI_BeforeFight = "LevelSelect/UI_BeforeFight";
public static readonly string UI_Setting = "Setting/UI_Setting";
}

View File

@ -0,0 +1,119 @@
using TMPro;
using Button = UnityEngine.UI.Button;
using Image = UnityEngine.UI.Image;
using Slider = UnityEngine.UI.Slider;
using Toggle = UnityEngine.UI.Toggle;
public class UI_SettingBinder
{
public static void GetComponents(UI_SettingController window)
{
window.Image_SettingBG = window.GetComponent<Image>("Image_SettingBG");
window.Text_Setting = window.GetComponent<TMP_Text>("Image_SettingBG/Text_Setting");
window.Button_PressedDown_Game = window.GetComponent<Button>("Image_SettingBG/Button_Game/Button_PressedDown_Game");
window.Button_UnPressed_Game = window.GetComponent<Button>("Image_SettingBG/Button_Game/Button_UnPressed_Game");
window.Button_PressedDown_Image = window.GetComponent<Button>("Image_SettingBG/Button_Image/Button_PressedDown_Image");
window.Button_UnPressed_Image = window.GetComponent<Button>("Image_SettingBG/Button_Image/Button_UnPressed_Image");
window.Button_PressedDown_Music = window.GetComponent<Button>("Image_SettingBG/Button_Music/Button_PressedDown_Music");
window.Button_UnPressed_Music = window.GetComponent<Button>("Image_SettingBG/Button_Music/Button_UnPressed_Music");
window.Image_ImageBG = window.GetComponent<Image>("Image_SettingBG/Image_ImageBG");
window.Text_Image = window.GetComponent<TMP_Text>("Image_SettingBG/Image_ImageBG/Text_Image");
window.Text_ResolutionRatio = window.GetComponent<TMP_Text>("Image_SettingBG/Image_ImageBG/UI_ResolutionRatio/Text_ResolutionRatio");
window.Toggle_Max = window.GetComponent<Toggle>("Image_SettingBG/Image_ImageBG/UI_ResolutionRatio/Toggle_Max");
window.Toggle_High = window.GetComponent<Toggle>("Image_SettingBG/Image_ImageBG/UI_ResolutionRatio/Toggle_High");
window.Text_High = window.GetComponent<TMP_Text>("Image_SettingBG/Image_ImageBG/UI_ResolutionRatio/Toggle_High/Text_High");
window.Toggle_Middle = window.GetComponent<Toggle>("Image_SettingBG/Image_ImageBG/UI_ResolutionRatio/Toggle_Middle");
window.Text_Middle = window.GetComponent<TMP_Text>("Image_SettingBG/Image_ImageBG/UI_ResolutionRatio/Toggle_Middle/Text_Middle");
window.Toggle_Low = window.GetComponent<Toggle>("Image_SettingBG/Image_ImageBG/UI_ResolutionRatio/Toggle_Low");
window.Text_Low = window.GetComponent<TMP_Text>("Image_SettingBG/Image_ImageBG/UI_ResolutionRatio/Toggle_Low/Text_Low");
window.Text_Frame = window.GetComponent<TMP_Text>("Image_SettingBG/Image_ImageBG/UI_Frame/Text_Frame");
window.Toggle_60 = window.GetComponent<Toggle>("Image_SettingBG/Image_ImageBG/UI_Frame/Toggle_60");
window.Text_60 = window.GetComponent<TMP_Text>("Image_SettingBG/Image_ImageBG/UI_Frame/Toggle_60/Text_60");
window.Toggle_30 = window.GetComponent<Toggle>("Image_SettingBG/Image_ImageBG/UI_Frame/Toggle_30");
window.Text_30 = window.GetComponent<TMP_Text>("Image_SettingBG/Image_ImageBG/UI_Frame/Toggle_30/Text_30");
window.Text_RenderMode = window.GetComponent<TMP_Text>("Image_SettingBG/Image_ImageBG/UI_RenderMode/Text_RenderMode");
window.Image_MusicBG = window.GetComponent<Image>("Image_SettingBG/Image_MusicBG");
window.Text_Music = window.GetComponent<TMP_Text>("Image_SettingBG/Image_MusicBG/Text_Music");
window.Text_BGM = window.GetComponent<TMP_Text>("Image_SettingBG/Image_MusicBG/UI_BGM/Text_BGM");
window.Button_Max_BGM = window.GetComponent<Button>("Image_SettingBG/Image_MusicBG/UI_BGM/Button_Max_BGM");
window.Button_Min_BGM = window.GetComponent<Button>("Image_SettingBG/Image_MusicBG/UI_BGM/Button_Min_BGM");
window.Button_NoSound_BGM = window.GetComponent<Button>("Image_SettingBG/Image_MusicBG/UI_BGM/Button_NoSound_BGM");
window.Slider_BGM = window.GetComponent<Slider>("Image_SettingBG/Image_MusicBG/UI_BGM/Slider_BGM");
window.Text_SE = window.GetComponent<TMP_Text>("Image_SettingBG/Image_MusicBG/UI_SoundEffect/Text_SE");
window.Button_Max_SoundEffect = window.GetComponent<Button>("Image_SettingBG/Image_MusicBG/UI_SoundEffect/Button_Max_SoundEffect");
window.Button_Min_SoundEffect = window.GetComponent<Button>("Image_SettingBG/Image_MusicBG/UI_SoundEffect/Button_Min_SoundEffect");
window.Slider_SoundEffect = window.GetComponent<Slider>("Image_SettingBG/Image_MusicBG/UI_SoundEffect/Slider_SoundEffect");
window.Button_NoSound_SoundEffect = window.GetComponent<Button>("Image_SettingBG/Image_MusicBG/UI_SoundEffect/Button_NoSound_SoundEffect");
window.Text_Sound = window.GetComponent<TMP_Text>("Image_SettingBG/Image_MusicBG/UI_Sound/Text_Sound");
window.Button_Max_Sound = window.GetComponent<Button>("Image_SettingBG/Image_MusicBG/UI_Sound/Button_Max_Sound");
window.Button_Min_Sound = window.GetComponent<Button>("Image_SettingBG/Image_MusicBG/UI_Sound/Button_Min_Sound");
window.Slider_Sound = window.GetComponent<Slider>("Image_SettingBG/Image_MusicBG/UI_Sound/Slider_Sound");
window.Button_NoSound_Sound = window.GetComponent<Button>("Image_SettingBG/Image_MusicBG/UI_Sound/Button_NoSound_Sound");
window.Button_Close = window.GetComponent<Button>("Image_SettingBG/Button_Close");
}
/****** ******
public Image Image_SettingBG;
public TMP_Text Text_Setting;
public Button Button_Game;
public Button Button_PressedDown_Game;
public TMP_Text Text_Pressed;
public Button Button_UnPressed_Game;
public TMP_Text Text_UnPressed;
public Button Button_Image;
public Button Button_PressedDown_Image;
public TMP_Text Text_Pressed;
public Button Button_UnPressed_Image;
public TMP_Text Text_UnPressed;
public Button Button_Music;
public Button Button_PressedDown_Music;
public TMP_Text Text_Pressed;
public Button Button_UnPressed_Music;
public TMP_Text Text_UnPressed;
public Image Image_ImageBG;
public TMP_Text Text_Image;
public TMP_Text Text_ResolutionRatio;
public Toggle Toggle_Max;
public TMP_Text Text_Max;
public Toggle Toggle_High;
public TMP_Text Text_High;
public Toggle Toggle_Middle;
public TMP_Text Text_Middle;
public Toggle Toggle_Low;
public TMP_Text Text_Low;
public TMP_Text Text_Frame;
public Toggle Toggle_60;
public TMP_Text Text_60;
public Toggle Toggle_30;
public TMP_Text Text_30;
public TMP_Text Text_RenderMode;
public Image Image_MusicBG;
public TMP_Text Text_Music;
public TMP_Text Text_BGM;
public Button Button_Max_BGM;
public TMP_Text Text_Max;
public Button Button_Min_BGM;
public TMP_Text Text_Minimum;
public Button Button_NoSound_BGM;
public TMP_Text Text_NoSound;
public Slider Slider_BGM;
public TMP_Text Text_SE;
public Button Button_Max_SoundEffect;
public TMP_Text Text_Max;
public Button Button_Min_SoundEffect;
public TMP_Text Text_Minimum;
public Slider Slider_SoundEffect;
public Button Button_NoSound_SoundEffect;
public TMP_Text Text_NoSound;
public TMP_Text Text_Sound;
public Button Button_Max_Sound;
public TMP_Text Text_Max;
public Button Button_Min_Sound;
public TMP_Text Text_Minimum;
public Slider Slider_Sound;
public Button Button_NoSound_Sound;
public TMP_Text Text_NoSound;
****** End ******/
}

View File

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

View File

@ -101,6 +101,7 @@ public class UI_MainPanelController: UIWindow
RawImage_Scene = GetComponent<RawImage>("RawImage_Scene");
analyzer = new CriAtomExOutputAnalyzer(NewConfig());
InitCube();
BindButton(Button_Install, OnOpenSettingPanel);
}
CriWare.CriAtomExOutputAnalyzer.Config NewConfig()
@ -121,6 +122,11 @@ public class UI_MainPanelController: UIWindow
await UIManager.Instance.OpenWindow(UINameConst.UITeamChoose);
}
private async void OnOpenSettingPanel()
{
await UIManager.Instance.OpenWindow(UINameConst.UI_Setting);
}
private void InitCube()
{
for (int i = 0; i < 16; i++)

View File

@ -0,0 +1,123 @@
using TMPro;
using Button = UnityEngine.UI.Button;
using Image = UnityEngine.UI.Image;
using Slider = UnityEngine.UI.Slider;
using Toggle = UnityEngine.UI.Toggle;
public class UI_SettingController : UIWindow
{
//UI GameObj
///Auto Gen Start///
public Image Image_SettingBG;
public TMP_Text Text_Setting;
public Button Button_PressedDown_Game;
public Button Button_UnPressed_Game;
public Button Button_PressedDown_Image;
public Button Button_UnPressed_Image;
public Button Button_PressedDown_Music;
public Button Button_UnPressed_Music;
public Image Image_ImageBG;
public TMP_Text Text_Image;
public TMP_Text Text_ResolutionRatio;
public Toggle Toggle_Max;
public Toggle Toggle_High;
public TMP_Text Text_High;
public Toggle Toggle_Middle;
public TMP_Text Text_Middle;
public Toggle Toggle_Low;
public TMP_Text Text_Low;
public TMP_Text Text_Frame;
public Toggle Toggle_60;
public TMP_Text Text_60;
public Toggle Toggle_30;
public TMP_Text Text_30;
public TMP_Text Text_RenderMode;
public Image Image_MusicBG;
public TMP_Text Text_Music;
public TMP_Text Text_BGM;
public Button Button_Max_BGM;
public Button Button_Min_BGM;
public Button Button_NoSound_BGM;
public Slider Slider_BGM;
public TMP_Text Text_SE;
public Button Button_Max_SoundEffect;
public Button Button_Min_SoundEffect;
public Slider Slider_SoundEffect;
public Button Button_NoSound_SoundEffect;
public TMP_Text Text_Sound;
public Button Button_Max_Sound;
public Button Button_Min_Sound;
public Slider Slider_Sound;
public Button Button_NoSound_Sound;
public Button Button_Close;
///Auto Gen End///
// Use this for initialization
public override void OnAwake()
{
UI_SettingBinder.GetComponents(this);
BindButton(Button_UnPressed_Image, OpenImagePanel);
BindButton(Button_UnPressed_Music, OpenMusicPanel);
BindButton(Button_UnPressed_Game, OpenGamePanel);
BindButton(Button_Close, ClosePanel);
}
private void ClosePanel()
{
CloseWindow();
}
private void OpenImagePanel()
{
Button_UnPressed_Image.gameObject.SetActive(false);
Button_UnPressed_Music.gameObject.SetActive(true);
Button_UnPressed_Game.gameObject.SetActive(true);
Image_MusicBG.gameObject.SetActive(false);
Image_ImageBG.gameObject.SetActive(true);
}
private void OpenMusicPanel()
{
Button_UnPressed_Music.gameObject.SetActive(false);
Button_UnPressed_Image.gameObject.SetActive(true);
Button_UnPressed_Game.gameObject.SetActive(true);
Image_ImageBG.gameObject.SetActive(false);
Image_MusicBG.gameObject.SetActive(true);
}
private void OpenGamePanel()
{
Button_UnPressed_Music.gameObject.SetActive(true);
Button_UnPressed_Image.gameObject.SetActive(true);
Button_UnPressed_Game.gameObject.SetActive(false);
Image_ImageBG.gameObject.SetActive(false);
Image_MusicBG.gameObject.SetActive(false);
}
//invoke when open window
protected override void OnOpenWindow(object data = null)
{
}
//invoke when reload window
protected override void OnReloadWindow(object data = null)
{
}
//invoke when close window
protected override void OnCloseWindow(bool destroy = false)
{
}
}

View File

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