From 7c425e96382b1db95b578889aa1f1a84c36ecab0 Mon Sep 17 00:00:00 2001 From: "r.nikolin" Date: Wed, 25 Oct 2023 13:46:39 +0300 Subject: [PATCH] Added new Monument preview display text variant --- Assets/MonumentPreview.cs | 8 ++-- Assets/MonumentPreviewController.cs | 2 +- Assets/Prefabs/Player.prefab | 39 ++++++++++--------- Assets/Prefabs/PlayerShip.prefab | 2 +- Assets/Resources/Monumet_10.asset | 2 + Assets/Resources/Monumet_3.asset | 2 + Assets/Resources/Monumet_8.asset | 2 + Assets/Resources/Monumet_9.asset | 3 ++ Assets/Scripts/MonumentController.cs | 2 +- Assets/Scripts/MonumentInfo.cs | 3 ++ Assets/Scripts/UITextShow.cs | 19 +++++++++ Assets/TextAutoscroll.cs | 17 ++++++++ Assets/TextAutoscroll.cs.meta | 11 ++++++ .../_Monuments/Prefabs/DnD/DnD_Origin.prefab | 35 +++++++++-------- 14 files changed, 106 insertions(+), 41 deletions(-) create mode 100644 Assets/TextAutoscroll.cs create mode 100644 Assets/TextAutoscroll.cs.meta diff --git a/Assets/MonumentPreview.cs b/Assets/MonumentPreview.cs index 3e2375c5..2c3dc095 100644 --- a/Assets/MonumentPreview.cs +++ b/Assets/MonumentPreview.cs @@ -7,15 +7,15 @@ public class MonumentPreview : MonoBehaviour { [SerializeField] private Image _image; [SerializeField] private UITextShow _UITextShow; - + [SerializeField] private TextAutoscroll _textAutoscroll; [SerializeField] private UIFader _UIFader; [SerializeField] private TMPro.TextMeshProUGUI _nameText; - - public void ShowInfo(string name, Sprite image, string text) + public void ShowInfo(string name, Sprite image, string text, float time) { _nameText.SetText(name); _image.sprite = image; - _UITextShow.ShowSubtitle(text, 0, 5f, _UIFader.ShowPanel, _UIFader.HidePanel); + _UITextShow.SetText(text, time, _UIFader.ShowPanel, _UIFader.HidePanel); + _textAutoscroll.Scroll(time - 1); } } diff --git a/Assets/MonumentPreviewController.cs b/Assets/MonumentPreviewController.cs index 2502e984..00ee1968 100644 --- a/Assets/MonumentPreviewController.cs +++ b/Assets/MonumentPreviewController.cs @@ -33,7 +33,7 @@ public class MonumentPreviewController : MonoBehaviour private void OnGrab(Grabber arg) { - _monumentPreview.ShowInfo(_monumentMini.Info.Name, _monumentMini.Info.Image, _monumentMini.Info.Description); + _monumentPreview.ShowInfo(_monumentMini.Info.Name, _monumentMini.Info.Image, _monumentMini.Info.Description, _monumentMini.Info.ShortDuration); _previewSound.PlaySound(_monumentMini.Info.ShortClip); } diff --git a/Assets/Prefabs/Player.prefab b/Assets/Prefabs/Player.prefab index e3944130..4bd99957 100644 --- a/Assets/Prefabs/Player.prefab +++ b/Assets/Prefabs/Player.prefab @@ -694,6 +694,7 @@ GameObject: - component: {fileID: 3562124897911384411} - component: {fileID: 2081165394880155475} - component: {fileID: 4080531792993963957} + - component: {fileID: 4667959773318436821} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -804,6 +805,19 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!114 &4667959773318436821 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2928323262731823328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 435669f75d4652941b25e79977b925c0, type: 3} + m_Name: + m_EditorClassIdentifier: + _scrollbar: {fileID: 7428967782626760380} --- !u!1 &2973316878502603538 GameObject: m_ObjectHideFlags: 0 @@ -1608,6 +1622,7 @@ MonoBehaviour: m_EditorClassIdentifier: _image: {fileID: 5507942046738830429} _UITextShow: {fileID: 8252726596294022789} + _textAutoscroll: {fileID: 4667959773318436821} _UIFader: {fileID: 3356217451915231819} _nameText: {fileID: 2431526707684633184} --- !u!1 &4574774226115770231 @@ -3941,19 +3956,7 @@ MonoBehaviour: m_EditorClassIdentifier: OnTimeTick: m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 7428967782626760380} - m_TargetAssemblyTypeName: UnityEngine.UI.Scrollbar, UnityEngine.UI - m_MethodName: set_value - m_Mode: 4 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 + m_Calls: [] OnTimeEnd: m_PersistentCalls: m_Calls: [] @@ -11482,8 +11485,8 @@ 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: 4.29, y: -12.4} - m_SizeDelta: {x: 146.1, y: 16.6} + m_AnchoredPosition: {x: 3.8, y: -14.7} + m_SizeDelta: {x: 147.19, y: 16.6} m_Pivot: {x: 0.5, y: 1} --- !u!222 &73481480969909539 CanvasRenderer: @@ -11544,13 +11547,13 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 8 + m_fontSize: 7.75 m_fontSizeBase: 9.67 m_fontWeight: 400 m_enableAutoSizing: 1 - m_fontSizeMin: 8 + m_fontSizeMin: 7 m_fontSizeMax: 15 - m_fontStyle: 0 + m_fontStyle: 1 m_HorizontalAlignment: 2 m_VerticalAlignment: 512 m_textAlignment: 65535 diff --git a/Assets/Prefabs/PlayerShip.prefab b/Assets/Prefabs/PlayerShip.prefab index f69f4f4b..d4eb298d 100644 --- a/Assets/Prefabs/PlayerShip.prefab +++ b/Assets/Prefabs/PlayerShip.prefab @@ -14946,7 +14946,7 @@ AudioSource: m_Curve: - serializedVersion: 3 time: 0 - value: 1 + value: 0 inSlope: 0 outSlope: 0 tangentMode: 0 diff --git a/Assets/Resources/Monumet_10.asset b/Assets/Resources/Monumet_10.asset index 60b2e77d..91133c5a 100644 --- a/Assets/Resources/Monumet_10.asset +++ b/Assets/Resources/Monumet_10.asset @@ -61,3 +61,5 @@ MonoBehaviour: Score: 50 ShortClip: {fileID: 8300000, guid: d973769c1bbe25c449a0ffe8e99219cb, type: 3} LongClip: {fileID: 8300000, guid: 7f917b0e56a308542b1326460b7b7039, type: 3} + ShortDuration: 15 + LongDuration: 50 diff --git a/Assets/Resources/Monumet_3.asset b/Assets/Resources/Monumet_3.asset index 90a38386..ac3a2ec3 100644 --- a/Assets/Resources/Monumet_3.asset +++ b/Assets/Resources/Monumet_3.asset @@ -62,3 +62,5 @@ MonoBehaviour: Score: 50 ShortClip: {fileID: 8300000, guid: c6ce20be64be1494ab1b7862e2ff56c5, type: 3} LongClip: {fileID: 8300000, guid: 29dfe8234ac048f458c3b2a886d76fde, type: 3} + ShortDuration: 12 + LongDuration: 49 diff --git a/Assets/Resources/Monumet_8.asset b/Assets/Resources/Monumet_8.asset index fc067476..e0f229b5 100644 --- a/Assets/Resources/Monumet_8.asset +++ b/Assets/Resources/Monumet_8.asset @@ -63,3 +63,5 @@ MonoBehaviour: Score: 50 ShortClip: {fileID: 8300000, guid: c4ce7fc347531ea4ab62a9e87d475d40, type: 3} LongClip: {fileID: 8300000, guid: 9e3bcaee60b08a5479e0432921d4f3eb, type: 3} + ShortDuration: 17 + LongDuration: 44 diff --git a/Assets/Resources/Monumet_9.asset b/Assets/Resources/Monumet_9.asset index 2fb886de..126bd2d0 100644 --- a/Assets/Resources/Monumet_9.asset +++ b/Assets/Resources/Monumet_9.asset @@ -24,8 +24,11 @@ MonoBehaviour: \u0447\u0430\u0441\u0442\u043E \u043D\u0430\u0437\u044B\u0432\u0430\u044E\u0442 \u0433\u0430\u043B\u0435\u0440\u0435\u044E \r\n\xAB\u041C\u0430\u043B\u043E\u0439 \u0422\u0440\u0435\u0442\u044C\u044F\u043A\u043E\u0432\u043A\u043E\u0439\xBB." + LongDescription: MiniModel: {fileID: 7721131150223155987, guid: 639d55772ac07cc4db41aff9b5fbb867, type: 3} Score: 50 ShortClip: {fileID: 8300000, guid: 29d1c2767dab7a944b241dc40ba86410, type: 3} LongClip: {fileID: 8300000, guid: 1653025e88009de429f4677479ff73f7, type: 3} + ShortDuration: 13 + LongDuration: 50 diff --git a/Assets/Scripts/MonumentController.cs b/Assets/Scripts/MonumentController.cs index 06da5b2f..6a7717bb 100644 --- a/Assets/Scripts/MonumentController.cs +++ b/Assets/Scripts/MonumentController.cs @@ -47,7 +47,7 @@ public class MonumentController : MonoBehaviour public void PlaySound() { _previewSound.PlaySound(_info.LongClip); - _monumentPreview.ShowInfo(_info.Name, _info.Image, _info.LongDescription); + _monumentPreview.ShowInfo(_info.Name, _info.Image, _info.LongDescription, _info.LongDuration); } public void ShowPreview() diff --git a/Assets/Scripts/MonumentInfo.cs b/Assets/Scripts/MonumentInfo.cs index f4bf4c91..1276c728 100644 --- a/Assets/Scripts/MonumentInfo.cs +++ b/Assets/Scripts/MonumentInfo.cs @@ -20,4 +20,7 @@ public class MonumentInfo : ScriptableObject public AudioClip ShortClip; public AudioClip LongClip; + + public float ShortDuration = 5; + public float LongDuration = 5; } diff --git a/Assets/Scripts/UITextShow.cs b/Assets/Scripts/UITextShow.cs index 3e0567c1..20e4c01f 100644 --- a/Assets/Scripts/UITextShow.cs +++ b/Assets/Scripts/UITextShow.cs @@ -35,6 +35,15 @@ public class UITextShow : MonoBehaviour SetText(num.ToString()); } + public void SetText(string text, float afterDelay, Action onStart, Action onEnd) + { + if (coroutine != null) + { + StopCoroutine(coroutine); + } + coroutine = StartCoroutine(SetText_Coroutine(text, afterDelay, onStart, onEnd)); + } + public void ShowSubtitle(string text, float delay, float afterDelay, Action onStart, Action onEnd) { if (coroutine != null) @@ -89,4 +98,14 @@ public class UITextShow : MonoBehaviour OnTimeEnd?.Invoke(); onEnd?.Invoke(); } + + private IEnumerator SetText_Coroutine(string text, float afterDelay, Action onStart, Action onEnd) + { + onStart?.Invoke(); + SetText(text); + yield return new WaitForSeconds(afterDelay); + SetText(string.Empty); + OnTimeEnd?.Invoke(); + onEnd?.Invoke(); + } } diff --git a/Assets/TextAutoscroll.cs b/Assets/TextAutoscroll.cs new file mode 100644 index 00000000..4679220f --- /dev/null +++ b/Assets/TextAutoscroll.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class TextAutoscroll : MonoBehaviour +{ + [SerializeField] private Scrollbar _scrollbar; + + public void Scroll(float time) + { + LeanTween.value(1, 0, time).setDelay(1).setOnUpdate((float x) => + { + _scrollbar.value = x; + }).setEaseInOutCubic(); + } +} diff --git a/Assets/TextAutoscroll.cs.meta b/Assets/TextAutoscroll.cs.meta new file mode 100644 index 00000000..cab4b314 --- /dev/null +++ b/Assets/TextAutoscroll.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 435669f75d4652941b25e79977b925c0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Monuments/Prefabs/DnD/DnD_Origin.prefab b/Assets/_Monuments/Prefabs/DnD/DnD_Origin.prefab index 15ca5c19..5bdb509d 100644 --- a/Assets/_Monuments/Prefabs/DnD/DnD_Origin.prefab +++ b/Assets/_Monuments/Prefabs/DnD/DnD_Origin.prefab @@ -416,6 +416,7 @@ MonoBehaviour: m_EditorClassIdentifier: _image: {fileID: 3985071509405579802} _UITextShow: {fileID: 4779240040953172227} + _textAutoscroll: {fileID: 3094283400908279372} _UIFader: {fileID: 1562700535410891397} _nameText: {fileID: 2929830332299434188} --- !u!1 &3686637382960672291 @@ -640,13 +641,13 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 8 + m_fontSize: 7.75 m_fontSizeBase: 9.67 m_fontWeight: 400 m_enableAutoSizing: 1 - m_fontSizeMin: 8 + m_fontSizeMin: 7 m_fontSizeMax: 15 - m_fontStyle: 0 + m_fontStyle: 1 m_HorizontalAlignment: 2 m_VerticalAlignment: 512 m_textAlignment: 65535 @@ -1651,19 +1652,7 @@ MonoBehaviour: m_EditorClassIdentifier: OnTimeTick: m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 6090138090777650549} - m_TargetAssemblyTypeName: UnityEngine.UI.Scrollbar, UnityEngine.UI - m_MethodName: set_value - m_Mode: 4 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 + m_Calls: [] OnTimeEnd: m_PersistentCalls: m_Calls: [] @@ -1752,6 +1741,7 @@ GameObject: - component: {fileID: 7910603277928972143} - component: {fileID: 5220139661224149147} - component: {fileID: 7208754759049997291} + - component: {fileID: 3094283400908279372} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -1862,6 +1852,19 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!114 &3094283400908279372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8131548603081972033} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 435669f75d4652941b25e79977b925c0, type: 3} + m_Name: + m_EditorClassIdentifier: + _scrollbar: {fileID: 6090138090777650549} --- !u!1001 &645497833008328760 PrefabInstance: m_ObjectHideFlags: 0