diff --git a/Assets/Art/UIPrefab/UIImageTip.prefab b/Assets/Art/UIPrefab/UIImageTip.prefab index 29086c1d..f031b483 100644 --- a/Assets/Art/UIPrefab/UIImageTip.prefab +++ b/Assets/Art/UIPrefab/UIImageTip.prefab @@ -1,5 +1,312 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &30833657531096789 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7283076153574743914} + - component: {fileID: 8190097409874675749} + - component: {fileID: 8644373798225081904} + - component: {fileID: 3944841449389482800} + - component: {fileID: 6019649329575978101} + m_Layer: 0 + m_Name: Loading + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7283076153574743914 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 30833657531096789} + 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: 457338256681516575} + 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, y: 0} + m_SizeDelta: {x: 51, y: 51} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8190097409874675749 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 30833657531096789} + m_CullTransparentMesh: 1 +--- !u!114 &8644373798225081904 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 30833657531096789} + 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: 21300000, guid: dd4271b73b405d94db60e4ba44aff1a5, 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 +--- !u!114 &3944841449389482800 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 30833657531096789} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: Loading + CustomComment: + mComponentName: UnityEngine.UI.Image +--- !u!114 &6019649329575978101 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 30833657531096789} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3} + m_Name: + m_EditorClassIdentifier: + updateType: 0 + isSpeedBased: 0 + hasOnStart: 0 + hasOnPlay: 0 + hasOnUpdate: 0 + hasOnStepComplete: 0 + hasOnComplete: 0 + hasOnTweenCreated: 0 + hasOnRewind: 0 + onStart: + m_PersistentCalls: + m_Calls: [] + onPlay: + m_PersistentCalls: + m_Calls: [] + onUpdate: + m_PersistentCalls: + m_Calls: [] + onStepComplete: + m_PersistentCalls: + m_Calls: [] + onComplete: + m_PersistentCalls: + m_Calls: [] + onTweenCreated: + m_PersistentCalls: + m_Calls: [] + onRewind: + m_PersistentCalls: + m_Calls: [] + targetIsSelf: 1 + targetGO: {fileID: 0} + tweenTargetIsTargetGO: 1 + delay: 0 + duration: 1 + easeType: 1 + easeCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + loopType: 2 + loops: -1 + id: + isRelative: 0 + isFrom: 0 + isIndependentUpdate: 0 + autoKill: 1 + autoGenerate: 1 + isActive: 1 + isValid: 1 + target: {fileID: 7283076153574743914} + animationType: 4 + targetType: 11 + forcedTargetType: 0 + autoPlay: 1 + useTargetAsV3: 0 + endValueFloat: 0 + endValueV3: {x: 0, y: 0, z: -360} + endValueV2: {x: 0, y: 0} + endValueColor: {r: 1, g: 1, b: 1, a: 1} + endValueString: + endValueRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + endValueTransform: {fileID: 0} + optionalBool0: 0 + optionalBool1: 0 + optionalFloat0: 0 + optionalInt0: 0 + optionalRotationMode: 1 + optionalScrambleMode: 0 + optionalShakeRandomnessMode: 0 + optionalString: +--- !u!1 &4357527744309548703 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3179436582214181176} + - component: {fileID: 1201339466389057861} + - component: {fileID: 7281622459385885556} + - component: {fileID: 6226203286200918880} + - component: {fileID: 7387790493629708447} + m_Layer: 0 + m_Name: Img + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3179436582214181176 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4357527744309548703} + 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: 7679583515489790641} + m_Father: {fileID: 457338256681516575} + 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, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1201339466389057861 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4357527744309548703} + m_CullTransparentMesh: 1 +--- !u!114 &7281622459385885556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4357527744309548703} + 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: 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 +--- !u!114 &6226203286200918880 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4357527744309548703} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: Img + CustomComment: + mComponentName: UnityEngine.UI.Image +--- !u!114 &7387790493629708447 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4357527744309548703} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ddbdb059a0308e40b50b8affd380b70, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &4848351076784976432 GameObject: m_ObjectHideFlags: 0 @@ -11,8 +318,9 @@ GameObject: - component: {fileID: 6979886525316513726} - component: {fileID: 6280186421294349216} - component: {fileID: 3487113180645688331} + - component: {fileID: 204670043180775299} m_Layer: 0 - m_Name: Image + m_Name: Bg m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -75,6 +383,22 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!114 &204670043180775299 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4848351076784976432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: + CustomComment: + mComponentName: UnityEngine.UI.Image --- !u!1 &5835930990146443873 GameObject: m_ObjectHideFlags: 0 @@ -105,6 +429,8 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 6979886525316513726} + - {fileID: 3179436582214181176} + - {fileID: 7283076153574743914} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -124,3 +450,144 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 76e35f1886b37234dbf8284499e43f29, type: 3} m_Name: m_EditorClassIdentifier: + Bg: {fileID: 3487113180645688331} + Img: {fileID: 7281622459385885556} + CloseBtn: {fileID: 8060087292099783694} + Loading: {fileID: 8644373798225081904} +--- !u!1 &6949064777284943882 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7679583515489790641} + - component: {fileID: 570271698403392561} + - component: {fileID: 7515914936111753226} + - component: {fileID: 8060087292099783694} + - component: {fileID: 2170269065230433368} + m_Layer: 0 + m_Name: CloseBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7679583515489790641 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6949064777284943882} + 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: 3179436582214181176} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -14, y: -14} + m_SizeDelta: {x: 28, y: 28} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &570271698403392561 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6949064777284943882} + m_CullTransparentMesh: 1 +--- !u!114 &7515914936111753226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6949064777284943882} + 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: 21300000, guid: 9225a255e7db0f94992879e3437ed1ad, 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 +--- !u!114 &8060087292099783694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6949064777284943882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 7515914936111753226} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &2170269065230433368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6949064777284943882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: + CustomComment: + mComponentName: UnityEngine.UI.Button diff --git a/Assets/Scenes/TestUIPanels/TestUIImageTip.unity b/Assets/Scenes/TestUIPanels/TestUIImageTip.unity index 1244264e..8674cba8 100644 --- a/Assets/Scenes/TestUIPanels/TestUIImageTip.unity +++ b/Assets/Scenes/TestUIPanels/TestUIImageTip.unity @@ -123,140 +123,6 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &22812770 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 22812771} - - component: {fileID: 22812773} - - component: {fileID: 22812772} - m_Layer: 0 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &22812771 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 22812770} - 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: 1278905444} - 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 &22812772 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 22812770} - 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: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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 &22812773 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 22812770} - m_CullTransparentMesh: 1 --- !u!1 &96677998 GameObject: m_ObjectHideFlags: 0 @@ -564,203 +430,6 @@ Transform: m_Children: [] m_Father: {fileID: 700073059} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1197716458 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1197716459} - - component: {fileID: 1197716461} - - component: {fileID: 1197716460} - m_Layer: 0 - m_Name: Img - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1197716459 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1197716458} - 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: 1278905444} - m_Father: {fileID: 5728886842189274064} - 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, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1197716460 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1197716458} - 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: 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 ---- !u!222 &1197716461 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1197716458} - m_CullTransparentMesh: 1 ---- !u!1 &1278905443 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1278905444} - - component: {fileID: 1278905447} - - component: {fileID: 1278905446} - - component: {fileID: 1278905445} - m_Layer: 0 - m_Name: CloseBtn - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1278905444 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1278905443} - 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: 22812771} - m_Father: {fileID: 1197716459} - 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, y: 0} - m_SizeDelta: {x: 160, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1278905445 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1278905443} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 1278905446} - m_OnClick: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &1278905446 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1278905443} - 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 &1278905447 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1278905443} - m_CullTransparentMesh: 1 --- !u!1 &1313789980 GameObject: m_ObjectHideFlags: 0 @@ -1204,20 +873,13 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 4848351076784976432, guid: 8ef4844018ab21848a5b9894fe23938a, type: 3} - propertyPath: m_Name - value: Bg - objectReference: {fileID: 0} - target: {fileID: 5835930990146443873, guid: 8ef4844018ab21848a5b9894fe23938a, type: 3} propertyPath: m_Name value: UIImageTip objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] - m_AddedGameObjects: - - targetCorrespondingSourceObject: {fileID: 457338256681516575, guid: 8ef4844018ab21848a5b9894fe23938a, type: 3} - insertIndex: -1 - addedObject: {fileID: 1197716459} + m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 8ef4844018ab21848a5b9894fe23938a, type: 3} --- !u!224 &5728886842189274064 stripped diff --git a/Assets/Scripts/Actions/ActionHelper.cs b/Assets/Scripts/Actions/ActionHelper.cs index b7eab951..c760c57b 100644 --- a/Assets/Scripts/Actions/ActionHelper.cs +++ b/Assets/Scripts/Actions/ActionHelper.cs @@ -21,6 +21,7 @@ public class ActionHelper { "UICameraSwitch", typeof(QFramework.Example.UICameraSwitch) }, { "UIInstruction", typeof(QFramework.Example.UIInstruction) }, { "UIScore", typeof(QFramework.Example.UIScore) }, + { "UIImageTip", typeof(QFramework.Example.UIImageTip) }, }; @@ -246,6 +247,12 @@ public class ActionHelper var dictAction = (XMLTool.InputAction)act; return QFramework.InputAction.Allocate(dictAction.data); } + case "ImageTip": + { + var dictAction = (XMLTool.DictionaryAction)act; + return QFramework.ImageTipAction.Allocate(dictAction.args); + } + default: Debug.LogError($"没有找到此Action的类型{act.Type}"); break; diff --git a/Assets/Scripts/Actions/ImageTipAction.cs b/Assets/Scripts/Actions/ImageTipAction.cs new file mode 100644 index 00000000..34c91a8d --- /dev/null +++ b/Assets/Scripts/Actions/ImageTipAction.cs @@ -0,0 +1,88 @@ +using QFramework.Example; +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace QFramework +{ + internal class ImageTipAction : IAction + { + public System.Action OnFinished { get; set; } + + + private ImageTipAction() + { + } + + private static readonly SimpleObjectPool mPool = + new SimpleObjectPool(() => new ImageTipAction(), null, 10); + Dictionary datas; + public static ImageTipAction Allocate(Dictionary datas, System.Action OnFinished = null) + { + var retNode = mPool.Allocate(); + retNode.ActionID = ActionKit.ID_GENERATOR++; + retNode.Deinited = false; + retNode.Reset(); + retNode.OnFinished = OnFinished; + retNode.datas = datas; + return retNode; + } + + + public ulong ActionID { get; set; } + public ActionStatus Status { get; set; } + + public void OnStart() + { + UIImageTipData data = new UIImageTipData(); + data.imgPath = datas.ContainsKey("path") ? datas["path"] : string.Empty; + if (datas.ContainsKey("size")) + { + data.size = Utility.GetVector2FromStrArray(datas["size"]); + } + if (datas.ContainsKey("isDrag")) + { + bool.TryParse(datas["isDrag"], out data.isDrag); + } + if (datas.ContainsKey("position")) + { + data.position = Utility.GetVector2FromStrArray(datas["position"]); + } + UIKit.OpenPanelAsync(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => + { + this.Finish(); + }); + } + + public void OnExecute(float dt) + { + + } + + public void OnFinish() + { + } + + public void Reset() + { + Status = ActionStatus.NotStart; + Paused = false; + } + + public bool Paused { get; set; } + + public void Deinit() + { + if (!Deinited) + { + OnFinished = null; + Deinited = true; + mPool.Recycle(this); + } + } + + public bool Deinited { get; set; } + } + + +} \ No newline at end of file diff --git a/Assets/Scripts/Actions/ImageTipAction.cs.meta b/Assets/Scripts/Actions/ImageTipAction.cs.meta new file mode 100644 index 00000000..11dab0df --- /dev/null +++ b/Assets/Scripts/Actions/ImageTipAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d6e6cb13cd02a554484463cd78708913 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Item/UIDragItem.cs b/Assets/Scripts/Item/UIDragItem.cs new file mode 100644 index 00000000..12f9da2c --- /dev/null +++ b/Assets/Scripts/Item/UIDragItem.cs @@ -0,0 +1,65 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +public class UIDragItem : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler +{ + private RectTransform rectTransform; // UI 图片的 RectTransform + private CanvasGroup canvasGroup; // CanvasGroup 用于处理拖拽时的透明度 + private Vector2 startPosition; // 拖拽开始时的初始位置 + + void Start() + { + // 获取 RectTransform 组件 + rectTransform = GetComponent(); + + // 添加 CanvasGroup 组件(如果不存在) + canvasGroup = GetComponent(); + if (canvasGroup == null) + { + canvasGroup = gameObject.AddComponent(); + } + } + + // 开始拖拽时调用 + public void OnBeginDrag(PointerEventData eventData) + { + // 记录初始位置 + startPosition = rectTransform.anchoredPosition; + + // 降低透明度,表示拖拽状态 + canvasGroup.alpha = 0.6f; + + // 禁用 Raycast 目标,防止拖拽时阻挡其他 UI 事件 + canvasGroup.blocksRaycasts = false; + } + + // 拖拽过程中调用 + public void OnDrag(PointerEventData eventData) + { + // 将屏幕坐标转换为 UI 坐标 + Vector2 screenPoint = eventData.position; + RectTransformUtility.ScreenPointToLocalPointInRectangle( + rectTransform.parent as RectTransform, // 父对象(Canvas 或 Panel) + screenPoint, // 屏幕坐标 + eventData.pressEventCamera, // 相机(Canvas 的渲染模式决定) + out Vector2 localPoint // 输出的本地坐标 + ); + + // 更新 UI 图片的位置 + rectTransform.anchoredPosition = localPoint; + } + + // 结束拖拽时调用 + public void OnEndDrag(PointerEventData eventData) + { + // 恢复透明度 + canvasGroup.alpha = 1.0f; + + // 启用 Raycast 目标 + canvasGroup.blocksRaycasts = true; + + // 如果需要,可以将 UI 图片重置到初始位置 + // rectTransform.anchoredPosition = startPosition; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Item/UIDragItem.cs.meta b/Assets/Scripts/Item/UIDragItem.cs.meta new file mode 100644 index 00000000..85242e2c --- /dev/null +++ b/Assets/Scripts/Item/UIDragItem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0ddbdb059a0308e40b50b8affd380b70 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/UIImageTip.Designer.cs b/Assets/Scripts/UI/UIImageTip.Designer.cs index e5216242..8ba777d9 100644 --- a/Assets/Scripts/UI/UIImageTip.Designer.cs +++ b/Assets/Scripts/UI/UIImageTip.Designer.cs @@ -5,16 +5,28 @@ using QFramework; namespace QFramework.Example { - // Generate Id:fccb4559-e4f7-489f-9594-d808ed76c7ae + // Generate Id:57bed04b-0792-4429-9515-a01b9e291182 public partial class UIImageTip { public const string Name = "UIImageTip"; + [SerializeField] + public UnityEngine.UI.Image Bg; + [SerializeField] + public UnityEngine.UI.Image Img; + [SerializeField] + public UnityEngine.UI.Button CloseBtn; + [SerializeField] + public UnityEngine.UI.Image Loading; private UIImageTipData mPrivateData = null; protected override void ClearUIComponents() { + Bg = null; + Img = null; + CloseBtn = null; + Loading = null; mData = null; } diff --git a/Assets/Scripts/UI/UIImageTip.cs b/Assets/Scripts/UI/UIImageTip.cs index 470d2bcf..167aea65 100644 --- a/Assets/Scripts/UI/UIImageTip.cs +++ b/Assets/Scripts/UI/UIImageTip.cs @@ -1,34 +1,79 @@ using UnityEngine; using UnityEngine.UI; using QFramework; +using UnityEngine.EventSystems; +using System.Drawing; +using static UnityEditor.Progress; +using DG.Tweening; namespace QFramework.Example { - public class UIImageTipData : UIPanelData - { - } - public partial class UIImageTip : UIPanel - { - protected override void OnInit(IUIData uiData = null) - { - mData = uiData as UIImageTipData ?? new UIImageTipData(); - // please add init code here - } - - protected override void OnOpen(IUIData uiData = null) - { - } - - protected override void OnShow() - { - } - - protected override void OnHide() - { - } - - protected override void OnClose() - { - } - } + public class UIImageTipData : UIPanelData + { + public bool isDrag = true; + public Vector2 size; + public string imgPath; + public Vector2 position; + } + public partial class UIImageTip : UIPanel + { + DOTweenAnimation loadingAnim; + protected override void OnInit(IUIData uiData = null) + { + loadingAnim = Loading.GetComponent(); + CloseBtn.onClick.AddListener(() => + { + Hide(); + }); + } + + + + protected override void OnOpen(IUIData uiData = null) + { + mData = uiData as UIImageTipData ?? new UIImageTipData(); + Loading.gameObject.SetActive(true); + loadingAnim.DOPlay(); + Img.gameObject.SetActive(false); + Img.GetComponent().anchoredPosition = Vector2.zero; + ResLoader loader = ResLoader.Allocate(); + var localImageUrl = Global.imagePath + mData.imgPath; + loader.Add2Load(localImageUrl.ToNetImageResName(), + (bool success, IRes res) => + { + if (success) + { + Img.sprite = Utility.GetSprite(res.Asset as Texture2D); + if (mData.size == default) + { + Img.SetNativeSize(); + } + else + { + Img.rectTransform.sizeDelta = mData.size; + } + Img.gameObject.SetActive(true); + loadingAnim.DOPause(); + Loading.gameObject.SetActive(false); + } + }); + Img.GetComponent().enabled = mData.isDrag; + Img.rectTransform.anchoredPosition = mData.position; + loader.LoadAsync(); + } + + protected override void OnShow() + { + } + + protected override void OnHide() + { + } + + protected override void OnClose() + { + } + + + } } diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index 44ab774b..c6fcf0df 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -1252,6 +1252,32 @@ namespace XMLTool newAction = act; } break; + case "ImageTip": + { + var act = new DictionaryAction(); + XAttribute path = action.Attribute("path"); + if (path != null) + { + act.args.Add("path", path.Value); + } + XAttribute size = action.Attribute("size"); + if (size != null) + { + act.args.Add("size", size.Value); + } + XAttribute isDrag = action.Attribute("isDrag"); + if (isDrag != null) + { + act.args.Add("isDrag", isDrag.Value); + } + XAttribute position = action.Attribute("position"); + if (position != null) + { + act.args.Add("position", position.Value); + } + newAction = act; + } + break; default: newAction = new Action(); break; diff --git a/Data/Image/楠ㄥ垁.png b/Data/Image/楠ㄥ垁.png new file mode 100644 index 00000000..7be3ed39 Binary files /dev/null and b/Data/Image/楠ㄥ垁.png differ diff --git a/Doc/Xml閰嶇疆鏂囨。.xml b/Doc/Xml閰嶇疆鏂囨。.xml index 892386fb..c28c9ffd 100644 --- a/Doc/Xml閰嶇疆鏂囨。.xml +++ b/Doc/Xml閰嶇疆鏂囨。.xml @@ -148,6 +148,11 @@ + +