优化animationAction,可以执行结束回调。
This commit is contained in:
parent
3aa5959942
commit
35cc3eb634
File diff suppressed because one or more lines are too long
386
Assets/Art/UIPrefab/UIBtnAnim.prefab
Normal file
386
Assets/Art/UIPrefab/UIBtnAnim.prefab
Normal file
@ -0,0 +1,386 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &888909943769043762
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2455104703269169515}
|
||||
- component: {fileID: 8071289481082098997}
|
||||
- component: {fileID: 5717625264412707283}
|
||||
m_Layer: 5
|
||||
m_Name: Connet
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2455104703269169515
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 888909943769043762}
|
||||
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: 946527045819641235}
|
||||
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!222 &8071289481082098997
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 888909943769043762}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5717625264412707283
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 888909943769043762}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
MarkType: 0
|
||||
CustomComponentName: Connet
|
||||
CustomComment:
|
||||
mComponentName: RectTransform
|
||||
--- !u!1 &1955485345176731299
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1534706108698119352}
|
||||
- component: {fileID: 1877138455817556542}
|
||||
- component: {fileID: 1330951462221677750}
|
||||
- component: {fileID: 7100170086842866590}
|
||||
- component: {fileID: 1034727462169220460}
|
||||
m_Layer: 5
|
||||
m_Name: Button
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1534706108698119352
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1955485345176731299}
|
||||
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: 7804531469293025173}
|
||||
m_Father: {fileID: 4910365175849963417}
|
||||
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: 214}
|
||||
m_SizeDelta: {x: 160, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1877138455817556542
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1955485345176731299}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1330951462221677750
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1955485345176731299}
|
||||
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: 8c77a2052664d0d4e9be892444deddd1, type: 3}
|
||||
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!114 &7100170086842866590
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1955485345176731299}
|
||||
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: 1330951462221677750}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!114 &1034727462169220460
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1955485345176731299}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
MarkType: 0
|
||||
CustomComponentName: Button
|
||||
CustomComment:
|
||||
mComponentName: UnityEngine.UI.Button
|
||||
--- !u!1 &2424100460547051079
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7804531469293025173}
|
||||
- component: {fileID: 7575573765244966374}
|
||||
- component: {fileID: 6469648917734045210}
|
||||
m_Layer: 5
|
||||
m_Name: TitleText
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7804531469293025173
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2424100460547051079}
|
||||
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: 1534706108698119352}
|
||||
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!222 &7575573765244966374
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2424100460547051079}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6469648917734045210
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2424100460547051079}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData:
|
||||
m_Font: {fileID: 12800000, guid: ed2dcf76fce32514fbf37799df2d4136, type: 3}
|
||||
m_FontSize: 16
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Button
|
||||
--- !u!1 &5657257549572006007
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4910365175849963417}
|
||||
- component: {fileID: 3263579343605595289}
|
||||
m_Layer: 5
|
||||
m_Name: Prefabs
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &4910365175849963417
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5657257549572006007}
|
||||
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: 1534706108698119352}
|
||||
m_Father: {fileID: 946527045819641235}
|
||||
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 &3263579343605595289
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5657257549572006007}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &6694362606900500821
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 946527045819641235}
|
||||
- component: {fileID: 3880217740787222117}
|
||||
- component: {fileID: 7270361816578231170}
|
||||
m_Layer: 5
|
||||
m_Name: UIBtnAnim
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &946527045819641235
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6694362606900500821}
|
||||
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: 2455104703269169515}
|
||||
- {fileID: 4910365175849963417}
|
||||
m_Father: {fileID: 0}
|
||||
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!222 &3880217740787222117
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6694362606900500821}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7270361816578231170
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6694362606900500821}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5126b39382a736d409f3198a28eb8528, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Connet: {fileID: 2455104703269169515}
|
||||
Button: {fileID: 7100170086842866590}
|
||||
7
Assets/Art/UIPrefab/UIBtnAnim.prefab.meta
Normal file
7
Assets/Art/UIPrefab/UIBtnAnim.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8cd43b919d8882f4790788a5590e71d6
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName: uibtnanim_prefab
|
||||
assetBundleVariant:
|
||||
@ -67,7 +67,7 @@ MonoBehaviour:
|
||||
m_Calls: []
|
||||
m_text: 1
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 97936a7b3a86809479ac89371e95b079, type: 2}
|
||||
m_fontAsset: {fileID: 11400000, guid: 9bbfb1bdb0251664eb0932e39724900e, type: 2}
|
||||
m_sharedMaterial: {fileID: 168401102475399263, guid: 97936a7b3a86809479ac89371e95b079, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
@ -131,7 +131,7 @@ MonoBehaviour:
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_hasFontAssetChanged: 1
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &2587655409017112171
|
||||
@ -167,7 +167,7 @@ RectTransform:
|
||||
m_Father: {fileID: 3292507068126063065}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {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}
|
||||
@ -451,7 +451,7 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8109171602776719836}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
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
|
||||
@ -486,7 +486,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8109171602776719836}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
|
||||
@ -35,8 +35,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: -351.41528, y: 251.92322}
|
||||
m_SizeDelta: {x: 702.8304, y: 503.8465}
|
||||
m_AnchoredPosition: {x: -218.49231, y: 198.75409}
|
||||
m_SizeDelta: {x: 436.9846, y: 397.5081}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4232815537607907880
|
||||
CanvasRenderer:
|
||||
@ -192,9 +192,9 @@ RectTransform:
|
||||
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_AnchoredPosition: {x: 0.000015258789, y: 0.000045776367}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!222 &7435543090623703973
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -219,14 +219,14 @@ MonoBehaviour:
|
||||
m_Left: 80
|
||||
m_Right: 20
|
||||
m_Top: 10
|
||||
m_Bottom: 20
|
||||
m_Bottom: 10
|
||||
m_ChildAlignment: 1
|
||||
m_Spacing: 0
|
||||
m_Spacing: 5
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 1
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &2092374977566157491
|
||||
|
||||
@ -274,7 +274,7 @@ RectTransform:
|
||||
m_Father: {fileID: 978605113392597977}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {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}
|
||||
@ -354,9 +354,9 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 320, y: 548}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 5, y: 96}
|
||||
m_SizeDelta: {x: 320, y: 419.6067}
|
||||
m_Pivot: {x: 1, y: 0.5}
|
||||
--- !u!222 &9046346095875189800
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -594,7 +594,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &4763730971436534081
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -36,7 +36,36 @@ ModelImporter:
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
clipAnimations:
|
||||
- serializedVersion: 16
|
||||
name: Lengzhu
|
||||
takeName: Take 001
|
||||
internalID: 1827226128182048838
|
||||
firstFrame: 1
|
||||
lastFrame: 120
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
@ -102,7 +131,7 @@ ModelImporter:
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
animationType: 1
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
|
||||
@ -36,7 +36,36 @@ ModelImporter:
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
clipAnimations:
|
||||
- serializedVersion: 16
|
||||
name: Lengzhui
|
||||
takeName: Take 001
|
||||
internalID: 1827226128182048838
|
||||
firstFrame: 1
|
||||
lastFrame: 120
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
|
||||
@ -41,7 +41,36 @@ ModelImporter:
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
clipAnimations:
|
||||
- serializedVersion: 16
|
||||
name: Qiuti
|
||||
takeName: Take 001
|
||||
internalID: 1827226128182048838
|
||||
firstFrame: 1
|
||||
lastFrame: 300
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
|
||||
@ -41,7 +41,36 @@ ModelImporter:
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
clipAnimations:
|
||||
- serializedVersion: 16
|
||||
name: Yuanzhu
|
||||
takeName: Take 001
|
||||
internalID: 1827226128182048838
|
||||
firstFrame: 1
|
||||
lastFrame: 300
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
|
||||
@ -41,7 +41,36 @@ ModelImporter:
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
clipAnimations:
|
||||
- serializedVersion: 16
|
||||
name: Yuanzhui
|
||||
takeName: Take 001
|
||||
internalID: 1827226128182048838
|
||||
firstFrame: 1
|
||||
lastFrame: 300
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
|
||||
@ -28,7 +28,7 @@ Material:
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_DoubleSidedGI: 1
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
@ -102,7 +102,7 @@ Material:
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
|
||||
@ -28,7 +28,7 @@ Material:
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_DoubleSidedGI: 1
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
@ -102,7 +102,7 @@ Material:
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
|
||||
@ -15,7 +15,7 @@ Material:
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_DoubleSidedGI: 1
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
@ -89,7 +89,7 @@ Material:
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
|
||||
@ -28,7 +28,7 @@ Material:
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_DoubleSidedGI: 1
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
@ -102,7 +102,7 @@ Material:
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
|
||||
@ -28,7 +28,7 @@ Material:
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_DoubleSidedGI: 1
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
@ -102,7 +102,7 @@ Material:
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
|
||||
@ -28,7 +28,7 @@ Material:
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_DoubleSidedGI: 1
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
@ -102,7 +102,7 @@ Material:
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -38,7 +38,7 @@ RenderSettings:
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.12731749, g: 0.13414757, b: 0.1210787, a: 1}
|
||||
m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
@ -419,6 +419,7 @@ MonoBehaviour:
|
||||
Bg: {fileID: 1183338701}
|
||||
Common: {fileID: 1449885628}
|
||||
PopUI: {fileID: 2054827731}
|
||||
RightBottom: {fileID: 0}
|
||||
CanvasPanel: {fileID: 1167171815}
|
||||
--- !u!114 &893691646
|
||||
MonoBehaviour:
|
||||
@ -705,6 +706,26 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 744551311}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1063180806212692488, guid: 7cdfaf99908d99b4698101d27f4ca55b, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1063180806212692488, guid: 7cdfaf99908d99b4698101d27f4ca55b, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1063180806212692488, guid: 7cdfaf99908d99b4698101d27f4ca55b, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1063180806212692488, guid: 7cdfaf99908d99b4698101d27f4ca55b, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1063180806212692488, guid: 7cdfaf99908d99b4698101d27f4ca55b, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2387034669159657042, guid: 7cdfaf99908d99b4698101d27f4ca55b, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
|
||||
@ -28,9 +28,10 @@ public class ActionHelper
|
||||
{ "UITextTip", typeof(QFramework.Example.UITextTip) },
|
||||
{ "UITextWindow", typeof(QFramework.Example.UITextWindow) },
|
||||
{ "UIKnowledge", typeof(QFramework.Example.UIKnowledge) },
|
||||
{ "UIBackPack", typeof(QFramework.Example.UIBackPack) },
|
||||
{ "UIBackPack", typeof(QFramework.Example.UIBackPack) },
|
||||
{ "UIGuideTip", typeof(QFramework.Example.UIGuideTip) },
|
||||
{ "UISliderAnim", typeof(QFramework.Example.UISliderAnim) },
|
||||
{ "UIBtnAnim", typeof(QFramework.Example.UIBtnAnim) },
|
||||
};
|
||||
|
||||
|
||||
@ -158,7 +159,7 @@ public class ActionHelper
|
||||
case "TextTip":
|
||||
{
|
||||
var strAction = (XMLTool.DictionaryAction)act;
|
||||
return TextTipAction.Allocate(act.Value, strAction.args);
|
||||
return TextTipAction.Allocate(act.Value, strAction.args);
|
||||
}
|
||||
case "TextWindow":
|
||||
{
|
||||
@ -311,6 +312,13 @@ public class ActionHelper
|
||||
var dictAction = (XMLTool.DictionaryAction)act;
|
||||
return QFramework.BtnsAction.Allocate(dictAction.args);
|
||||
|
||||
}
|
||||
case "UIBtnAnim":
|
||||
{
|
||||
|
||||
var dictAction = (XMLTool.DictionaryAction)act;
|
||||
return QFramework.BtnAnimAction.Allocate(dictAction.args);
|
||||
|
||||
}
|
||||
default:
|
||||
Debug.LogError($"ûÓÐÕÒµ½´ËActionµÄÀàÐÍ{act.Type}");
|
||||
|
||||
@ -1,91 +1,99 @@
|
||||
using DG.Tweening;
|
||||
using DG.Tweening.Core;
|
||||
using DG.Tweening.Plugins.Options;
|
||||
using System;
|
||||
using DG.Tweening;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
using static OperationController;
|
||||
|
||||
using QFramework;
|
||||
namespace QFramework
|
||||
{
|
||||
internal class AnimationAction : IAction
|
||||
|
||||
internal class AnimationAction : IAction
|
||||
{
|
||||
public System.Action OnFinished
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
private AnimationAction()
|
||||
{
|
||||
}
|
||||
|
||||
public System.Action OnFinished { get; set; }
|
||||
private static readonly SimpleObjectPool<AnimationAction> mPool =
|
||||
new SimpleObjectPool<AnimationAction>(() => new AnimationAction(), null, 10);
|
||||
|
||||
string path;
|
||||
string animName;
|
||||
Animation anim;
|
||||
string frame;
|
||||
string speed;
|
||||
string deviceName;
|
||||
|
||||
private AnimationAction()
|
||||
float totalTime;
|
||||
GameObject obj;
|
||||
|
||||
public static AnimationAction Allocate(string path, Dictionary<string, string> datas, System.Action OnFinished = null)
|
||||
{
|
||||
var retNode = mPool.Allocate();
|
||||
retNode.ActionID = ActionKit.ID_GENERATOR++;
|
||||
retNode.Deinited = false;
|
||||
retNode.Reset();
|
||||
retNode.path = path;
|
||||
retNode.animName = datas.ContainsKey("animName") ? datas["animName"] : "";
|
||||
retNode.frame = datas.ContainsKey("frame") ? datas["frame"] : "";
|
||||
retNode.speed = datas.ContainsKey("speed") ? datas["speed"] : "";
|
||||
retNode.deviceName = datas.ContainsKey("deviceName") ? datas["deviceName"] : "";
|
||||
retNode.OnFinished = OnFinished;
|
||||
return retNode;
|
||||
}
|
||||
|
||||
public ulong ActionID
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
public ActionStatus Status
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
TweenerCore<float, float, FloatOptions> animDot;
|
||||
|
||||
public void OnStart()
|
||||
{
|
||||
if (string.IsNullOrEmpty(deviceName))
|
||||
{
|
||||
obj = Utility.FindObj(path);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj = DeviceController.Instance.GetDeviceObj(deviceName);
|
||||
}
|
||||
|
||||
private static readonly SimpleObjectPool<AnimationAction> mPool =
|
||||
new SimpleObjectPool<AnimationAction>(() => new AnimationAction(), null, 10);
|
||||
|
||||
|
||||
string path;
|
||||
string animName;
|
||||
Animation anim;
|
||||
string frame;
|
||||
string speed;
|
||||
string deviceName;
|
||||
|
||||
float totalTime;
|
||||
GameObject obj;
|
||||
public static AnimationAction Allocate(string path, Dictionary<string, string> datas, System.Action OnFinished = null)
|
||||
if (obj != null)
|
||||
{
|
||||
var retNode = mPool.Allocate();
|
||||
retNode.ActionID = ActionKit.ID_GENERATOR++;
|
||||
retNode.Deinited = false;
|
||||
retNode.Reset();
|
||||
retNode.path = path;
|
||||
retNode.animName = datas.ContainsKey("animName") ? datas["animName"] : "";
|
||||
retNode.frame = datas.ContainsKey("frame") ? datas["frame"] : "";
|
||||
retNode.speed = datas.ContainsKey("speed") ? datas["speed"] : "";
|
||||
retNode.deviceName = datas.ContainsKey("deviceName") ? datas["deviceName"] : "";
|
||||
retNode.OnFinished = OnFinished;
|
||||
return retNode;
|
||||
}
|
||||
public ulong ActionID { get; set; }
|
||||
public ActionStatus Status { get; set; }
|
||||
TweenerCore<float, float, FloatOptions> animDot;
|
||||
public void OnStart()
|
||||
{
|
||||
if (string.IsNullOrEmpty(deviceName))
|
||||
if (obj.activeSelf == false)
|
||||
{
|
||||
obj = Utility.FindObj(path);
|
||||
Debug.LogError(obj.name + "当前是隐藏状态");
|
||||
this.Finish();
|
||||
}
|
||||
else
|
||||
{
|
||||
obj = DeviceController.Instance.GetDeviceObj(deviceName);
|
||||
}
|
||||
if (obj != null)
|
||||
{
|
||||
if (obj.activeSelf == false)
|
||||
try
|
||||
{
|
||||
Debug.LogError(obj.name + "当前是隐藏状态");
|
||||
this.Finish();
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
anim = obj.GetComponent<Animation>();
|
||||
anim = obj.GetComponent<Animation>();
|
||||
|
||||
if (string.IsNullOrEmpty(frame) == false && frame != "-1")
|
||||
{
|
||||
int curFrame = 0;
|
||||
int.TryParse(frame, out curFrame);
|
||||
anim.clip = anim[animName].clip;
|
||||
anim[animName].time = curFrame / anim.clip.frameRate;
|
||||
anim.Play(animName);
|
||||
anim[animName].speed = 0;
|
||||
anim.Sample();
|
||||
this.Finish();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(frame) == false && frame != "-1")
|
||||
{
|
||||
int curFrame = 0;
|
||||
int.TryParse(frame, out curFrame);
|
||||
anim.clip = anim[animName].clip;
|
||||
anim[animName].time = curFrame / anim.clip.frameRate;
|
||||
anim.Play(animName);
|
||||
anim[animName].speed = 0;
|
||||
anim.Sample();
|
||||
this.Finish();
|
||||
}
|
||||
else
|
||||
{
|
||||
float curSpeed = 1;
|
||||
if (string.IsNullOrEmpty(speed) == false)
|
||||
{
|
||||
@ -95,84 +103,135 @@ namespace QFramework
|
||||
if (curSpeed < 0)
|
||||
{
|
||||
anim.Play(animName);
|
||||
anim[animName].normalizedTime = 1;
|
||||
animDot = DOTween.To(() => anim[animName].normalizedTime, v => anim[animName].normalizedTime = v, 0, anim[animName].length / Math.Abs(curSpeed));
|
||||
anim[animName].normalizedTime = 1; // 从动画末尾开始
|
||||
|
||||
// 计算倒播所需时间
|
||||
float duration = anim[animName].length / Math.Abs(curSpeed);
|
||||
|
||||
animDot = DOTween.To(
|
||||
() => anim[animName].normalizedTime,
|
||||
v => anim[animName].normalizedTime = v,
|
||||
0, // 倒播到动画开始
|
||||
duration
|
||||
);
|
||||
|
||||
animDot.onComplete = () =>
|
||||
{
|
||||
anim.Stop();
|
||||
this.Finish(); // 关键修改:添加完成调用
|
||||
};
|
||||
|
||||
totalTime = duration; // 设置总时间为动画播放时长
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
anim[animName].speed = curSpeed;
|
||||
anim.Play(animName);
|
||||
if (anim[animName].wrapMode == WrapMode.Loop)
|
||||
{
|
||||
this.Finish();
|
||||
}
|
||||
}
|
||||
{
|
||||
anim[animName].speed = curSpeed;
|
||||
anim.Play(animName);
|
||||
|
||||
totalTime = Math.Abs(anim[animName].length / curSpeed);
|
||||
|
||||
// 处理循环动画
|
||||
if (anim[animName].wrapMode == WrapMode.Loop)
|
||||
{
|
||||
// 示例:循环播放10秒后结束
|
||||
totalTime = 10f;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
anim = obj.GetComponent<Animation>();
|
||||
Debug.LogError($"{path} 播放动画 {animName} 出错");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("未找到路径:" + path);
|
||||
this.Finish();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void OnExecute(float dt)
|
||||
{
|
||||
totalTime -= Time.deltaTime;
|
||||
if (anim != null && (anim.isPlaying == false || totalTime <= 0))
|
||||
{
|
||||
this.Finish();
|
||||
}
|
||||
}
|
||||
|
||||
public void OnFinish()
|
||||
{
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
Status = ActionStatus.NotStart;
|
||||
Paused = false;
|
||||
}
|
||||
|
||||
public bool Paused { get; set; }
|
||||
|
||||
public void Deinit()
|
||||
{
|
||||
if (!Deinited)
|
||||
{
|
||||
if (obj != null)
|
||||
catch (Exception)
|
||||
{
|
||||
if (anim!=null)
|
||||
{
|
||||
anim.Stop();
|
||||
}
|
||||
anim = obj.GetComponent<Animation>();
|
||||
Debug.LogError($"{path} 播放动画 {animName} 出错");
|
||||
this.Finish();
|
||||
}
|
||||
animDot?.Kill();
|
||||
OnFinished = null;
|
||||
Deinited = true;
|
||||
obj = null;
|
||||
mPool.Recycle(this);
|
||||
}
|
||||
}
|
||||
|
||||
public bool Deinited { get; set; }
|
||||
else
|
||||
{
|
||||
Debug.LogError("未找到路径:" + path);
|
||||
this.Finish();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void OnExecute(float dt)
|
||||
{
|
||||
//if (Status != ActionStatus.NotStart) return;
|
||||
|
||||
totalTime -= dt;
|
||||
// 新增:处理倒播动画的完成检测
|
||||
if (anim != null && animDot != null && !animDot.IsPlaying())
|
||||
{
|
||||
this.Finish();
|
||||
return;
|
||||
}
|
||||
if (anim != null)
|
||||
{
|
||||
// 非循环动画判断
|
||||
if (anim[animName].wrapMode != WrapMode.Loop)
|
||||
{
|
||||
if (!anim.isPlaying || totalTime <= 0)
|
||||
{
|
||||
this.Finish();
|
||||
}
|
||||
}
|
||||
// 循环动画判断(基于总时间)
|
||||
else
|
||||
{
|
||||
if (totalTime <= 0)
|
||||
{
|
||||
anim.Stop(animName);
|
||||
this.Finish();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Finish();
|
||||
}
|
||||
}
|
||||
|
||||
public void OnFinish()
|
||||
{
|
||||
// Debug.Log("调用这个AnimActionfinish");
|
||||
OnFinished?.Invoke(); // 触发外部回调
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
Status = ActionStatus.NotStart;
|
||||
Paused = false;
|
||||
}
|
||||
|
||||
public bool Paused
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public void Deinit()
|
||||
{
|
||||
if (!Deinited)
|
||||
{
|
||||
if (obj != null && anim != null)
|
||||
{
|
||||
anim.Stop();
|
||||
}
|
||||
animDot?.Kill();
|
||||
OnFinished = null;
|
||||
Deinited = true;
|
||||
obj = null;
|
||||
mPool.Recycle(this);
|
||||
}
|
||||
}
|
||||
|
||||
public bool Deinited
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
}
|
||||
93
Assets/Scripts/Actions/BtnAnimAction.cs
Normal file
93
Assets/Scripts/Actions/BtnAnimAction.cs
Normal file
@ -0,0 +1,93 @@
|
||||
using QFramework;
|
||||
using QFramework.Example;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
namespace QFramework
|
||||
{
|
||||
|
||||
public class BtnAnimAction: IAction
|
||||
{
|
||||
public System.Action OnFinished
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public ulong ActionID
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
public ActionStatus Status
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
public bool Deinited
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
public bool Paused
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
private BtnAnimAction()
|
||||
{
|
||||
}
|
||||
|
||||
private static readonly SimpleObjectPool<BtnAnimAction> mPool =
|
||||
new SimpleObjectPool<BtnAnimAction>(() => new(), null, 10);
|
||||
Dictionary<string, string> datas;
|
||||
|
||||
public static BtnAnimAction Allocate(Dictionary<string, string> datas, System.Action onDelayFinish = null)
|
||||
{
|
||||
var retNode = mPool.Allocate();
|
||||
retNode.ActionID = ActionKit.ID_GENERATOR++;
|
||||
retNode.Deinited = false;
|
||||
retNode.Reset();
|
||||
retNode.datas = datas;
|
||||
return retNode;
|
||||
}
|
||||
|
||||
public void Deinit()
|
||||
{
|
||||
if (!Deinited)
|
||||
{
|
||||
Deinited = true;
|
||||
mPool.Recycle(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnExecute(float dt)
|
||||
{
|
||||
}
|
||||
|
||||
public void OnFinish()
|
||||
{
|
||||
// Debug.Log("Action OnFinish???");
|
||||
}
|
||||
|
||||
public void OnStart()
|
||||
{
|
||||
UIBtnAnimData data = new UIBtnAnimData();
|
||||
|
||||
data.title = datas.ContainsKey("title") ? datas["title"] : string.Empty;
|
||||
data.targetObj = datas.ContainsKey("targetObj") ? datas["targetObj"] : string.Empty;
|
||||
|
||||
data.size = datas.ContainsKey("size") ? datas["size"] : string.Empty;
|
||||
data.pos = datas.ContainsKey("pos") ? datas["pos"] : string.Empty;
|
||||
data.animName = datas.ContainsKey("animName") ? datas["animName"] : string.Empty;
|
||||
|
||||
UIKit.OpenPanelAsync<UIBtnAnim>(uiData: data, canvasLevel: UILevel.Common).ToAction().StartGlobal(() =>
|
||||
{
|
||||
this.Finish();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
Status = ActionStatus.NotStart;
|
||||
Paused = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/Actions/BtnAnimAction.cs.meta
Normal file
11
Assets/Scripts/Actions/BtnAnimAction.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 333f1ad89a77c0b41aabd4f7a8e16630
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -50,7 +50,7 @@ namespace QFramework.Example
|
||||
Vector2 sizeData = Utility.GetVector2FromStrArray(size[j]);
|
||||
obj.transform.Find("Label").GetComponent<TextMeshProUGUI>().text= btnnames[j];
|
||||
obj.GetComponent<RectTransform>().sizeDelta = sizeData;
|
||||
obj.GetComponent<RectTransform>().position = positem;
|
||||
obj.GetComponent<RectTransform>().localPosition = positem;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ namespace QFramework.Example
|
||||
Content.rectTransform.anchorMax = new Vector2(0, 0.5f); // 右上锚点(右侧)
|
||||
|
||||
// 将位置偏移归零(相对于锚点)
|
||||
Content.rectTransform.anchoredPosition = Vector2.zero;
|
||||
//Content.rectTransform.anchoredPosition = Vector2.zero;
|
||||
|
||||
// 可选:设置轴心点为右侧中点(影响缩放/旋转中心)
|
||||
Content.rectTransform.pivot = new Vector2(0, 0.5f);
|
||||
@ -80,7 +80,7 @@ namespace QFramework.Example
|
||||
Content.rectTransform.anchorMax = new Vector2(1, 0.5f); // 右上锚点(右侧)
|
||||
|
||||
// 将位置偏移归零(相对于锚点)
|
||||
Content.rectTransform.anchoredPosition = Vector2.zero;
|
||||
//Content.rectTransform.anchoredPosition = Vector2.zero;
|
||||
|
||||
// 可选:设置轴心点为右侧中点(影响缩放/旋转中心)
|
||||
Content.rectTransform.pivot = new Vector2(1, 0.5f);
|
||||
@ -94,7 +94,9 @@ namespace QFramework.Example
|
||||
|
||||
protected override void OnHide()
|
||||
{
|
||||
}
|
||||
|
||||
AudioKit.StopMusic();
|
||||
}
|
||||
|
||||
protected override void OnClose()
|
||||
{
|
||||
|
||||
49
Assets/Scripts/UIGuidTip/UIBtnAnim.Designer.cs
generated
Normal file
49
Assets/Scripts/UIGuidTip/UIBtnAnim.Designer.cs
generated
Normal file
@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using QFramework;
|
||||
|
||||
namespace QFramework.Example
|
||||
{
|
||||
// Generate Id:fe326530-5d83-4f69-9f45-dd5b7e7e8ab0
|
||||
public partial class UIBtnAnim
|
||||
{
|
||||
public const string Name = "UIBtnAnim";
|
||||
|
||||
[SerializeField]
|
||||
public RectTransform Connet;
|
||||
[SerializeField]
|
||||
public UnityEngine.UI.Button Button;
|
||||
|
||||
private UIBtnAnimData mPrivateData = null;
|
||||
|
||||
protected override void ClearUIComponents()
|
||||
{
|
||||
Connet = null;
|
||||
Button = null;
|
||||
|
||||
mData = null;
|
||||
}
|
||||
|
||||
public UIBtnAnimData Data
|
||||
{
|
||||
get
|
||||
{
|
||||
return mData;
|
||||
}
|
||||
}
|
||||
|
||||
UIBtnAnimData mData
|
||||
{
|
||||
get
|
||||
{
|
||||
return mPrivateData ?? (mPrivateData = new UIBtnAnimData());
|
||||
}
|
||||
set
|
||||
{
|
||||
mUIData = value;
|
||||
mPrivateData = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/UIGuidTip/UIBtnAnim.Designer.cs.meta
Normal file
11
Assets/Scripts/UIGuidTip/UIBtnAnim.Designer.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f2a3ee86444171243a69fd6d52f2924f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
128
Assets/Scripts/UIGuidTip/UIBtnAnim.cs
Normal file
128
Assets/Scripts/UIGuidTip/UIBtnAnim.cs
Normal file
@ -0,0 +1,128 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using QFramework;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using static OperationController;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace QFramework.Example
|
||||
{
|
||||
public class UIBtnAnimData : UIPanelData
|
||||
{
|
||||
public String title;
|
||||
|
||||
public String targetObj;
|
||||
public String size;
|
||||
|
||||
public String pos;
|
||||
|
||||
public String animName;
|
||||
|
||||
}
|
||||
public partial class UIBtnAnim : UIPanel
|
||||
{
|
||||
protected override void OnInit(IUIData uiData = null)
|
||||
{
|
||||
mData = uiData as UIBtnAnimData ?? new UIBtnAnimData();
|
||||
// please add init code here
|
||||
TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject);
|
||||
}
|
||||
private void OnStepChanged(StepStatusOnChange change)
|
||||
{
|
||||
Hide();
|
||||
}
|
||||
protected override void OnOpen(IUIData uiData = null)
|
||||
{
|
||||
TypeEventSystem.Global.Register<StepStatusOnChange>(OnStepChanged).UnRegisterWhenDisabled(gameObject);
|
||||
|
||||
|
||||
mData = uiData as UIBtnAnimData ?? new UIBtnAnimData();
|
||||
|
||||
|
||||
List<String> title = mData.title.Split('|')?.ToList();
|
||||
List<String> targetObj = mData.targetObj.Split('|')?.ToList();
|
||||
List<String> size = mData.size.Split('|')?.ToList();
|
||||
List<String> pos = mData.pos.Split('|')?.ToList();
|
||||
|
||||
for (int i = 0; i < title.Count; i++)
|
||||
{
|
||||
|
||||
int j = i;
|
||||
|
||||
GameObject ButtonItemObj = GameObject.Instantiate(Button.gameObject, Connet);
|
||||
ButtonItemObj.name = title[i];
|
||||
|
||||
Vector2 positem = Utility.GetVector2FromStrArray(pos[j]);
|
||||
Vector2 sizeData = Utility.GetVector2FromStrArray(size[j]);
|
||||
|
||||
ButtonItemObj.GetComponent<RectTransform>().sizeDelta = sizeData;
|
||||
ButtonItemObj.GetComponent<RectTransform>().localPosition = positem;
|
||||
|
||||
GameObject obj = Utility.FindObj(targetObj[j]);
|
||||
|
||||
obj.GetComponent<Animation>();
|
||||
|
||||
ButtonItemObj.transform.Find("TitleText").GetComponent<Text>().text = title[j];
|
||||
ButtonItemObj.transform.GetComponent<Button>().onClick.RemoveAllListeners();
|
||||
ButtonItemObj.transform.GetComponent<Button>().onClick.AddListener(() => {
|
||||
|
||||
UIGuideTipData data = new UIGuideTipData();
|
||||
data = UIKit.GetPanel<UIGuideTip>().Data;
|
||||
|
||||
|
||||
UIKit.HidePanel<UIGuideTip>();
|
||||
UIKit.HidePanel<UITextWindow>();
|
||||
obj.gameObject.SetActive(true);
|
||||
PlayReverseAnimation(targetObj[j], mData.animName, () => {
|
||||
|
||||
|
||||
obj.gameObject.SetActive(false);
|
||||
UIKit.OpenPanelAsync<UIGuideTip>(uiData: data, canvasLevel: UILevel.Common).ToAction().StartGlobal();
|
||||
|
||||
|
||||
Debug.Log("在事件结束添加这些方法");
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void PlayReverseAnimation(string path, string animName, Action OnFinishAction)
|
||||
{
|
||||
var data = new Dictionary<string, string>
|
||||
{
|
||||
{ "animName", animName },
|
||||
{ "speed", "-1" } // 传递-1实现倒播
|
||||
};
|
||||
|
||||
var action = AnimationAction.Allocate(path, data);
|
||||
|
||||
// 设置回调
|
||||
action.OnFinished += () =>
|
||||
{
|
||||
Debug.Log("倒播动画完成回调触发");
|
||||
OnFinishAction?.Invoke();
|
||||
action.Deinit();
|
||||
};
|
||||
|
||||
// 启动动作
|
||||
action.OnStart();
|
||||
ActionKit.Sequence().Append(action).StartGlobal();
|
||||
}
|
||||
protected override void OnShow()
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnHide()
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnClose()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/UIGuidTip/UIBtnAnim.cs.meta
Normal file
11
Assets/Scripts/UIGuidTip/UIBtnAnim.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5126b39382a736d409f3198a28eb8528
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -151,8 +151,8 @@ namespace QFramework.Example
|
||||
|
||||
if (safeIndex >= 0 && safeIndex < Tip.Count && safeIndex < audio.Count)
|
||||
{
|
||||
Debug.Log(Tip[safeIndex] + "Tip");
|
||||
Debug.Log(audio[safeIndex] + "audio");
|
||||
//Debug.Log(Tip[safeIndex] + "Tip");
|
||||
//Debug.Log(audio[safeIndex] + "audio");
|
||||
|
||||
|
||||
// 处理提示文本,保留内部空格但移除空行
|
||||
|
||||
@ -18,8 +18,10 @@ namespace QFramework.Example
|
||||
protected override void OnInit(IUIData uiData = null)
|
||||
{
|
||||
mData = uiData as UISliderAnimData ?? new UISliderAnimData();
|
||||
// please add init code here
|
||||
}
|
||||
// please add init code here
|
||||
TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject);
|
||||
|
||||
}
|
||||
|
||||
protected override void OnOpen(IUIData uiData = null)
|
||||
{
|
||||
@ -63,7 +65,7 @@ namespace QFramework.Example
|
||||
|
||||
// ʵÀý»¯SliderÔ¤ÖÆÌå
|
||||
GameObject sliderItemObj = GameObject.Instantiate(Slider.gameObject, Connet);
|
||||
sliderItemObj.name = blendShapeName;
|
||||
sliderItemObj.name = Objs[i];
|
||||
|
||||
// ÉèÖÃSlider±êÌâ
|
||||
sliderItemObj.transform.Find("TitleText").GetComponent<Text>().text = Objs[i];
|
||||
@ -103,6 +105,8 @@ namespace QFramework.Example
|
||||
|
||||
protected override void OnHide()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected override void OnClose()
|
||||
|
||||
@ -1988,11 +1988,39 @@ namespace XMLTool
|
||||
}
|
||||
break;
|
||||
|
||||
case "UISliderAnimReSet": {
|
||||
|
||||
|
||||
|
||||
}break;
|
||||
case "UIBtnAnim": {
|
||||
|
||||
var act = new DictionaryAction();
|
||||
XAttribute title = action.Attribute("title");
|
||||
if (title != null)
|
||||
{
|
||||
act.args.Add("title", title.Value);
|
||||
}
|
||||
XAttribute targetObj = action.Attribute("targetObj");
|
||||
if (targetObj != null)
|
||||
{
|
||||
act.args.Add("targetObj", targetObj.Value);
|
||||
}
|
||||
XAttribute size = action.Attribute("size");
|
||||
if (size != null)
|
||||
{
|
||||
act.args.Add("size", size.Value);
|
||||
}
|
||||
XAttribute pos = action.Attribute("pos");
|
||||
if (pos != null)
|
||||
{
|
||||
act.args.Add("pos", pos.Value);
|
||||
}
|
||||
|
||||
XAttribute animName = action.Attribute("animName");
|
||||
if (animName != null)
|
||||
{
|
||||
act.args.Add("animName", animName.Value);
|
||||
}
|
||||
newAction = act;
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
newAction = new Action();
|
||||
|
||||
@ -73,17 +73,7 @@
|
||||
|
||||
<Condition type="UIClick" value="UIRoot/PopUI/UITextTip/Mask/Content/BtnContent/确定"></Condition>
|
||||
|
||||
<!--<Action type="TextWindow" title="棱柱说明" value="四棱柱:有两个面互相平行,其余每相邻两个面的交线都互相平行的多面体叫作棱柱。
|
||||
互相平行的两个面叫作棱柱的底面,位于棱柱上面,叫上底面。
|
||||
上底面的边长叫做棱柱的上底面边长
|
||||
互相平行的两个面叫作棱柱的底面,位于棱柱下面,叫底面。
|
||||
底面的边长叫做棱柱的底面边长
|
||||
棱柱其余各面叫作棱柱的侧面
|
||||
相邻两个侧面的公共边叫作棱柱的侧棱
|
||||
两个底面间的距离叫作棱柱的高
|
||||
底面边长与侧棱汇交的点叫做棱柱的顶点。
|
||||
|
||||
" position="right" scrollSpeed="25"/>-->
|
||||
|
||||
|
||||
<Action type="Show" value="Main/A_SM_LengZhu" isShow="true" isDevice="false"></Action>
|
||||
|
||||
@ -116,9 +106,33 @@
|
||||
></Action>
|
||||
<Action type="UISliderAnim" title="棱柱倾斜度|底面边长|上底面边长|棱高" targetObj="Main/A_SM_LengZhu"> </Action>
|
||||
|
||||
<Action type="Greatbtns" name="动态三维建模|分类对比学习" pos="-1852.3,322.3|-1723.994,322.3" size="125,70|125,70" />
|
||||
<Action type="Greatbtns" name="动态三维建模|分类对比学习" pos="-889,317.1|-756,317.1" size="125,70|125,70" />
|
||||
|
||||
<Action type="UIBtnAnim" title="形成动画" targetObj="Main/A_SM_LengZhuAnim" animName="Lengzhu" pos="828,367" size="150,60"> </Action>
|
||||
|
||||
<!--<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="true" isDevice="false"></Action>
|
||||
<Action type="Anim" value="Main/A_SM_LengZhuAnim" animName="Lengzhu" speed="-1"></Action>-->
|
||||
<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="false" isDevice="false"></Action>-->
|
||||
|
||||
|
||||
<!--<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="true" isDevice="false"></Action>
|
||||
<Action type="Anim" value="Main/A_SM_LengZhuAnim" animName="Lengzhu" speed="-1"></Action>-->
|
||||
|
||||
|
||||
<!--<Action type="Sequence">
|
||||
|
||||
|
||||
<Condition type="UIClick" value="UIRoot/Common/UIBtnAnim/Connet/形成动画"></Condition>
|
||||
<Action type="UIShow" value="UIGuideTip" isShow="false"></Action>
|
||||
|
||||
<Action type="Show" value="Main/A_SM_LengZhu" isShow="false" isDevice="false"></Action>
|
||||
<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="true" isDevice="false"></Action>
|
||||
|
||||
<Action type="Anim" value="Main/A_SM_LengZhuAnim" animName="Lengzhu" speed="1"></Action>
|
||||
<Action type="Show" value="Main/A_SM_LengZhuAnim" isShow="true" isDevice="false"></Action>
|
||||
|
||||
|
||||
</Action>-->
|
||||
|
||||
|
||||
</Action>
|
||||
@ -180,23 +194,7 @@
|
||||
|
||||
<Action type="UISliderAnim" title="棱柱倾斜度|底面边长|上底面边长|棱高" targetObj="Main/A_SM_LengZhu"> </Action>
|
||||
|
||||
|
||||
|
||||
<!--<Action type="TextWindow" title="棱柱说明" value="四棱柱:有两个面互相平行,其余每相邻两个面的交线都互相平行的多面体叫作棱柱。
|
||||
互相平行的两个面叫作棱柱的底面,位于棱柱上面,叫上底面。
|
||||
上底面的边长叫做棱柱的上底面边长
|
||||
互相平行的两个面叫作棱柱的底面,位于棱柱下面,叫底面。
|
||||
底面的边长叫做棱柱的底面边长
|
||||
棱柱其余各面叫作棱柱的侧面
|
||||
相邻两个侧面的公共边叫作棱柱的侧棱
|
||||
两个底面间的距离叫作棱柱的高
|
||||
底面边长与侧棱汇交的点叫做棱柱的顶点。
|
||||
|
||||
" position="right" scrollSpeed="25"/>-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</Action>
|
||||
</Enter>
|
||||
@ -369,6 +367,9 @@
|
||||
</Exit>
|
||||
</State>
|
||||
|
||||
|
||||
|
||||
|
||||
<!--进入方式-->
|
||||
<Transision from="any" to="棱柱">
|
||||
<Condition type="UIClick" value="UIRoot/PopUI/UIBackPack/bg/Scroll/Viewport/Content/棱柱"></Condition>
|
||||
@ -390,5 +391,5 @@
|
||||
</FSM>
|
||||
|
||||
|
||||
|
||||
|
||||
</Module>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user