From f9fa860bae02b03e117c41ca52f3063b1e1eafae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=80=90=E7=A8=8B=E5=BA=8F=E3=80=91=E7=A8=8B=E4=B8=80?= =?UTF-8?q?=E5=B3=B0?= <649669121@qq.com> Date: Tue, 17 Jan 2023 11:35:15 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90Feature=E3=80=91=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8C=85=E6=9B=B4=E6=96=B0=E4=BF=A1=E6=81=AF=E7=9A=84=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- UpmGitTool/Assets/Scenes/SampleScene.unity | 405 +++++++++++++++++- .../UI/Controller/UICtrl_UpdatePackage.cs | 91 ++++ .../Controller/UICtrl_UpdatePackage.cs.meta | 11 + 3 files changed, 505 insertions(+), 2 deletions(-) create mode 100644 UpmGitTool/Assets/Scritps/UI/Controller/UICtrl_UpdatePackage.cs create mode 100644 UpmGitTool/Assets/Scritps/UI/Controller/UICtrl_UpdatePackage.cs.meta diff --git a/UpmGitTool/Assets/Scenes/SampleScene.unity b/UpmGitTool/Assets/Scenes/SampleScene.unity index cf3ea54..00dd79b 100644 --- a/UpmGitTool/Assets/Scenes/SampleScene.unity +++ b/UpmGitTool/Assets/Scenes/SampleScene.unity @@ -782,6 +782,59 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 +--- !u!1 &73551857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 73551858} + - component: {fileID: 73551859} + m_Layer: 5 + m_Name: UpdateCheckView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &73551858 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 73551857} + 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: 1980944310} + - {fileID: 326314666} + m_Father: {fileID: 1652132970} + m_RootOrder: -1 + 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: 599.4506, y: 209.36} + m_SizeDelta: {x: 230.39, y: 70.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &73551859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 73551857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8672bbb18bebdde41b9eb9123612c88c, type: 3} + m_Name: + m_EditorClassIdentifier: + BtnUpdate: {fileID: 1980944311} + SyncImg: {fileID: 326314665} --- !u!1 &90247718 GameObject: m_ObjectHideFlags: 0 @@ -2542,6 +2595,96 @@ MonoBehaviour: Label: {fileID: 603133987} BtnFetch: {fileID: 1495673430} ImgSync: {fileID: 1486758240} +--- !u!1 &326314665 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 326314666} + - component: {fileID: 326314669} + - component: {fileID: 326314668} + - component: {fileID: 326314667} + m_Layer: 5 + m_Name: Sync + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &326314666 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 326314665} + 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: 73551858} + m_RootOrder: -1 + 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: 81, y: 0} + m_SizeDelta: {x: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &326314667 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 326314665} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c212610593a700f468c7cc4dd1324f3d, type: 3} + m_Name: + m_EditorClassIdentifier: + RotateSpeed: -200 +--- !u!114 &326314668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 326314665} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: da7bfe424864c564a8aff631cc152818, 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!222 &326314669 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 326314665} + m_CullTransparentMesh: 1 --- !u!1 &335181662 GameObject: m_ObjectHideFlags: 0 @@ -8402,7 +8545,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: -152.56996, y: 0.00003611683} + m_AnchoredPosition: {x: -152.56996, y: 0.00009393632} m_SizeDelta: {x: 305.14, y: 400.68} m_Pivot: {x: 0, y: 1} --- !u!114 &1245554590 @@ -9669,7 +9812,7 @@ MonoBehaviour: m_HandleRect: {fileID: 202069241} m_Direction: 2 m_Value: 0 - m_Size: 0.98697144 + m_Size: 1 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -10968,6 +11111,7 @@ RectTransform: m_Children: - {fileID: 59147233} - {fileID: 1662431187} + - {fileID: 73551858} - {fileID: 336766289} m_Father: {fileID: 911612637} m_RootOrder: -1 @@ -11255,6 +11399,141 @@ MonoBehaviour: VersionContent: {fileID: 1245554591} BtnInstall: {fileID: 879112660} BtnUnInstall: {fileID: 2013619589} +--- !u!1 &1692626482 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1692626483} + - component: {fileID: 1692626485} + - component: {fileID: 1692626484} + 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 &1692626483 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1692626482} + 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: 1980944310} + m_RootOrder: -1 + 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 &1692626484 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1692626482} + 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: "\u66F4\u65B0\u5305" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 6713738f712c7ac459acc1cd37b85c45, type: 2} + m_sharedMaterial: {fileID: -953019786661498290, guid: 6713738f712c7ac459acc1cd37b85c45, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, 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: 30 + m_fontSizeBase: 30 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 1 + 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 &1692626485 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1692626482} + m_CullTransparentMesh: 1 --- !u!1 &1703846341 GameObject: m_ObjectHideFlags: 0 @@ -13560,6 +13839,128 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1978168204} m_CullTransparentMesh: 1 +--- !u!1 &1980944309 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1980944310} + - component: {fileID: 1980944313} + - component: {fileID: 1980944312} + - component: {fileID: 1980944311} + m_Layer: 5 + m_Name: BtnUpdate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1980944310 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1980944309} + 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: 1692626483} + m_Father: {fileID: 73551858} + m_RootOrder: -1 + 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: 26, y: 0} + m_SizeDelta: {x: 160, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1980944311 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1980944309} + 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: 1980944312} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1980944312 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1980944309} + 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: 9c0068a62e7a92d40824e0b03460035a, 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!222 &1980944313 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1980944309} + m_CullTransparentMesh: 1 --- !u!1 &1983951184 GameObject: m_ObjectHideFlags: 0 diff --git a/UpmGitTool/Assets/Scritps/UI/Controller/UICtrl_UpdatePackage.cs b/UpmGitTool/Assets/Scritps/UI/Controller/UICtrl_UpdatePackage.cs new file mode 100644 index 0000000..74a668d --- /dev/null +++ b/UpmGitTool/Assets/Scritps/UI/Controller/UICtrl_UpdatePackage.cs @@ -0,0 +1,91 @@ +/* + *Copyright(C) 2023 by Cocklebur All rights reserved. + *Unity版本:2022.2.1f1c1 + *作者:Chief + *创建日期: 2023-01-17 + *模块说明:UI控件部分 + *版本: 1.0 +*/ + +using Sirenix.OdinInspector; +using System; +using UnityEngine; +using UnityEngine.UI; + +namespace UpmGitTool.UI +{ + /// + /// 包更新控件 + /// + public class UICtrl_UpdatePackage : MonoBehaviour + { + [LabelText("当前选择包")] + [ShowInInspector, DisplayAsString] + [HideInEditorMode] + public string CurrenVersion + { + get + { + if (AppState.SelectedPackageVersion == null) + return "未选择任何包"; + return AppState.SelectedPackageVersion.DisplayName; + } + } + + [LabelText("更新按键")] + public Button BtnUpdate; + + [LabelText("同步图片")] + public GameObject SyncImg; + + private void Start() + { + BtnUpdate.onClick.AddListener(UpdatePackage); + GYEventsCenter.RegisterEventMsg(Lib.ON_SELECT_UPACKAGE_VERSION, OnSelectUPackage); + GYEventsCenter.RegisterEventMsg(Lib.ON_PACKAGE_DATA_REFRESH, OnUPackageUpdate); + ResetView(); + } + + private void OnDestroy() + { + GYEventsCenter.RemoveEventMsg(Lib.ON_SELECT_UPACKAGE_VERSION, OnSelectUPackage); + GYEventsCenter.RemoveEventMsg(Lib.ON_PACKAGE_DATA_REFRESH, OnUPackageUpdate); + } + + private void UpdatePackage() + { + //更新包 + var curSelectVersion = AppState.SelectedPackageVersion; + if (curSelectVersion == null) return; + var pkg = AppState.FindPackage(curSelectVersion.Name); + pkg.StartFetchGitUrl(); + ResetView(); + } + + private void OnSelectUPackage(string msg, object data) { ResetView(); } + + private void OnUPackageUpdate(string msg, object data) + { + if (data == AppState.SelectedPackageVersion) + ResetView(); + } + + private void ResetView() + { + //获取当前选择的包; + var curSelectVersion = AppState.SelectedPackageVersion; + if (curSelectVersion == null) + { + BtnUpdate.gameObject.SetActive(false); + SyncImg.gameObject.SetActive(false); + return; + } + + //如果在拉取中,则不重复拉取 + bool IsFetching = curSelectVersion.IsFetching(); + BtnUpdate.gameObject.SetActive(!IsFetching); + SyncImg.gameObject.SetActive(IsFetching); + } + + } +} \ No newline at end of file diff --git a/UpmGitTool/Assets/Scritps/UI/Controller/UICtrl_UpdatePackage.cs.meta b/UpmGitTool/Assets/Scritps/UI/Controller/UICtrl_UpdatePackage.cs.meta new file mode 100644 index 0000000..3c1cdf9 --- /dev/null +++ b/UpmGitTool/Assets/Scritps/UI/Controller/UICtrl_UpdatePackage.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8672bbb18bebdde41b9eb9123612c88c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- GitLab