From e2bc09bd19cc388fd5512fdd032f885cd3b1e32e Mon Sep 17 00:00:00 2001 From: YangHua <1475658476@qq.com> Date: Mon, 2 Sep 2024 13:47:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B2UI=20=E4=B8=B2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ArtRes/Timeline/OfficeTimeline.playable | 36 +++++ .../UI_SelectDevicePanel/deviceItemBtn.prefab | 6 +- .../UI/UI_Panel/UI_SelectDevicePanel.prefab | 2 +- .../UI/UI_Panel/UI_TaskListPanel.prefab | 127 +++++++++++++++++- Assets/Scripts/Project/Manager/GameManager.cs | 41 +++++- .../Scripts/Project/Manager/OfficeManager.cs | 15 ++- .../Project/UI/UI_Item/UI_SubProcessItem.cs | 6 +- .../Project/UI/UI_Panel/UI_MessagePanel.cs | 4 +- .../UI/UI_Panel/UI_SelectDevicePanel.cs | 1 - .../Project/UI/UI_Panel/UI_TaskListPanel.cs | 57 ++++++-- .../UI/UI_Panel/UI_TipsForPracticePanel.cs | 9 +- 11 files changed, 270 insertions(+), 34 deletions(-) diff --git a/Assets/ArtRes/Timeline/OfficeTimeline.playable b/Assets/ArtRes/Timeline/OfficeTimeline.playable index 0139df2..5463cf6 100644 --- a/Assets/ArtRes/Timeline/OfficeTimeline.playable +++ b/Assets/ArtRes/Timeline/OfficeTimeline.playable @@ -539,6 +539,24 @@ AnimationClip: weightedMode: 0 inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 4.5666666 + value: {x: 0, y: 10, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 5.05 + value: {x: 0, y: -90, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - serializedVersion: 3 time: 5.55 value: {x: 0, y: 10, z: 0} @@ -748,6 +766,24 @@ AnimationClip: weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 + - serializedVersion: 3 + time: 4.5666666 + value: 10 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 5.05 + value: -90 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 - serializedVersion: 3 time: 5.55 value: 10 diff --git a/Assets/Resources/UI/UI_Item/UI_SelectDevicePanel/deviceItemBtn.prefab b/Assets/Resources/UI/UI_Item/UI_SelectDevicePanel/deviceItemBtn.prefab index 21093a0..2b4fdc3 100644 --- a/Assets/Resources/UI/UI_Item/UI_SelectDevicePanel/deviceItemBtn.prefab +++ b/Assets/Resources/UI/UI_Item/UI_SelectDevicePanel/deviceItemBtn.prefab @@ -88,7 +88,7 @@ GameObject: - component: {fileID: 1203145776376208031} - component: {fileID: 4570010695021958386} - component: {fileID: 2576342188210821588} - - component: {fileID: 5776721795986488422} + - component: {fileID: 4374445411415707542} m_Layer: 5 m_Name: deviceItemBtn m_TagString: Untagged @@ -186,7 +186,7 @@ MonoBehaviour: m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 21300000, guid: 606f2a731815df94fb3d13a890a1072f, type: 3} - m_PressedSprite: {fileID: 0} + m_PressedSprite: {fileID: 21300000, guid: 606f2a731815df94fb3d13a890a1072f, type: 3} m_SelectedSprite: {fileID: 0} m_DisabledSprite: {fileID: 0} m_AnimationTriggers: @@ -200,7 +200,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] ---- !u!114 &5776721795986488422 +--- !u!114 &4374445411415707542 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} diff --git a/Assets/Resources/UI/UI_Panel/UI_SelectDevicePanel.prefab b/Assets/Resources/UI/UI_Panel/UI_SelectDevicePanel.prefab index d2924c7..7a45927 100644 --- a/Assets/Resources/UI/UI_Panel/UI_SelectDevicePanel.prefab +++ b/Assets/Resources/UI/UI_Panel/UI_SelectDevicePanel.prefab @@ -423,7 +423,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Content: {fileID: 6090746188250906464} - m_Horizontal: 1 + m_Horizontal: 0 m_Vertical: 1 m_MovementType: 1 m_Elasticity: 0.1 diff --git a/Assets/Resources/UI/UI_Panel/UI_TaskListPanel.prefab b/Assets/Resources/UI/UI_Panel/UI_TaskListPanel.prefab index 74a0fea..44e5ff5 100644 --- a/Assets/Resources/UI/UI_Panel/UI_TaskListPanel.prefab +++ b/Assets/Resources/UI/UI_Panel/UI_TaskListPanel.prefab @@ -346,7 +346,7 @@ GameObject: - component: {fileID: 7319398579774794289} - component: {fileID: 6681332274631663615} m_Layer: 5 - m_Name: FlowScrollView + m_Name: TaskListScrollView m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -680,6 +680,7 @@ RectTransform: - {fileID: 4678571873505173226} - {fileID: 402120147} - {fileID: 49510009} + - {fileID: 7581794161413289416} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -710,6 +711,130 @@ MonoBehaviour: m_EditorClassIdentifier: _processItem: {fileID: 0} _content: {fileID: 6938315256435242855} + taskListScrollView: {fileID: 1749431992419388898} + rePractice: {fileID: 7721000103509250873} + reStudy: {fileID: 49510008} +--- !u!1 &7721000103509250873 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7581794161413289416} + - component: {fileID: 8671604642183957458} + - component: {fileID: 895506099050175357} + - component: {fileID: 3879072003752671324} + m_Layer: 5 + m_Name: RePracticeBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7581794161413289416 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7721000103509250873} + 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: 105569939733545126} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 186, y: -110} + m_SizeDelta: {x: 140.2748, y: 43.657} + m_Pivot: {x: 0, y: 1} +--- !u!222 &8671604642183957458 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7721000103509250873} + m_CullTransparentMesh: 1 +--- !u!114 &895506099050175357 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7721000103509250873} + 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: d7de17f617f397a4b88ee5e911877a3e, 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 &3879072003752671324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7721000103509250873} + 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: 2 + 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: 21300000, guid: 4fbab97bec78c1c40998ad19c53c393e, type: 3} + 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: 895506099050175357} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &7828491511771849252 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Project/Manager/GameManager.cs b/Assets/Scripts/Project/Manager/GameManager.cs index e8835af..32c6565 100644 --- a/Assets/Scripts/Project/Manager/GameManager.cs +++ b/Assets/Scripts/Project/Manager/GameManager.cs @@ -123,7 +123,7 @@ public class GameManager : SingletonAutoMono PacksackBagMgr = PacksackBagMgr.Instance; DataMgr.Init(); InitData(); - + } private void InitData() @@ -159,9 +159,16 @@ public class GameManager : SingletonAutoMono }); }); } - - private void ShowUIPanelAndLoadScene() + /// + ///返回模式选择界面 + /// + /// + public void ShowUIPanelAndLoadScene(bool isReset = false) { + if (isReset) + { + ResetUIPanelAndEvent(); + } UIMgr.ShowPanel(E_UI_Layer.Bot); UIMgr.ShowPanel(E_UI_Layer.Bot, (panel) => { panel.Init(); }); //显示UI菜单列表 @@ -174,6 +181,34 @@ public class GameManager : SingletonAutoMono EventMgr.EventTrigger(Enum_EventType.UpdateProgress, 0.9f); }); } + /// + /// 重新学习 + /// + public void ResetStudy() + { + ResetUIPanelAndEvent(); + UIMgr.ShowPanel(E_UI_Layer.System, (panel) => + { + EventMgr.EventTrigger(Enum_EventType.UpdateProgress, 0.1f); + ScenesMgr.LoadSceneAsyn("03_OfficeScene", () => + { + EventMgr.EventTrigger(Enum_EventType.UpdateProgress, 0.9f); + }); + }); + } + + public void StartPractice() + { + + } + + private void ResetUIPanelAndEvent() + { + UIMgr.HidePanel(); + UIMgr.HidePanel(); + UIMgr.HidePanel(); + EventMgr.Clear(); + } public void End() { diff --git a/Assets/Scripts/Project/Manager/OfficeManager.cs b/Assets/Scripts/Project/Manager/OfficeManager.cs index ce38503..628cb2a 100644 --- a/Assets/Scripts/Project/Manager/OfficeManager.cs +++ b/Assets/Scripts/Project/Manager/OfficeManager.cs @@ -60,22 +60,27 @@ public class OfficeManager : SingletonMono { if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) { - GameManager.UIMgr.ShowPanel(E_UI_Layer.Bot, (panel) => + if (!GameManager.UIMgr.GetPanel()) { - panel.Init(GameManager.ProcessMgr.subProcessId); - }); + GameManager.UIMgr.ShowPanel(E_UI_Layer.Bot, (panel) => + { + panel.Init(GameManager.ProcessMgr.subProcessId); + }); + } if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) { GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID); GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcess, GameManager.ProcessMgr.subProcessId); } } - - GameManager.UIMgr.ShowPanel(E_UI_Layer.Mid, (panel) => + if (!GameManager.UIMgr.GetPanel()) + { + GameManager.UIMgr.ShowPanel(E_UI_Layer.Mid, (panel) => { panel.Init(); GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchScene, GameManager.RunModelMgr.SceneType); }); + } } diff --git a/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs b/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs index baa5c57..f2a2f45 100644 --- a/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs +++ b/Assets/Scripts/Project/UI/UI_Item/UI_SubProcessItem.cs @@ -26,7 +26,7 @@ public class UI_SubProcessItem : BaseItem { GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); } - + /// /// ưť״̬ /// @@ -58,10 +58,6 @@ public class UI_SubProcessItem : BaseItem GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcess, subProcessID); //Debug.LogError(ProcessManager.Instance.subProcessStepTriggerID); GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID); - }, - () => - { - GameManager.UIMgr.HidePanel(); }); }); } diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs index 9ed21e8..fb4ec0c 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_MessagePanel.cs @@ -27,8 +27,8 @@ public class UI_MessagePanel : BasePanel GetControl("Text_title").text = title; GetControl("Text_Content").text = content; SelectPromptMode(type); - this.sureAction = sureAction; - this.cancelAction = cancelAction; + this.sureAction += sureAction; + this.cancelAction += cancelAction; } /// diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_SelectDevicePanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_SelectDevicePanel.cs index 7072902..7c9cc45 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_SelectDevicePanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_SelectDevicePanel.cs @@ -93,7 +93,6 @@ public class UI_SelectDevicePanel : BasePanel protected override void OnClick(string btnName) { base.OnClick(btnName); - Debug.Log(btnName); switch (btnName) { case "backBtn": diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_TaskListPanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_TaskListPanel.cs index 8f2320e..a35b420 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_TaskListPanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_TaskListPanel.cs @@ -9,25 +9,58 @@ public class UI_TaskListPanel : BasePanel { public UI_ProcessItem _processItem; public RectTransform _content; + public GameObject taskListScrollView; + public GameObject rePractice; + public GameObject reStudy; + public void Init(int subProcessID) { - GameManager.ResourcesMgr.LoadAsync($"{Const.UI_Item}UI_TaskListPanel/processItem", (ptemp) => + rePractice.SetActive(GameManager.RunModelMgr.ModeType == E_ModeType.Practice); + reStudy.SetActive(GameManager.RunModelMgr.ModeType == E_ModeType.Study); + taskListScrollView.SetActive(GameManager.RunModelMgr.ModeType == E_ModeType.Study); + if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) { - _processItem = ptemp; - GameManager.ResourcesMgr.LoadAsync($"{Const.UI_Item}UI_TaskListPanel/subProcessItem", (stemp) => + GameManager.ResourcesMgr.LoadAsync($"{Const.UI_Item}UI_TaskListPanel/processItem", (ptemp) => { - D_Scheme d_Scheme = GameManager.ProcessMgr.d_Scheme; - for (int i = 0; i < d_Scheme.processes.Count; i++) + _processItem = ptemp; + GameManager.ResourcesMgr.LoadAsync($"{Const.UI_Item}UI_TaskListPanel/subProcessItem", (stemp) => { - var t = Instantiate(_processItem, _content); - t.Init(d_Scheme.processes[i]); - for (int j = 0; j < d_Scheme.processes[i].subProcesses.Count; j++) + D_Scheme d_Scheme = GameManager.ProcessMgr.d_Scheme; + for (int i = 0; i < d_Scheme.processes.Count; i++) { - var s = Instantiate(stemp, _content); - s.Init(d_Scheme.processes[i].subProcesses[j], subProcessID); + var t = Instantiate(_processItem, _content); + t.Init(d_Scheme.processes[i]); + for (int j = 0; j < d_Scheme.processes[i].subProcesses.Count; j++) + { + var s = Instantiate(stemp, _content); + s.Init(d_Scheme.processes[i].subProcesses[j], subProcessID); + } } - } + }); }); - }); + } + else + { + + } + } + + protected override void OnClick(string btnName) + { + base.OnClick(btnName); + switch (btnName) + { + case "BackBtn": + GameManager.Instance.ShowUIPanelAndLoadScene(true); + break; + case "ReStartBtn": + GameManager.Instance.ResetStudy(); + break; + case "RePracticeBtn": + GameManager.Instance.ResetStudy(); + break; + default: + break; + } } } \ No newline at end of file diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_TipsForPracticePanel.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_TipsForPracticePanel.cs index 8bc8e2d..49e4154 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_TipsForPracticePanel.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_TipsForPracticePanel.cs @@ -21,7 +21,14 @@ public class UI_TipsForPracticePanel : BasePanel switch (btnName) { - case "": + case "StartPractice": + + break; + case "ResetStudy": + GameManager.Instance.ResetStudy(); + break; + case "BackBtn": + GameManager.Instance.ShowUIPanelAndLoadScene(true); break; default: break;