This commit is contained in:
陈思海 2026-04-03 16:41:29 +08:00
parent 425e10d128
commit ea2e26ea84
17 changed files with 564 additions and 146 deletions

View File

@ -11,10 +11,9 @@ GameObject:
- component: {fileID: 595079502873929697}
- component: {fileID: 6045476244398503520}
- component: {fileID: 3754033378428747194}
- component: {fileID: 3596253569820580282}
- component: {fileID: 3682956989792047135}
- component: {fileID: 7370442812907526850}
m_Layer: 5
m_Name: TestViewHolder
m_Name: TextViewHolder
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -37,8 +36,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0.0030568, y: 171.86}
m_SizeDelta: {x: 250, y: 56.27}
m_AnchoredPosition: {x: 9.1544, y: 288}
m_SizeDelta: {x: 454.3087, y: 56.27}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6045476244398503520
CanvasRenderer:
@ -117,7 +116,7 @@ MonoBehaviour:
m_FlipEdgeVertical: 5
m_FlipFillCenter: 3
m_FlipDirection: 3
--- !u!114 &3596253569820580282
--- !u!114 &7370442812907526850
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -126,58 +125,11 @@ MonoBehaviour:
m_GameObject: {fileID: 13453462280259649}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3f0ca321f54751b458b8e51698dab5a8, type: 3}
m_Script: {fileID: 11500000, guid: d1bdadc4210c404daf2f444e85874de7, type: 3}
m_Name:
m_EditorClassIdentifier:
backgroundImage: {fileID: 3754033378428747194}
text: {fileID: 5232094481069283953}
_btnTest: {fileID: 3682956989792047135}
--- !u!114 &3682956989792047135
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 13453462280259649}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7e92b092d584bb39e5239463f064cbe, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 0
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 1, g: 0, b: 0, a: 1}
m_PressedColor: {r: 0.36658788, g: 1, b: 0, a: 1}
m_SelectedColor: {r: 1, g: 0, b: 0.97422075, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 3754033378428747194}
m_ChildTransitions: []
hoverAudioClip: {fileID: 0}
clickAudioClip: {fileID: 0}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &526598954257632073
GameObject:
m_ObjectHideFlags: 0
@ -344,6 +296,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 595079502873929697}
- {fileID: 7061828739007233747}
m_Father: {fileID: 7522346725214463714}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -584,6 +537,120 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u6D4B\u8BD5\u5217\u8868"
--- !u!1 &1917936538628948357
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8450729722931615936}
- component: {fileID: 5317637675886972767}
- component: {fileID: 459151234095208718}
m_Layer: 5
m_Name: UXImage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8450729722931615936
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1917936538628948357}
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: 7061828739007233747}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -5.151108, y: 0}
m_SizeDelta: {x: -394.8419, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5317637675886972767
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1917936538628948357}
m_CullTransparentMesh: 1
--- !u!114 &459151234095208718
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1917936538628948357}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: af0993b503fa4dd1adf519458df05486, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 624af9784554f4047997278dfbb22e47, type: 2}
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_Sprite: {fileID: 21300020, guid: dffef66376be4fa480fb02b19edbe903, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
m_ColorType: 0
m_GradientColor:
serializedVersion: 2
key0: {r: 0, g: 0, b: 0, 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_Direction: 0
m_OriginFlipMode: 0
m_FlipMode: 0
m_FlipWithCopy: 1
m_FlipEdgeHorizontal: 2
m_FlipEdgeVertical: 5
m_FlipFillCenter: 3
m_FlipDirection: 3
--- !u!1 &1940697527380699443
GameObject:
m_ObjectHideFlags: 0
@ -1070,6 +1137,7 @@ GameObject:
- component: {fileID: 162949476695556915}
- component: {fileID: 3482583127883842067}
- component: {fileID: 6667574876542659940}
- component: {fileID: 4934858616350425953}
m_Layer: 5
m_Name: ScrollView@TestList
m_TagString: Untagged
@ -1157,21 +1225,22 @@ MonoBehaviour:
scrollSpeed: 0.5
wheelSpeed: 5.5
templates:
- {fileID: 3596253569820580282}
- {fileID: 7370442812907526850}
- {fileID: 5714927647938558385}
content: {fileID: 5086806237606523596}
showScrollBar: 1
showScrollBarOnlyWhenScrollable: 1
scrollbar: {fileID: 2341577578277520569}
_layoutManagerTypeName: AlicizaX.UI.LinearLayoutManager
_layoutManagerTypeName: AlicizaX.UI.MixedLayoutManager
layoutManager:
rid: 6739296679894712320
rid: 440045516403245056
_scrollerTypeName: AlicizaX.UI.Scroller
scroller: {fileID: 6667574876542659940}
references:
version: 2
RefIds:
- rid: 6739296679894712320
type: {class: LinearLayoutManager, ns: AlicizaX.UI, asm: AlicizaX.UI.Extension}
- rid: 440045516403245056
type: {class: MixedLayoutManager, ns: AlicizaX.UI, asm: AlicizaX.UI.Extension}
data:
--- !u!114 &6667574876542659940
MonoBehaviour:
@ -1186,6 +1255,48 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
dragStopTime: 0
--- !u!114 &4934858616350425953
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3365040644835594956}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: eaec44cc09df6a546a8b02169d0a3e18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 0
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 162949476695556915}
defaultEntryDirection: 3
--- !u!1 &3685237805443569815
GameObject:
m_ObjectHideFlags: 0
@ -1883,6 +1994,136 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6617164715097159773
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7061828739007233747}
- component: {fileID: 5846308201222473660}
- component: {fileID: 1875892129405172039}
- component: {fileID: 5714927647938558385}
m_Layer: 5
m_Name: ImageViewHolder
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7061828739007233747
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6617164715097159773}
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:
- {fileID: 8450729722931615936}
m_Father: {fileID: 5086806237606523596}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 9.1544, y: 214}
m_SizeDelta: {x: 454.3087, y: 56.27}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5846308201222473660
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6617164715097159773}
m_CullTransparentMesh: 1
--- !u!114 &1875892129405172039
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6617164715097159773}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: af0993b503fa4dd1adf519458df05486, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 624af9784554f4047997278dfbb22e47, type: 2}
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_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
m_ColorType: 0
m_GradientColor:
serializedVersion: 2
key0: {r: 0, g: 0, b: 0, 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_Direction: 0
m_OriginFlipMode: 0
m_FlipMode: 0
m_FlipWithCopy: 1
m_FlipEdgeHorizontal: 2
m_FlipEdgeVertical: 5
m_FlipFillCenter: 3
m_FlipDirection: 3
--- !u!114 &5714927647938558385
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6617164715097159773}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a895d23cc4694780bbf3d732251a183d, type: 3}
m_Name:
m_EditorClassIdentifier:
backgroundImage: {fileID: 1875892129405172039}
iconImage: {fileID: 459151234095208718}
--- !u!1 &6907720724719909649
GameObject:
m_ObjectHideFlags: 0

View File

@ -1,9 +1,10 @@
using AlicizaX;
using AlicizaX.UI;
using GameLogic.UI;
using UnityEngine;
using UnityEngine.EventSystems;
public sealed class TestScrollItemRender : ItemRender<TestData, TestScrollViewHolder>
public sealed class ImageScrollItemRender : ItemRender<TestData, ImageViewHolder>
{
public override ItemInteractionFlags InteractionFlags =>
ItemInteractionFlags.PointerClick |
@ -14,20 +15,10 @@ public sealed class TestScrollItemRender : ItemRender<TestData, TestScrollViewHo
ItemInteractionFlags.Submit |
ItemInteractionFlags.Move;
protected override void OnHolderAttached()
{
base.OnHolderAttached();
baseui.BtnTest.onClick.AddListener(OnInnerButtonClick);
}
protected override void OnHolderDetached()
{
baseui.BtnTest.onClick.RemoveListener(OnInnerButtonClick);
}
protected override void OnBind(TestData data, int index)
{
baseui.Text.text = data.Name;
// baseui.Text.text = data.Name;
}
protected override void OnPointerClick(PointerEventData eventData)
@ -37,26 +28,23 @@ public sealed class TestScrollItemRender : ItemRender<TestData, TestScrollViewHo
protected override void OnPointerEnter(PointerEventData eventData)
{
baseui.Text.fontStyle = TMPro.FontStyles.Bold;
baseui.backgroundImage.color = Color.green;
// Log.Info(CurrentData.Name + " Pointer Enter");
}
protected override void OnPointerExit(PointerEventData eventData)
{
baseui.Text.fontStyle = TMPro.FontStyles.Normal;
// Log.Info(CurrentData.Name + " Pointer Exit");
baseui.backgroundImage.color = Color.white;
}
protected override void OnItemSelected(BaseEventData eventData)
{
baseui.Text.color = UnityEngine.Color.yellow;
Log.Info(CurrentData.Name + " Selected");
baseui.backgroundImage.color = Color.green;
}
protected override void OnItemDeselected(BaseEventData eventData)
{
baseui.Text.color = UnityEngine.Color.black;
Log.Info(CurrentData.Name + " OnItemDeselected");
baseui.backgroundImage.color = Color.white;
}
protected override void OnSubmit(BaseEventData eventData)
@ -66,10 +54,7 @@ public sealed class TestScrollItemRender : ItemRender<TestData, TestScrollViewHo
protected override void OnSelectionChanged(bool selected)
{
if (selected)
{
Log.Info(CurrentData.Name + $" selection changed {selected}");
}
baseui.iconImage.color=selected ? Color.blue : Color.white;
}
protected override bool OnMove(AxisEventData eventData)
@ -82,8 +67,7 @@ public sealed class TestScrollItemRender : ItemRender<TestData, TestScrollViewHo
protected override void OnClear()
{
base.OnClear();
baseui.Text.fontStyle = TMPro.FontStyles.Normal;
baseui.Text.color = UnityEngine.Color.black;
baseui.backgroundImage.color = Color.white;
}
private void OnInnerButtonClick()

View File

@ -0,0 +1,12 @@
using AlicizaX.UI;
using UnityEngine;
using UnityEngine.UI;
namespace GameLogic.UI
{
public class ImageViewHolder:ViewHolder
{
public Image backgroundImage;
public Image iconImage;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a895d23cc4694780bbf3d732251a183d
timeCreated: 1775189131

View File

@ -0,0 +1,15 @@
using AlicizaX;
using AlicizaX.UI;
using GameLogic.UI;
using UnityEngine;
using UnityEngine.EventSystems;
public sealed class TextScrollItemRender : ItemRender<TestData, TextViewHolder>
{
protected override void OnBind(TestData data, int index)
{
baseui.text.text = data.Name;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b38420eefe6a4501ae01dcbdac22a82e
timeCreated: 1775191009

View File

@ -0,0 +1,12 @@
using AlicizaX.UI;
using UnityEngine;
using UnityEngine.UI;
namespace GameLogic.UI
{
public class TextViewHolder:ViewHolder
{
public Image backgroundImage;
public TMPro.TextMeshProUGUI text;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d1bdadc4210c404daf2f444e85874de7
timeCreated: 1775189121

View File

@ -7,22 +7,25 @@ using Cysharp.Threading.Tasks;
using Game.UI;
using GameLogic.UI;
using UnityEngine;
using UnityEngine.EventSystems;
public class TestData : ISimpleViewData
public class TestData : IMixedViewData
{
public string Name;
public string TemplateName { get; set; }
}
[UIUpdate]
[Window(UILayer.UI, false, 3)]
public class UILoadUpdate : UITabWindow<ui_UILoadUpdateWindow>
{
private UGList<TestData> _list;
private UGMixedList<TestData> _list;
protected override void OnInitialize()
{
_list = UGListCreateHelper.Create<TestData>(baseui.ScrollViewTestList);
_list.RegisterItemRender<TestScrollItemRender>();
_list = UGListCreateHelper.CreateMixed<TestData>(baseui.ScrollViewTestList);
_list.RegisterItemRender<ImageScrollItemRender>(nameof(ImageViewHolder));
_list.RegisterItemRender<TextScrollItemRender>(nameof(TextViewHolder));
baseui.ImgBackGround.color = Color.gray;
baseui.BtnTest.onClick.AddListener(OnTestClick);
SetListAndFocusFirst(CreateTestDataList(1000000));
@ -34,7 +37,6 @@ public class UILoadUpdate : UITabWindow<ui_UILoadUpdateWindow>
private void OnBtnETestClick()
{
SetListAndFocusFirst(CreateTestDataList(4000));
Log.Info("Btn E Click");
}
@ -46,7 +48,6 @@ public class UILoadUpdate : UITabWindow<ui_UILoadUpdateWindow>
private void OnBtnQTestClick()
{
SetListAndFocusFirst(CreateTestDataList(30000));
Log.Info("Btn Q Click");
}
@ -55,7 +56,8 @@ public class UILoadUpdate : UITabWindow<ui_UILoadUpdateWindow>
List<TestData> testDataList = new List<TestData>(count);
for (int i = 0; i < count; i++)
{
testDataList.Add(new TestData() { Name = $"TestProp:{i}" });
var prefabName = i % 2 == 0 ? nameof(TextViewHolder) : nameof(ImageViewHolder);
testDataList.Add(new TestData() { Name = $"TestProp:{i}", TemplateName = prefabName });
}
return testDataList;
@ -70,7 +72,7 @@ public class UILoadUpdate : UITabWindow<ui_UILoadUpdateWindow>
private async UniTaskVoid FocusFirstItemAsync()
{
await UniTask.NextFrame();
_list.RecyclerView.TryFocusIndex(0);
_list.RecyclerView.TryFocusEntry(MoveDirection.Down,true);
}

View File

@ -0,0 +1,141 @@
{
"FileVersion": "2025.9.30",
"EnableAddressable": true,
"SupportExtensionless": true,
"LocationToLower": false,
"IncludeAssetGUID": false,
"ReplaceAssetPathWithAddress": false,
"OutputNameStyle": 0,
"BuildBundleType": 1,
"BuildPipeline": "EditorSimulateBuildPipeline",
"PackageName": "DefaultPackage",
"PackageVersion": "Simulate",
"PackageNote": "2026/4/3 15:20:52",
"AssetList": [
{
"Address": "LocalizationTable",
"AssetPath": "Assets/Bundles/Configs/LocalizationTable.asset",
"AssetGUID": "",
"AssetTags": [
"WEBGL_PRELOAD",
"Configs"
],
"BundleID": 0,
"DependBundleIDs": []
},
{
"Address": "PoolConfig",
"AssetPath": "Assets/Bundles/Configs/PoolConfig.asset",
"AssetGUID": "",
"AssetTags": [
"WEBGL_PRELOAD",
"Configs"
],
"BundleID": 0,
"DependBundleIDs": []
},
{
"Address": "Map1000",
"AssetPath": "Assets/Bundles/Scenes/Map1000.unity",
"AssetGUID": "",
"AssetTags": [
"Scenes"
],
"BundleID": 1,
"DependBundleIDs": []
},
{
"Address": "MyShaderVariants",
"AssetPath": "Assets/Bundles/ShaderVariants/MyShaderVariants.shadervariants",
"AssetGUID": "",
"AssetTags": [
"ShaderVariants"
],
"BundleID": 4,
"DependBundleIDs": []
},
{
"Address": "UILoadUpdateWindow",
"AssetPath": "Assets/Bundles/UI/UILoadUpdateWindow.prefab",
"AssetGUID": "",
"AssetTags": [
"UI"
],
"BundleID": 2,
"DependBundleIDs": []
},
{
"Address": "UILogicTestAlert",
"AssetPath": "Assets/Bundles/UI/Window/UILogicTestAlert.prefab",
"AssetGUID": "",
"AssetTags": [
"UI"
],
"BundleID": 3,
"DependBundleIDs": []
}
],
"BundleList": [
{
"BundleName": "assets_bundles_configs.bundle",
"UnityCRC": 0,
"FileHash": "3a378d308429cd99b280d880a27af478",
"FileCRC": 0,
"FileSize": 5490,
"Encrypted": false,
"Tags": [
"WEBGL_PRELOAD",
"Configs"
],
"DependBundleIDs": []
},
{
"BundleName": "assets_bundles_scenes_map1000.bundle",
"UnityCRC": 0,
"FileHash": "4530edb970dd229fed5dd3259fee4ece",
"FileCRC": 0,
"FileSize": 12277,
"Encrypted": false,
"Tags": [
"Scenes"
],
"DependBundleIDs": []
},
{
"BundleName": "assets_bundles_ui_uiloadupdatewindow.bundle",
"UnityCRC": 0,
"FileHash": "9ff2ef11fc95cbce9b51368acd1d4383",
"FileCRC": 0,
"FileSize": 70175,
"Encrypted": false,
"Tags": [
"UI"
],
"DependBundleIDs": []
},
{
"BundleName": "assets_bundles_ui_window_uilogictestalert.bundle",
"UnityCRC": 0,
"FileHash": "cf84038a2a1620e6ff49815bcd8e6a73",
"FileCRC": 0,
"FileSize": 22136,
"Encrypted": false,
"Tags": [
"UI"
],
"DependBundleIDs": []
},
{
"BundleName": "unityshaders.bundle",
"UnityCRC": 0,
"FileHash": "c9f21eee9f3febcafa65a26802cf31f0",
"FileCRC": 0,
"FileSize": 3518,
"Encrypted": false,
"Tags": [
"ShaderVariants"
],
"DependBundleIDs": []
}
]
}

@ -1 +1 @@
Subproject commit 3e5cf4d13525dfe5b9f7b12b3468188478d4e91a
Subproject commit a83bdf455ce53e47e72d69a363066f2d956bde25

View File

@ -33,10 +33,10 @@ EditorUserSettings:
value: 5a07065703500c59585e0e7748770d44444f4a737d2d7f35787d4f63e0b26668
flags: 0
RecentlyUsedSceneGuid-8:
value: 50500404540c580d0f0b5e7543725b44424f4c7a7b7c7734747e4f36e4b1676d
value: 5001560504060c590f5b0f7245725a44404f1d7c297e2233787e4a36b5e4666b
flags: 0
RecentlyUsedSceneGuid-9:
value: 5001560504060c590f5b0f7245725a44404f1d7c297e2233787e4a36b5e4666b
value: 50500404540c580d0f0b5e7543725b44424f4c7a7b7c7734747e4f36e4b1676d
flags: 0
vcSharedLogLevel:
value: 0d5e400f0650

View File

@ -19,7 +19,7 @@ MonoBehaviour:
width: 1920
height: 997
m_ShowMode: 4
m_Title: Project
m_Title: Game
m_RootView: {fileID: 4}
m_MinSize: {x: 875, y: 300}
m_MaxSize: {x: 10000, y: 10000}
@ -41,7 +41,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 360
width: 534
width: 734
height: 587
m_MinSize: {x: 51, y: 71}
m_MaxSize: {x: 4001, y: 4021}
@ -70,7 +70,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 534
width: 734
height: 947
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 8096, y: 16192}
@ -174,7 +174,7 @@ MonoBehaviour:
m_MinSize: {x: 400, y: 100}
m_MaxSize: {x: 32384, y: 16192}
vertical: 0
controlID: 101
controlID: 152
draggingID: 0
--- !u!114 &8
MonoBehaviour:
@ -193,10 +193,10 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 534
width: 734
height: 360
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 16}
m_Panes:
- {fileID: 16}
@ -219,14 +219,14 @@ MonoBehaviour:
- {fileID: 11}
m_Position:
serializedVersion: 2
x: 534
x: 734
y: 0
width: 244
width: 404
height: 947
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 8096, y: 16192}
vertical: 1
controlID: 70
controlID: 49
draggingID: 0
--- !u!114 &10
MonoBehaviour:
@ -245,10 +245,10 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
width: 244
height: 465
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
width: 404
height: 222
m_MinSize: {x: 202, y: 221}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 17}
m_Panes:
- {fileID: 17}
@ -270,9 +270,9 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
y: 465
width: 244
height: 482
y: 222
width: 404
height: 725
m_MinSize: {x: 102, y: 121}
m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 18}
@ -295,9 +295,9 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
x: 778
x: 1138
y: 0
width: 540
width: 571
height: 947
m_MinSize: {x: 232, y: 271}
m_MaxSize: {x: 10002, y: 10021}
@ -321,9 +321,9 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
x: 1318
x: 1709
y: 0
width: 602
width: 211
height: 947
m_MinSize: {x: 276, y: 71}
m_MaxSize: {x: 4001, y: 4021}
@ -354,7 +354,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 433
width: 533
width: 733
height: 566
m_SerializedDataModeController:
m_DataMode: 0
@ -408,23 +408,23 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 21
width: 533
width: 733
height: 545
m_Scale: {x: 0.27760416, y: 0.27760416}
m_Translation: {x: 266.5, y: 272.5}
m_Scale: {x: 0.38177082, y: 0.38177082}
m_Translation: {x: 366.5, y: 272.5}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
m_MarginBottom: 0
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -960
y: -981.6135
width: 1920
height: 1963.227
x: -960.00006
y: -713.779
width: 1920.0001
height: 1427.558
m_MinimalGUI: 1
m_defaultScale: 0.27760416
m_LastWindowPixelSize: {x: 533, y: 566}
m_defaultScale: 0.38177082
m_LastWindowPixelSize: {x: 733, y: 566}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000000000000
@ -522,7 +522,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 73
width: 533
width: 733
height: 339
m_SerializedDataModeController:
m_DataMode: 0
@ -1163,10 +1163,10 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 534
x: 734
y: 73
width: 242
height: 444
width: 402
height: 201
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -1180,9 +1180,9 @@ MonoBehaviour:
m_SceneHierarchy:
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_SelectedIDs: daf4feff
m_LastClickedID: 0
m_ExpandedIDs: d6f7ffff28fbffff
m_ExpandedIDs: daf4feff5af5feff3cf7feff60f7feff68f7feffc447ffffd449fffff849ffff004affffea5dfffff25dffff626effff706effff986effff7a70ffff9e70ffffa670ffff9c74ffffaa74ffffd274ffffb476ffffd876ffffe076ffff34a9ffff40a9ffff68a9ffff4aabffff6eabffff76abffffecbeffff14bffffff6c0ffff1ac1ffff22c1ffff4cedffff58edffff80edffff62efffff86efffff8eefffffc8f0ffff10fbfffff4ffffff
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1198,7 +1198,7 @@ MonoBehaviour:
m_IsRenaming: 0
m_OriginalEventType: 11
m_IsRenamingFilename: 0
m_ClientGUIView: {fileID: 10}
m_ClientGUIView: {fileID: 8}
m_SearchString:
m_ExpandedScenes: []
m_CurrenRootInstanceID: 0
@ -1226,10 +1226,10 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 534
y: 538
width: 242
height: 461
x: 734
y: 295
width: 402
height: 704
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@ -1260,9 +1260,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 778
x: 1138
y: 73
width: 538
width: 569
height: 926
m_SerializedDataModeController:
m_DataMode: 0
@ -1300,7 +1300,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: e48c0000
m_LastClickedID: 36068
m_ExpandedIDs: 000000007e020000fe0c00006a6a00006c6a00006e6a0000706a0000726a0000746a0000766a0000786a00007a6a00007c6a00007e6a0000806a0000826a0000846a0000866a0000886a00008a6a00008c6a00008e6a0000906a0000926a0000946a0000966a0000986a00009a6a00009c6a00009e6a0000a06a0000a26a0000a46a0000a66a0000a86a0000aa6a0000ac6a0000ae6a0000b06a0000b26a0000b46a0000b66a0000b86a0000ba6a0000bc6a0000be6a0000c06a0000c26a0000c46a0000c66a0000c86a0000ca6a0000cc6a0000ce6a0000d06a0000d26a0000d46a0000d66a0000d86a0000da6a0000dc6a0000de6a0000e06a0000e26a0000e46a0000e66a0000e86a0000ea6a0000ec6a0000ee6a0000f06a0000f26a0000f46a0000f66a0000f86a0000fa6a0000fc6a0000fe6a0000006b0000026b0000046b0000066b0000086b00000a6b00000c6b00000e6b0000106b0000126b0000146b0000166b0000186b00001a6b00001c6b00001e6b0000206b0000226b0000246b0000266b0000286b00002a6b00002c6b00002e6b0000306b0000326b0000346b0000
m_ExpandedIDs: 000000007e020000fc0c0000e6690000e8690000ea690000ec690000ee690000f0690000f2690000f4690000f6690000f8690000fa690000fc690000fe690000006a0000026a0000046a0000066a0000086a00000a6a00000c6a00000e6a0000106a0000126a0000146a0000166a0000186a00001a6a00001c6a00001e6a0000206a0000226a0000246a0000266a0000286a00002a6a00002c6a00002e6a0000306a0000326a0000346a0000366a0000386a00003a6a00003c6a00003e6a0000406a0000426a0000446a0000466a0000486a00004a6a00004c6a00004e6a0000506a0000526a0000546a0000566a0000586a00005a6a00005c6a00005e6a0000606a0000626a0000646a0000666a0000686a00006a6a00006c6a00006e6a0000706a0000726a0000746a0000766a0000786a00007a6a00007c6a00007e6a0000806a0000826a0000846a0000866a0000886a00008a6a00008c6a00008e6a0000906a0000926a0000946a0000966a0000986a00009a6a00009c6a00009e6a0000a06a0000a26a0000a46a0000a66a0000a86a0000aa6a0000ac6a0000ae6a0000b06a0000
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1325,10 +1325,10 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_AssetTreeState:
scrollPos: {x: 0, y: 0}
scrollPos: {x: 0, y: 3232}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: ffffffff000000007e020000fe0c00006a6a00006c6a00006e6a0000706a0000746a0000766a0000786a00007a6a00007c6a00007e6a0000806a0000826a0000846a0000866a0000886a00008a6a00008c6a00008e6a0000906a0000926a0000946a0000966a0000986a00009a6a00009c6a00009e6a0000a06a0000a26a0000a46a0000a66a0000a86a0000aa6a0000b06a0000b26a0000b46a0000b66a0000b86a0000ba6a0000bc6a0000be6a0000c06a0000c26a0000c46a0000c66a0000c86a0000ca6a0000cc6a0000ce6a0000d06a0000d26a0000d46a0000d86a0000da6a0000dc6a0000de6a0000e06a0000e26a0000e46a0000e66a0000e86a0000ea6a0000ec6a0000ee6a0000f06a0000f26a0000f46a0000f66a0000f86a0000fa6a0000fc6a0000fe6a0000006b0000026b0000046b0000066b0000086b00000a6b00000c6b00000e6b0000106b0000126b0000146b0000166b0000186b00001a6b00001c6b00001e6b0000206b0000226b0000246b0000286b00002a6b00002c6b00002e6b0000306b0000326b00003a6d00003c6d00003e6d0000406d0000546d0000986d00009a6d0000a26d0000a86d0000ae6d0000bc6d0000
m_ExpandedIDs: ffffffff000000007e020000fc0c0000e6690000e8690000ea690000ec690000ee690000f0690000f2690000f4690000f6690000f8690000fa690000fc690000fe690000006a0000026a0000046a0000066a0000086a00000a6a00000c6a00000e6a0000106a0000126a0000146a0000166a0000186a00001a6a00001c6a00001e6a0000206a0000226a0000246a0000266a0000286a00002a6a00002c6a00002e6a0000306a0000326a0000346a0000366a0000386a00003a6a00003c6a00003e6a0000406a0000426a0000446a0000466a0000486a00004a6a00004c6a00004e6a0000506a0000526a0000546a0000566a0000586a00005a6a00005c6a00005e6a0000606a0000626a0000646a0000666a0000686a00006a6a00006c6a00006e6a0000706a0000726a0000746a0000766a0000786a00007a6a00007c6a00007e6a0000806a0000826a0000846a0000866a0000886a00008a6a00008c6a00008e6a0000906a0000926a0000946a0000966a0000986a00009a6a00009c6a00009e6a0000a06a0000a26a0000a46a0000a66a0000a86a0000aa6a0000ac6a0000ae6a0000b06a0000a66c0000b86c0000dc6c0000ffffff7f
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1404,9 +1404,9 @@ MonoBehaviour:
m_Tooltip:
m_Pos:
serializedVersion: 2
x: 1318
x: 1709
y: 73
width: 601
width: 210
height: 926
m_SerializedDataModeController:
m_DataMode: 0
@ -1421,7 +1421,7 @@ MonoBehaviour:
m_ObjectsLockedBeforeSerialization: []
m_InstanceIDsLockedBeforeSerialization:
m_PreviewResizer:
m_CachedPref: 151
m_CachedPref: 290
m_ControlHash: 1412526313
m_PrefName: Preview_InspectorPreview
m_LastInspectedObjectInstanceID: -1