diff --git a/Client/.claude/settings.local.json b/Client/.claude/settings.local.json
deleted file mode 100644
index 2eb0ffe..0000000
--- a/Client/.claude/settings.local.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "permissions": {
- "allow": [
- "Bash(git rm \"Runtime/RecyclerView/RecyclerViewBuilder.cs\")",
- "Bash(git add -A)"
- ]
- }
-}
diff --git a/Client/Assets/InputGlyph/TestRebindScript.cs b/Client/Assets/InputGlyph/TestRebindScript.cs
index a24dfb7..0c24f91 100644
--- a/Client/Assets/InputGlyph/TestRebindScript.cs
+++ b/Client/Assets/InputGlyph/TestRebindScript.cs
@@ -8,6 +8,9 @@ using UnityEngine.InputSystem;
using InputRemapper;
using UnityEngine.UI;
+///
+/// 测试用不需要繁琐处理
+///
public class TestRebindScript : MonoBehaviour
{
[Header("UI")] public UXButton btn;
diff --git a/Client/Assets/Scenes/Desingn.unity b/Client/Assets/Scenes/Desingn.unity
index 676816c..3acdcd4 100644
--- a/Client/Assets/Scenes/Desingn.unity
+++ b/Client/Assets/Scenes/Desingn.unity
@@ -600,6 +600,140 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1044533289
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1044533290}
+ - component: {fileID: 1044533292}
+ - component: {fileID: 1044533291}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1044533290
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1044533289}
+ 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: 1792593956}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1044533291
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1044533289}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Button
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 7cdd102360e32234383f8e3f40da47a9, type: 2}
+ m_sharedMaterial: {fileID: -1232377485662373643, guid: 7cdd102360e32234383f8e3f40da47a9, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4281479730
+ m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 24
+ m_fontSizeBase: 24
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1044533292
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1044533289}
+ m_CullTransparentMesh: 1
--- !u!224 &1162767588 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3110666966229274110, guid: 9368ff38b2090b2468f8358242026e4b, type: 3}
@@ -667,8 +801,149 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 3110666966229274110, guid: 9368ff38b2090b2468f8358242026e4b, type: 3}
insertIndex: -1
addedObject: {fileID: 2231168299281511538}
+ - targetCorrespondingSourceObject: {fileID: 3110666966229274110, guid: 9368ff38b2090b2468f8358242026e4b, type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 1792593956}
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 9368ff38b2090b2468f8358242026e4b, type: 3}
+--- !u!1 &1792593955
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1792593956}
+ - component: {fileID: 1792593959}
+ - component: {fileID: 1792593958}
+ - component: {fileID: 1792593957}
+ m_Layer: 5
+ m_Name: UXButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1792593956
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1792593955}
+ 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: 1044533290}
+ m_Father: {fileID: 1162767588}
+ 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: 705, y: 370}
+ m_SizeDelta: {x: 210.12, y: 91.69}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1792593957
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1792593955}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d7e92b092d584bb39e5239463f064cbe, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ 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: 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: 1792593958}
+ m_ChildTransitions: []
+ _hotkeyAction: {fileID: 0}
+ _hotkeyPressType: 0
+ hoverAudioClip: {fileID: 0}
+ clickAudioClip: {fileID: 0}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 6279474556444803610}
+ m_TargetAssemblyTypeName: TestRecyclerView, GameLogic
+ m_MethodName: Scroll
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+--- !u!114 &1792593958
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1792593955}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1792593959
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1792593955}
+ m_CullTransparentMesh: 1
--- !u!1 &1801506111
GameObject:
m_ObjectHideFlags: 0
@@ -958,6 +1233,10 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
itemListView: {fileID: 3519587243261575153}
+ scrollIndex: 0
+ scrollAlignment: 0
+ scrollOffset: 0
+ scrollDuration: 0
--- !u!1 &7799260367698656391
GameObject:
m_ObjectHideFlags: 0
diff --git a/Client/Assets/Scripts/Hotfix/GameLogic/UI/TestRecyclerView.cs b/Client/Assets/Scripts/Hotfix/GameLogic/UI/TestRecyclerView.cs
index f59c1e3..0002e83 100644
--- a/Client/Assets/Scripts/Hotfix/GameLogic/UI/TestRecyclerView.cs
+++ b/Client/Assets/Scripts/Hotfix/GameLogic/UI/TestRecyclerView.cs
@@ -12,11 +12,14 @@ public class TestData : ISimpleViewData
public class TestRecyclerView : MonoBehaviour
{
public RecyclerView itemListView;
- public UGList list;
-
+ public UGLoopList list;
+ public int scrollIndex = 0;
+ public ScrollAlignment scrollAlignment;
+ public float scrollOffset;
+ public float scrollDuration;
void Start()
{
- list = UGListCreateHelper.Create(itemListView, (data) => { Debug.Log(data.Name); });
+ list = UGListCreateHelper.CreateLoop(itemListView, OnBtnItemClick);
List datas = new();
for (int i = 0; i < 150; i++)
@@ -25,10 +28,16 @@ public class TestRecyclerView : MonoBehaviour
}
list.Data = datas;
+
}
private void OnBtnItemClick(TestData obj)
{
Debug.Log(obj.Name);
}
+
+ public void Scroll()
+ {
+ list.ScrollTo(scrollIndex,scrollAlignment,scrollOffset,true,duration:scrollDuration);
+ }
}
diff --git a/Client/Assets/Test/GameLogic.dll.bytes b/Client/Assets/Test/GameLogic.dll.bytes
index 4532a81..593b386 100644
Binary files a/Client/Assets/Test/GameLogic.dll.bytes and b/Client/Assets/Test/GameLogic.dll.bytes differ
diff --git a/Client/Assets/Test/GameLogic.pdb.bytes b/Client/Assets/Test/GameLogic.pdb.bytes
index 55d0375..9354c96 100644
Binary files a/Client/Assets/Test/GameLogic.pdb.bytes and b/Client/Assets/Test/GameLogic.pdb.bytes differ
diff --git a/Client/Packages/com.alicizax.unity.ui.extension b/Client/Packages/com.alicizax.unity.ui.extension
index 26c205d..ca46f80 160000
--- a/Client/Packages/com.alicizax.unity.ui.extension
+++ b/Client/Packages/com.alicizax.unity.ui.extension
@@ -1 +1 @@
-Subproject commit 26c205ddc0ba7167abd365b425d286a20c94115a
+Subproject commit ca46f80d674efe7410e3988512eeb97e3d40b9ff