From a40902a5dea9cc7be4bc98ef69e52fcb88428ef9 Mon Sep 17 00:00:00 2001 From: HaeinLEE Date: Mon, 5 May 2025 21:40:47 +0900 Subject: [PATCH] =?UTF-8?q?[Feat]=20=ED=8A=9C=ED=86=A0=EB=A6=AC=EC=96=BC?= =?UTF-8?q?=20=EC=95=A0=EB=8B=88=EB=A9=94=EC=9D=B4=EC=85=98=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/LIN/Animations.meta | 8 ++ .../Finger Animator Controller.controller | 3 + ...Finger Animator Controller.controller.meta | 8 ++ Assets/LIN/Housing Copy.unity | 4 +- .../Interaction Animation Panel.prefab | 3 + .../Interaction Animation Panel.prefab.meta | 7 ++ .../Scripts/Tutorial/FirstTutorialStep.asset | 53 -------- .../Scripts/Tutorial/LastTutorialStep.asset | 79 ------------ .../Scripts/Tutorial/SecondTutorialStep.asset | 81 ------------- .../Scripts/Tutorial/ThirdTutorialStep.asset | 66 ---------- .../Tutorial/TutorialExamplePanel.prefab | 3 + .../Tutorial/TutorialExamplePanel.prefab.meta | 7 ++ .../LIN/Scripts/Tutorial/TutorialManager.cs | 25 +++- .../Tutorial/TutorialPanelController.cs | 19 ++- Assets/LIN/Scripts/Tutorial/TutorialStep.cs | 3 + .../LIN/Scripts/Tutorial/TutorialStep1.asset | 26 ++++ ...ep.asset.meta => TutorialStep1.asset.meta} | 0 .../LIN/Scripts/Tutorial/TutorialStep2.asset | 27 +++++ ...ep.asset.meta => TutorialStep2.asset.meta} | 0 .../LIN/Scripts/Tutorial/TutorialStep3.asset | 25 ++++ ...ep.asset.meta => TutorialStep3.asset.meta} | 0 .../LIN/Scripts/Tutorial/TutorialStep4.asset | 52 ++++++++ ...ep.asset.meta => TutorialStep4.asset.meta} | 0 .../UI/InteractionAnimationPanelController.cs | 9 ++ Assets/LIN/Sprites.meta | 8 ++ Assets/LIN/Sprites/Finger.png | 3 + Assets/LIN/Sprites/Finger.png.meta | 114 ++++++++++++++++++ Assets/LIN/Sprites/FridgeDungeonUI.png | 3 + Assets/LIN/Sprites/FridgeDungeonUI.png.meta | 114 ++++++++++++++++++ Assets/LYM/Fonts/Galmuri9 SDF new.asset | 2 +- 30 files changed, 461 insertions(+), 291 deletions(-) create mode 100644 Assets/LIN/Animations.meta create mode 100644 Assets/LIN/Animations/Finger Animator Controller.controller create mode 100644 Assets/LIN/Animations/Finger Animator Controller.controller.meta create mode 100644 Assets/LIN/Prefabs/Interaction Animation Panel.prefab create mode 100644 Assets/LIN/Prefabs/Interaction Animation Panel.prefab.meta delete mode 100644 Assets/LIN/Scripts/Tutorial/FirstTutorialStep.asset delete mode 100644 Assets/LIN/Scripts/Tutorial/LastTutorialStep.asset delete mode 100644 Assets/LIN/Scripts/Tutorial/SecondTutorialStep.asset delete mode 100644 Assets/LIN/Scripts/Tutorial/ThirdTutorialStep.asset create mode 100644 Assets/LIN/Scripts/Tutorial/TutorialExamplePanel.prefab create mode 100644 Assets/LIN/Scripts/Tutorial/TutorialExamplePanel.prefab.meta create mode 100644 Assets/LIN/Scripts/Tutorial/TutorialStep1.asset rename Assets/LIN/Scripts/Tutorial/{FirstTutorialStep.asset.meta => TutorialStep1.asset.meta} (100%) create mode 100644 Assets/LIN/Scripts/Tutorial/TutorialStep2.asset rename Assets/LIN/Scripts/Tutorial/{SecondTutorialStep.asset.meta => TutorialStep2.asset.meta} (100%) create mode 100644 Assets/LIN/Scripts/Tutorial/TutorialStep3.asset rename Assets/LIN/Scripts/Tutorial/{ThirdTutorialStep.asset.meta => TutorialStep3.asset.meta} (100%) create mode 100644 Assets/LIN/Scripts/Tutorial/TutorialStep4.asset rename Assets/LIN/Scripts/Tutorial/{LastTutorialStep.asset.meta => TutorialStep4.asset.meta} (100%) create mode 100644 Assets/LIN/Sprites.meta create mode 100644 Assets/LIN/Sprites/Finger.png create mode 100644 Assets/LIN/Sprites/Finger.png.meta create mode 100644 Assets/LIN/Sprites/FridgeDungeonUI.png create mode 100644 Assets/LIN/Sprites/FridgeDungeonUI.png.meta diff --git a/Assets/LIN/Animations.meta b/Assets/LIN/Animations.meta new file mode 100644 index 00000000..f8bc5ded --- /dev/null +++ b/Assets/LIN/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dba2935d28b61d24cb995b4b892247b9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LIN/Animations/Finger Animator Controller.controller b/Assets/LIN/Animations/Finger Animator Controller.controller new file mode 100644 index 00000000..c3f44fd5 --- /dev/null +++ b/Assets/LIN/Animations/Finger Animator Controller.controller @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:662feb51281a7590e32b4a7fca90cabf9d2ed51606808a3da357132e8378bc13 +size 1231 diff --git a/Assets/LIN/Animations/Finger Animator Controller.controller.meta b/Assets/LIN/Animations/Finger Animator Controller.controller.meta new file mode 100644 index 00000000..98599ee6 --- /dev/null +++ b/Assets/LIN/Animations/Finger Animator Controller.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b46b59f307f451f4d828a8d3b4bb549f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LIN/Housing Copy.unity b/Assets/LIN/Housing Copy.unity index 172a5eeb..b8290699 100644 --- a/Assets/LIN/Housing Copy.unity +++ b/Assets/LIN/Housing Copy.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a25e36dae728bc41e60db53345f3d74cd4964e23e0e405ddbd34a6fe336ecbdf -size 273355 +oid sha256:ef1eafc60cac5859b7b0bed9c0dd74ab242083cb9a561d0062f5e7b56408b196 +size 265834 diff --git a/Assets/LIN/Prefabs/Interaction Animation Panel.prefab b/Assets/LIN/Prefabs/Interaction Animation Panel.prefab new file mode 100644 index 00000000..6261894e --- /dev/null +++ b/Assets/LIN/Prefabs/Interaction Animation Panel.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:649bb0c3ed866a0c1fb162446352487e1431a6debd30729c9f7ce357597cba4c +size 9586 diff --git a/Assets/LIN/Prefabs/Interaction Animation Panel.prefab.meta b/Assets/LIN/Prefabs/Interaction Animation Panel.prefab.meta new file mode 100644 index 00000000..a1967bb4 --- /dev/null +++ b/Assets/LIN/Prefabs/Interaction Animation Panel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 66016880ee1ff09429065e570a748578 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LIN/Scripts/Tutorial/FirstTutorialStep.asset b/Assets/LIN/Scripts/Tutorial/FirstTutorialStep.asset deleted file mode 100644 index 83e8270b..00000000 --- a/Assets/LIN/Scripts/Tutorial/FirstTutorialStep.asset +++ /dev/null @@ -1,53 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b22d834cf5e26e647be215074940d40e, type: 3} - m_Name: FirstTutorialStep - m_EditorClassIdentifier: - message: "\uD29C\uD1A0\uB9AC\uC5BC\uC744 \uC2DC\uC791\uD569\uB2C8\uB2E4.\n2\uCD08 - \uB4A4 \uC790\uB3D9\uC73C\uB85C \uC0AC\uB77C\uC9C0\uB294 \uBA54\uC138\uC9C0\uC785\uB2C8\uB2E4." - onBegin: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: -3457973789329276246, guid: 7d3bc5ecd8c87f64f8a9e137674ee021, - type: 3} - m_TargetAssemblyTypeName: TutorialPlayerController, Assembly-CSharp - m_MethodName: Show - m_Mode: 1 - 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 - onComplete: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: -3457973789329276246, guid: 7d3bc5ecd8c87f64f8a9e137674ee021, - type: 3} - m_TargetAssemblyTypeName: TutorialPlayerController, Assembly-CSharp - m_MethodName: Hide - m_Mode: 1 - 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 - timeout: 2 - requiredKey: 0 - touchTargetIndex: -1 - deactiveObjectIndex: -1 - nextStep: {fileID: 11400000, guid: a6f10decfc8504843b358ab8893c01f7, type: 2} diff --git a/Assets/LIN/Scripts/Tutorial/LastTutorialStep.asset b/Assets/LIN/Scripts/Tutorial/LastTutorialStep.asset deleted file mode 100644 index 0a2104d8..00000000 --- a/Assets/LIN/Scripts/Tutorial/LastTutorialStep.asset +++ /dev/null @@ -1,79 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b22d834cf5e26e647be215074940d40e, type: 3} - m_Name: LastTutorialStep - m_EditorClassIdentifier: - message: "\uC9C0\uAE08 \uD654\uBA74\uC740 \uC544\uBB34\uB370\uB098 \uD074\uB9AD\uD558\uBA74 - \uC5C6\uC5B4\uC9D1\uB2C8\uB2E4." - onBegin: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 7187599994600413992, guid: 4d761fd80ffc7504cbfe46a9d52a46ef, - type: 3} - m_TargetAssemblyTypeName: JpystickTutorial, Assembly-CSharp - m_MethodName: Show - m_Mode: 1 - 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_Target: {fileID: 3325711598849128996, guid: 391f578e16d4f7b43be150d5cb852323, - type: 3} - m_TargetAssemblyTypeName: TutorialAnimPanelController, Assembly-CSharp - m_MethodName: Show - m_Mode: 1 - 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 - onComplete: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 7187599994600413992, guid: 4d761fd80ffc7504cbfe46a9d52a46ef, - type: 3} - m_TargetAssemblyTypeName: JpystickTutorial, Assembly-CSharp - m_MethodName: Hide - m_Mode: 1 - 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_Target: {fileID: 3325711598849128996, guid: 391f578e16d4f7b43be150d5cb852323, - type: 3} - m_TargetAssemblyTypeName: TutorialAnimPanelController, Assembly-CSharp - m_MethodName: Hide - m_Mode: 1 - 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 - timeout: 0 - requiredKey: 323 - touchTargetIndex: -1 - deactiveObjectIndex: -1 - nextStep: {fileID: 0} diff --git a/Assets/LIN/Scripts/Tutorial/SecondTutorialStep.asset b/Assets/LIN/Scripts/Tutorial/SecondTutorialStep.asset deleted file mode 100644 index c87af05b..00000000 --- a/Assets/LIN/Scripts/Tutorial/SecondTutorialStep.asset +++ /dev/null @@ -1,81 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b22d834cf5e26e647be215074940d40e, type: 3} - m_Name: SecondTutorialStep - m_EditorClassIdentifier: - message: "\uC67C\uCABD \uC544\uB798 \uC870\uC774\uC2A4\uD2F1\uC744 \uC704\uB85C - \uB4DC\uB798\uADF8 \uD574\uBCF4\uC138\uC694.\n\uD574\uB2F9 \uC704\uCE58\uC5D0 - \uBE68\uAC04 \uC778\uB514\uCF00\uC774\uD130 \uC560\uB2C8\uBA54\uC774\uC158\uC744 - \uC7AC\uC0DD\uC911\uC785\uB2C8\uB2E4." - onBegin: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 3325711598849128996, guid: bb56cf86788033f41ae91bd4bc593044, - type: 3} - m_TargetAssemblyTypeName: TutorialAnimPanelController, Assembly-CSharp - m_MethodName: Show - m_Mode: 1 - 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_Target: {fileID: -3457973789329276246, guid: 7d3bc5ecd8c87f64f8a9e137674ee021, - type: 3} - m_TargetAssemblyTypeName: TutorialPlayerController, Assembly-CSharp - m_MethodName: Show - m_Mode: 1 - 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 - onComplete: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 3325711598849128996, guid: bb56cf86788033f41ae91bd4bc593044, - type: 3} - m_TargetAssemblyTypeName: TutorialAnimPanelController, Assembly-CSharp - m_MethodName: Hide - m_Mode: 1 - 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_Target: {fileID: -3457973789329276246, guid: 7d3bc5ecd8c87f64f8a9e137674ee021, - type: 3} - m_TargetAssemblyTypeName: TutorialPlayerController, Assembly-CSharp - m_MethodName: Hide - m_Mode: 1 - 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 - timeout: 0 - requiredKey: 0 - touchTargetIndex: 0 - deactiveObjectIndex: 0 - nextStep: {fileID: 11400000, guid: c25f773b8e1446d45837ee656d510061, type: 2} diff --git a/Assets/LIN/Scripts/Tutorial/ThirdTutorialStep.asset b/Assets/LIN/Scripts/Tutorial/ThirdTutorialStep.asset deleted file mode 100644 index 8e1c3ad1..00000000 --- a/Assets/LIN/Scripts/Tutorial/ThirdTutorialStep.asset +++ /dev/null @@ -1,66 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b22d834cf5e26e647be215074940d40e, type: 3} - m_Name: ThirdTutorialStep - m_EditorClassIdentifier: - message: "\uAC00\uC9DC \uC870\uC774\uC2A4\uD2F1 \uBC29\uD5A5\uB300\uB85C \uC9C1\uC9C4\uD569\uB2C8\uB2E4.. - \uBC29\uD5A5 \uC81C\uD55C\uD560 \uC544\uC774\uB514\uC5B4 \uAD6C\uD574\uC694.." - onBegin: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 6973777276245600638, guid: ac48046581f0206449e480caaee1ae59, - type: 3} - m_TargetAssemblyTypeName: FowardFixedJoystickController, Assembly-CSharp - m_MethodName: Show - m_Mode: 1 - 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_Target: {fileID: -3457973789329276246, guid: 29492c975fd1aaa40903e821b69daa29, - type: 3} - m_TargetAssemblyTypeName: TutorialPlayerController, Assembly-CSharp - m_MethodName: Show - m_Mode: 1 - 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 - onComplete: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 6973777276245600638, guid: ac48046581f0206449e480caaee1ae59, - type: 3} - m_TargetAssemblyTypeName: FowardFixedJoystickController, Assembly-CSharp - m_MethodName: Hide - m_Mode: 1 - 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 - timeout: 2.3 - requiredKey: 0 - touchTargetIndex: -1 - deactiveObjectIndex: 0 - nextStep: {fileID: 11400000, guid: 3629cede21d4bb340924cd9b1d401bb9, type: 2} diff --git a/Assets/LIN/Scripts/Tutorial/TutorialExamplePanel.prefab b/Assets/LIN/Scripts/Tutorial/TutorialExamplePanel.prefab new file mode 100644 index 00000000..002f9c15 --- /dev/null +++ b/Assets/LIN/Scripts/Tutorial/TutorialExamplePanel.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ca7e9d2bfcb5f0e0b44a8e69510b6dfb2405315777944848e0659b75262f9df +size 22377 diff --git a/Assets/LIN/Scripts/Tutorial/TutorialExamplePanel.prefab.meta b/Assets/LIN/Scripts/Tutorial/TutorialExamplePanel.prefab.meta new file mode 100644 index 00000000..bfc4b97b --- /dev/null +++ b/Assets/LIN/Scripts/Tutorial/TutorialExamplePanel.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b916de1e6eb0c5542884194f24ef6b1d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LIN/Scripts/Tutorial/TutorialManager.cs b/Assets/LIN/Scripts/Tutorial/TutorialManager.cs index 206e4329..0fef1105 100644 --- a/Assets/LIN/Scripts/Tutorial/TutorialManager.cs +++ b/Assets/LIN/Scripts/Tutorial/TutorialManager.cs @@ -13,6 +13,7 @@ public class TutorialManager : MonoBehaviour [Header("튜토리얼 패널 생성")] [SerializeField] private GameObject[] tutorialPanelPrefabs; + [FormerlySerializedAs("parentObject")] public Canvas parentCanvas; private GameObject _tutorialPanelObject; private TutorialPanelController _tutorialPanelController; @@ -29,12 +30,14 @@ public class TutorialManager : MonoBehaviour } public void StartTutorial(Action onTutorialEnd, int panelIndex = 0) { - var parentObject = FindObjectOfType(typeof(Canvas)); - if (parentObject != null) + if(parentCanvas == null) + parentCanvas = FindObjectOfType(typeof(Canvas)) as Canvas; + + if (parentCanvas != null) { - overlayCanvas = parentObject as Canvas; + overlayCanvas = parentCanvas as Canvas; - _tutorialPanelObject = Instantiate(tutorialPanelPrefabs[panelIndex], parentObject.GameObject().transform); + _tutorialPanelObject = Instantiate(tutorialPanelPrefabs[panelIndex], parentCanvas.GameObject().transform); overlay = _tutorialPanelObject.GetComponent(); _tutorialPanelController = _tutorialPanelObject.GetComponent(); } @@ -68,8 +71,13 @@ public class TutorialManager : MonoBehaviour //터치해야 할 위치가 있는지 체크 if (step.touchTargetIndex >= 0) { + _tutorialPanelController.ShowTouchTarget(step.touchTargetIndex); targetRt = _tutorialPanelController.touchTargets[step.touchTargetIndex].GetComponent(); - _tutorialPanelController.touchTargets[step.touchTargetIndex].SetActive(true); + } + + if (step.imageIndex >= 0) + { + _tutorialPanelController.ShowImage(step.imageIndex); } while (!done) @@ -91,7 +99,7 @@ public class TutorialManager : MonoBehaviour { Debug.Log("타겟 터치"); targetRt = null; - _tutorialPanelController.touchTargets[step.touchTargetIndex].SetActive(false); + _tutorialPanelController.HideTouchTarget(step.touchTargetIndex); done = true; } else @@ -112,6 +120,11 @@ public class TutorialManager : MonoBehaviour // 단계 완료 이벤트 step.onStepComplete?.Invoke(); + if (step.imageIndex >= 0) + { + _tutorialPanelController.HideImage(step.imageIndex); + } + // 다음 단계로 if (step.nextStep != null) RunStep(step.nextStep); diff --git a/Assets/LIN/Scripts/Tutorial/TutorialPanelController.cs b/Assets/LIN/Scripts/Tutorial/TutorialPanelController.cs index 56954e55..a3e39bb1 100644 --- a/Assets/LIN/Scripts/Tutorial/TutorialPanelController.cs +++ b/Assets/LIN/Scripts/Tutorial/TutorialPanelController.cs @@ -9,20 +9,33 @@ public class TutorialPanelController : MonoBehaviour [SerializeField] private TMP_Text tutorialText; [Header("튜토리얼 터치 타겟들")] + [SerializeField] public GameObject[] touchTargets; + [Header("튜토리얼에서 보여줄 이미지들")] + [SerializeField] private GameObject[] images; public void setTutorialText(string tutorialText) { this.tutorialText.text = tutorialText; } - - public void Show(int index) + //TODO:RangeCheck + public void ShowTouchTarget(int index) { touchTargets[index].SetActive(true); } - public void Hide(int index) + public void HideTouchTarget(int index) { touchTargets[index].SetActive(false); } + + public void ShowImage(int index) + { + images[index].SetActive(true); + } + + public void HideImage(int index) + { + images[index].SetActive(false); + } } diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep.cs b/Assets/LIN/Scripts/Tutorial/TutorialStep.cs index a33da186..a19046b9 100644 --- a/Assets/LIN/Scripts/Tutorial/TutorialStep.cs +++ b/Assets/LIN/Scripts/Tutorial/TutorialStep.cs @@ -16,6 +16,9 @@ public class TutorialStep : ScriptableObject [Tooltip("터치해야 할 위치가 있다면, 튜토리얼 매니저에게 인덱스 전달")] public int touchTargetIndex=-1; + + [Tooltip("보여줄 이미지가 있다면, 튜토리얼 매니저에게 인덱스 전달")] + public int imageIndex=-1; [Tooltip("다음 단계로 넘어갈 TutorialStep, null이면 튜토리얼 종료")] public TutorialStep nextStep; diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep1.asset b/Assets/LIN/Scripts/Tutorial/TutorialStep1.asset new file mode 100644 index 00000000..c0ef50ce --- /dev/null +++ b/Assets/LIN/Scripts/Tutorial/TutorialStep1.asset @@ -0,0 +1,26 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b22d834cf5e26e647be215074940d40e, type: 3} + m_Name: TutorialStep1 + m_EditorClassIdentifier: + message: "\uC9D1\uC5D0\uC11C\uB3C4 \uC2AC\uB77C\uC774\uB354\uB97C \uC870\uC791\uD574 + \uCE90\uB9AD\uD130\uB97C \uC6C0\uC9C1\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4." + timeout: 0 + onStepBegin: + m_PersistentCalls: + m_Calls: [] + onStepComplete: + m_PersistentCalls: + m_Calls: [] + touchTargetIndex: 0 + imageIndex: -1 + nextStep: {fileID: 11400000, guid: a6f10decfc8504843b358ab8893c01f7, type: 2} diff --git a/Assets/LIN/Scripts/Tutorial/FirstTutorialStep.asset.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep1.asset.meta similarity index 100% rename from Assets/LIN/Scripts/Tutorial/FirstTutorialStep.asset.meta rename to Assets/LIN/Scripts/Tutorial/TutorialStep1.asset.meta diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep2.asset b/Assets/LIN/Scripts/Tutorial/TutorialStep2.asset new file mode 100644 index 00000000..9dd10882 --- /dev/null +++ b/Assets/LIN/Scripts/Tutorial/TutorialStep2.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b22d834cf5e26e647be215074940d40e, type: 3} + m_Name: TutorialStep2 + m_EditorClassIdentifier: + message: "\uCE68\uB300, \uB0C9\uC7A5\uACE0, \uD604\uAD00 \uADF8\uB9AC\uACE0 \uC8FC\uBC29\uC5D0 + \uAC00\uAE4C\uC774 \uAC00\uBA74 \uADF8\uC5D0 \uC5B4\uC6B8\uB9AC\uB294 \uC0C1\uD638\uC791\uC6A9\uC744 + \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4." + timeout: 0 + onStepBegin: + m_PersistentCalls: + m_Calls: [] + onStepComplete: + m_PersistentCalls: + m_Calls: [] + touchTargetIndex: 1 + imageIndex: -1 + nextStep: {fileID: 11400000, guid: c25f773b8e1446d45837ee656d510061, type: 2} diff --git a/Assets/LIN/Scripts/Tutorial/SecondTutorialStep.asset.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep2.asset.meta similarity index 100% rename from Assets/LIN/Scripts/Tutorial/SecondTutorialStep.asset.meta rename to Assets/LIN/Scripts/Tutorial/TutorialStep2.asset.meta diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep3.asset b/Assets/LIN/Scripts/Tutorial/TutorialStep3.asset new file mode 100644 index 00000000..94f97c52 --- /dev/null +++ b/Assets/LIN/Scripts/Tutorial/TutorialStep3.asset @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b22d834cf5e26e647be215074940d40e, type: 3} + m_Name: TutorialStep3 + m_EditorClassIdentifier: + message: "\uC0C1\uD638\uC791\uC6A9 \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBCF4\uC138\uC694" + timeout: 0 + onStepBegin: + m_PersistentCalls: + m_Calls: [] + onStepComplete: + m_PersistentCalls: + m_Calls: [] + touchTargetIndex: 2 + imageIndex: 0 + nextStep: {fileID: 11400000, guid: 3629cede21d4bb340924cd9b1d401bb9, type: 2} diff --git a/Assets/LIN/Scripts/Tutorial/ThirdTutorialStep.asset.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep3.asset.meta similarity index 100% rename from Assets/LIN/Scripts/Tutorial/ThirdTutorialStep.asset.meta rename to Assets/LIN/Scripts/Tutorial/TutorialStep3.asset.meta diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep4.asset b/Assets/LIN/Scripts/Tutorial/TutorialStep4.asset new file mode 100644 index 00000000..288e7cb5 --- /dev/null +++ b/Assets/LIN/Scripts/Tutorial/TutorialStep4.asset @@ -0,0 +1,52 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b22d834cf5e26e647be215074940d40e, type: 3} + m_Name: TutorialStep4 + m_EditorClassIdentifier: + message: "\uC9C0\uAE08 \uD654\uBA74\uC740 \uC544\uBB34\uB370\uB098 \uD074\uB9AD\uD558\uBA74 + \uC5C6\uC5B4\uC9D1\uB2C8\uB2E4." + timeout: 0 + onStepBegin: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 9146572361147244306, guid: 66016880ee1ff09429065e570a748578, + type: 3} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + onStepComplete: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 9146572361147244306, guid: 66016880ee1ff09429065e570a748578, + type: 3} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + touchTargetIndex: 1 + imageIndex: -1 + nextStep: {fileID: 0} diff --git a/Assets/LIN/Scripts/Tutorial/LastTutorialStep.asset.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep4.asset.meta similarity index 100% rename from Assets/LIN/Scripts/Tutorial/LastTutorialStep.asset.meta rename to Assets/LIN/Scripts/Tutorial/TutorialStep4.asset.meta diff --git a/Assets/LIN/Scripts/UI/InteractionAnimationPanelController.cs b/Assets/LIN/Scripts/UI/InteractionAnimationPanelController.cs index 7f9ae100..bd5318e3 100644 --- a/Assets/LIN/Scripts/UI/InteractionAnimationPanelController.cs +++ b/Assets/LIN/Scripts/UI/InteractionAnimationPanelController.cs @@ -16,6 +16,7 @@ public class InteractionAnimationPanelController : MonoBehaviour private Coroutine _textAnimCoroutine; private Coroutine _autoHideCoroutine; + private Canvas _parentCanvas; public void SetDoingText(string text) { @@ -102,5 +103,13 @@ public class InteractionAnimationPanelController : MonoBehaviour _autoHideCoroutine = null; } } + + public void TutorialSleepAnimation() + { + _parentCanvas = FindObjectOfType(typeof(Canvas)) as Canvas; + + HousingConstants.interactions.TryGetValue(ActionType.Sleep, out var interactionTexts); + ShowAnimationPanel(ActionType.Sleep, interactionTexts.AnimationText); + } } \ No newline at end of file diff --git a/Assets/LIN/Sprites.meta b/Assets/LIN/Sprites.meta new file mode 100644 index 00000000..3aae8305 --- /dev/null +++ b/Assets/LIN/Sprites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7406a965318c4c54790e003c4852dee7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LIN/Sprites/Finger.png b/Assets/LIN/Sprites/Finger.png new file mode 100644 index 00000000..fdd8c332 --- /dev/null +++ b/Assets/LIN/Sprites/Finger.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c0f54f6200953fa8cc55705c0981eb2c652737a7a71c1fd916b0e3898a54581 +size 2241 diff --git a/Assets/LIN/Sprites/Finger.png.meta b/Assets/LIN/Sprites/Finger.png.meta new file mode 100644 index 00000000..8f30db90 --- /dev/null +++ b/Assets/LIN/Sprites/Finger.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: c7de568cd24a02446b221be0785f87f3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LIN/Sprites/FridgeDungeonUI.png b/Assets/LIN/Sprites/FridgeDungeonUI.png new file mode 100644 index 00000000..9d54115e --- /dev/null +++ b/Assets/LIN/Sprites/FridgeDungeonUI.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:350ec60d7002e2861ab1b50dfc1be9e9da67be0b48513b988c18e30b6df5dab9 +size 7071150 diff --git a/Assets/LIN/Sprites/FridgeDungeonUI.png.meta b/Assets/LIN/Sprites/FridgeDungeonUI.png.meta new file mode 100644 index 00000000..fbfc51ff --- /dev/null +++ b/Assets/LIN/Sprites/FridgeDungeonUI.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: b8c9a96772b117744ad2781240f3f8f9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LYM/Fonts/Galmuri9 SDF new.asset b/Assets/LYM/Fonts/Galmuri9 SDF new.asset index d0898952..12b4f95a 100644 --- a/Assets/LYM/Fonts/Galmuri9 SDF new.asset +++ b/Assets/LYM/Fonts/Galmuri9 SDF new.asset @@ -70,7 +70,7 @@ Material: - _OutlineSoftness: 0 - _OutlineUVSpeedX: 0 - _OutlineUVSpeedY: 0 - - _OutlineWidth: 0 + - _OutlineWidth: 0.3 - _PerspectiveFilter: 0.875 - _Reflectivity: 10 - _ScaleRatioA: 0.8