diff --git a/.idea/.idea.Degulleo3D116Rework/.idea/.gitignore b/.idea/.idea.Degulleo3D116Rework/.idea/.gitignore
deleted file mode 100644
index 5d68b23f..00000000
--- a/.idea/.idea.Degulleo3D116Rework/.idea/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-# 디폴트 무시된 파일
-/shelf/
-/workspace.xml
-# Rider에서 무시된 파일
-/contentModel.xml
-/projectSettingsUpdater.xml
-/modules.xml
-/.idea.Degulleo3D116Rework.iml
-# 에디터 기반 HTTP 클라이언트 요청
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/.idea.Degulleo3D116Rework/.idea/indexLayout.xml b/.idea/.idea.Degulleo3D116Rework/.idea/indexLayout.xml
deleted file mode 100644
index 7b08163c..00000000
--- a/.idea/.idea.Degulleo3D116Rework/.idea/indexLayout.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/.idea.Degulleo3D116Rework/.idea/vcs.xml b/.idea/.idea.Degulleo3D116Rework/.idea/vcs.xml
deleted file mode 100644
index 35eb1ddf..00000000
--- a/.idea/.idea.Degulleo3D116Rework/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
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/Drag Down Animation.anim b/Assets/LIN/Animations/Drag Down Animation.anim
new file mode 100644
index 00000000..66fb6531
--- /dev/null
+++ b/Assets/LIN/Animations/Drag Down Animation.anim
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3fffbe9b85d58069c33dc202e70b3a3b8af13cf5f88b248080c8597ce83e648a
+size 7263
diff --git a/Assets/LIN/Animations/Drag Down Animation.anim.meta b/Assets/LIN/Animations/Drag Down Animation.anim.meta
new file mode 100644
index 00000000..65e15a11
--- /dev/null
+++ b/Assets/LIN/Animations/Drag Down Animation.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f27b3abad6872c44e97912eebec8d88f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Animations/Drag Left Animation.anim b/Assets/LIN/Animations/Drag Left Animation.anim
new file mode 100644
index 00000000..4d12afa9
--- /dev/null
+++ b/Assets/LIN/Animations/Drag Left Animation.anim
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8fd626b2b544043134a4c1ff58ef989f182a0a74bf9ff1f3e5727987f483f466
+size 9257
diff --git a/Assets/LIN/Animations/Drag Left Animation.anim.meta b/Assets/LIN/Animations/Drag Left Animation.anim.meta
new file mode 100644
index 00000000..51017116
--- /dev/null
+++ b/Assets/LIN/Animations/Drag Left Animation.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1508ea9e5623cf14ab2378f0cef9e4f9
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Animations/Drag Right Animation.anim b/Assets/LIN/Animations/Drag Right Animation.anim
new file mode 100644
index 00000000..837d994a
--- /dev/null
+++ b/Assets/LIN/Animations/Drag Right Animation.anim
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:125fa2e38a92fbae4474768b166c76afdae57b5d1672054b46304c47a7d1718a
+size 9258
diff --git a/Assets/LIN/Animations/Drag Right Animation.anim.meta b/Assets/LIN/Animations/Drag Right Animation.anim.meta
new file mode 100644
index 00000000..5d8ecffa
--- /dev/null
+++ b/Assets/LIN/Animations/Drag Right Animation.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8702846e8ccd4b34e9e500d748366282
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Animations/Drag Up Animation.anim b/Assets/LIN/Animations/Drag Up Animation.anim
new file mode 100644
index 00000000..4f910117
--- /dev/null
+++ b/Assets/LIN/Animations/Drag Up Animation.anim
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f99b0015366ffe4c3f1caa83d8e581e39a572cf38ae6c34c9c083585e8635bb1
+size 6927
diff --git a/Assets/LIN/Animations/Drag Up Animation.anim.meta b/Assets/LIN/Animations/Drag Up Animation.anim.meta
new file mode 100644
index 00000000..e90ac20f
--- /dev/null
+++ b/Assets/LIN/Animations/Drag Up Animation.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8731d87063872e443b687cb8fde04d4d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ 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..ddbf4438
--- /dev/null
+++ b/Assets/LIN/Animations/Finger Animator Controller.controller
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:366a1c7763b9ad47d29283041d58a762637a8b7d605c7e54e839b64504f96519
+size 9451
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..b33cae66
--- /dev/null
+++ b/Assets/LIN/Animations/Finger Animator Controller.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e9f04be805588144f91257ba68a51876
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 9100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Animations/FingerImage.controller b/Assets/LIN/Animations/FingerImage.controller
new file mode 100644
index 00000000..a2bd7cb4
--- /dev/null
+++ b/Assets/LIN/Animations/FingerImage.controller
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0a49043f7f6ff144df5fa892e7e7f57fdd93ec36ea31f90da4f7da9d8d0fed7e
+size 2033
diff --git a/Assets/LIN/Animations/FingerImage.controller.meta b/Assets/LIN/Animations/FingerImage.controller.meta
new file mode 100644
index 00000000..08458775
--- /dev/null
+++ b/Assets/LIN/Animations/FingerImage.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5905112edad17434fb13083581ef0f4f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 9100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Animations/Touch Animation.anim b/Assets/LIN/Animations/Touch Animation.anim
new file mode 100644
index 00000000..4ffdd712
--- /dev/null
+++ b/Assets/LIN/Animations/Touch Animation.anim
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3d8634abaebb7d2c1757f9971089bf7b19108ea0d491f96179da04ecddde5117
+size 7051
diff --git a/Assets/LIN/Animations/Touch Animation.anim.meta b/Assets/LIN/Animations/Touch Animation.anim.meta
new file mode 100644
index 00000000..2d82983a
--- /dev/null
+++ b/Assets/LIN/Animations/Touch Animation.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cd99c947dee3d52458ca54e58f038438
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Housing Copy.unity b/Assets/LIN/Housing Copy.unity
index 0a1561fc..b9596720 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:0eefa4bbfa3ac0e963a5464f3dbe3292376003e14d61dad7a394b52508698028
-size 139931
+oid sha256:243765a59e3126abd17abc02258bff6f2428294a5d373dacfe09c3ba123b5b96
+size 338192
diff --git a/Assets/LIN/Prefabs/JoystickPanel.prefab b/Assets/LIN/Prefabs/JoystickPanel.prefab
new file mode 100644
index 00000000..dc23f970
--- /dev/null
+++ b/Assets/LIN/Prefabs/JoystickPanel.prefab
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ad7c2d01633f79023bd478dc15868e75d4473d6b146bd15fa9e11e16d7b70878
+size 22447
diff --git a/Assets/LIN/Prefabs/JoystickPanel.prefab.meta b/Assets/LIN/Prefabs/JoystickPanel.prefab.meta
new file mode 100644
index 00000000..f2fdb7b4
--- /dev/null
+++ b/Assets/LIN/Prefabs/JoystickPanel.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ce82122427e6b6246b822185fdb82c2e
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Prefabs/TutorialExamplePanel.prefab b/Assets/LIN/Prefabs/TutorialExamplePanel.prefab
new file mode 100644
index 00000000..5071a7c0
--- /dev/null
+++ b/Assets/LIN/Prefabs/TutorialExamplePanel.prefab
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6d996355527e9a0aa940a2d0a503ba8e7c6e660cb7f0b7f9d403435862da11ee
+size 44871
diff --git a/Assets/LIN/Prefabs/TutorialExamplePanel.prefab.meta b/Assets/LIN/Prefabs/TutorialExamplePanel.prefab.meta
new file mode 100644
index 00000000..bfc4b97b
--- /dev/null
+++ b/Assets/LIN/Prefabs/TutorialExamplePanel.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b916de1e6eb0c5542884194f24ef6b1d
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Scripts/Tutorial.meta b/Assets/LIN/Scripts/Tutorial.meta
new file mode 100644
index 00000000..9daf2ed4
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4153e2ad34614334a86d1fc810eaed5e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Scripts/Tutorial/FingerAnimationController.cs b/Assets/LIN/Scripts/Tutorial/FingerAnimationController.cs
new file mode 100644
index 00000000..11ae8e3c
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/FingerAnimationController.cs
@@ -0,0 +1,37 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public enum fingerAnimationType
+{
+ None = 0,
+ Touch = 1,
+ DragUp = 2,
+ DragDown = 3,
+ DragRight = 4,
+ DragLeft = 5,
+}
+[RequireComponent(typeof(Animator))]
+public class FingerAnimationController : MonoBehaviour
+{
+ private static readonly int AnimationType = Animator.StringToHash("AnimationType");
+ public fingerAnimationType fingerAnimationType = fingerAnimationType.None;
+
+ private Animator animator;
+ private int _animType;
+
+ private void Awake()
+ {
+ animator = GetComponent();
+ animator.SetInteger(AnimationType,(int)fingerAnimationType);
+ }
+
+ private void Update()
+ {
+ if ((int)fingerAnimationType == animator.GetInteger(AnimationType))
+ {
+ return;
+ }
+ animator.SetInteger(AnimationType,(int)fingerAnimationType);
+ }
+}
diff --git a/Assets/LIN/Scripts/Tutorial/FingerAnimationController.cs.meta b/Assets/LIN/Scripts/Tutorial/FingerAnimationController.cs.meta
new file mode 100644
index 00000000..c19a6025
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/FingerAnimationController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: aebdd610e1140f644acb596cc9acec39
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Scripts/Tutorial/PanelTmpController.cs b/Assets/LIN/Scripts/Tutorial/PanelTmpController.cs
new file mode 100644
index 00000000..9a9ae0e2
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/PanelTmpController.cs
@@ -0,0 +1,15 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[RequireComponent(typeof(InteractionAnimationPanelController))]
+public class PanelTmpController : MonoBehaviour
+{
+ InteractionAnimationPanelController interactionAnimationPanelController;
+
+ private void Awake()
+ {
+ interactionAnimationPanelController = GetComponent();
+ interactionAnimationPanelController.TutorialSleepAnimation();
+ }
+}
diff --git a/Assets/LIN/Scripts/Tutorial/PanelTmpController.cs.meta b/Assets/LIN/Scripts/Tutorial/PanelTmpController.cs.meta
new file mode 100644
index 00000000..1591cc6b
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/PanelTmpController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 11e12f4334717874d87ff58d5053e430
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Scripts/Tutorial/TutorialManager.cs b/Assets/LIN/Scripts/Tutorial/TutorialManager.cs
new file mode 100644
index 00000000..0fef1105
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialManager.cs
@@ -0,0 +1,152 @@
+using System;
+using UnityEngine;
+using TMPro;
+using UnityEngine.UI;
+using System.Collections;
+using Unity.VisualScripting;
+using UnityEngine.Serialization;
+using UnityEngine.Events;
+
+public class TutorialManager : MonoBehaviour
+{
+ [SerializeField] private TutorialStep firstStep; // 인스펙터에서 첫 단계 드래그
+
+ [Header("튜토리얼 패널 생성")]
+ [SerializeField] private GameObject[] tutorialPanelPrefabs;
+ [FormerlySerializedAs("parentObject")] public Canvas parentCanvas;
+
+ private GameObject _tutorialPanelObject;
+ private TutorialPanelController _tutorialPanelController;
+
+ private Coroutine _runningCoroutine;
+ private CanvasGroup overlay; // 화면 암전 및 입력 차단
+ private RectTransform targetRt;
+ private Canvas overlayCanvas; // RectTransformUtility를 위한 Canvas
+ private Action onTutorialComplete;
+
+ public void Start( )
+ {
+ StartTutorial(null);
+ }
+ public void StartTutorial(Action onTutorialEnd, int panelIndex = 0)
+ {
+ if(parentCanvas == null)
+ parentCanvas = FindObjectOfType(typeof(Canvas)) as Canvas;
+
+ if (parentCanvas != null)
+ {
+ overlayCanvas = parentCanvas as Canvas;
+
+ _tutorialPanelObject = Instantiate(tutorialPanelPrefabs[panelIndex], parentCanvas.GameObject().transform);
+ overlay = _tutorialPanelObject.GetComponent();
+ _tutorialPanelController = _tutorialPanelObject.GetComponent();
+ }
+
+ if (_tutorialPanelController != null)
+ {
+ onTutorialComplete = onTutorialEnd;
+ overlay.alpha = 1f;
+ overlay.blocksRaycasts = true;
+ RunStep(firstStep);
+ }
+ else Debug.Log("패널 생성 실패, 튜토리얼 진행이 불가능합니다.");
+ }
+
+ private void RunStep(TutorialStep step)
+ {
+ if (_runningCoroutine != null) StopCoroutine(_runningCoroutine);
+ _runningCoroutine = StartCoroutine(RunStepCoroutine(step));
+ }
+
+ private IEnumerator RunStepCoroutine(TutorialStep step)
+ {
+ // 단계 시작 이벤트
+ step.onStepBegin?.Invoke();
+ // 메시지 갱신
+ _tutorialPanelController.setTutorialText(step.message);
+
+ float elapsed = 0f;
+ bool done = false;
+
+ //터치해야 할 위치가 있는지 체크
+ if (step.touchTargetIndex >= 0)
+ {
+ _tutorialPanelController.ShowTouchTarget(step.touchTargetIndex);
+ targetRt = _tutorialPanelController.touchTargets[step.touchTargetIndex].GetComponent();
+ }
+
+ if (step.imageIndex >= 0)
+ {
+ _tutorialPanelController.ShowImage(step.imageIndex);
+ }
+
+ while (!done)
+ {
+ // 1) 영역 터치 체크
+ if (targetRt != null)
+ {
+ // 클릭 또는 터치 이벤트
+ bool pressed = Input.GetMouseButtonDown(0) || Input.touchCount > 0;
+ if (pressed)
+ {
+ Vector2 screenPos = Input.touchCount > 0
+ ? Input.GetTouch(0).position
+ : (Vector2)Input.mousePosition;
+
+ // 터치 위치가 지정 RectTransform 안에 있는지 검사
+ if (RectTransformUtility.RectangleContainsScreenPoint(
+ targetRt, screenPos, overlayCanvas.worldCamera))
+ {
+ Debug.Log("타겟 터치");
+ targetRt = null;
+ _tutorialPanelController.HideTouchTarget(step.touchTargetIndex);
+ done = true;
+ }
+ else
+ {
+ Debug.Log("타겟이 아닌 곳 터치");
+ }
+ }
+ }
+
+ // 타임아웃 체크
+ if (step.timeout > 0f && elapsed >= step.timeout)
+ done = true;
+
+ elapsed += Time.deltaTime;
+ yield return null;
+ }
+
+ // 단계 완료 이벤트
+ step.onStepComplete?.Invoke();
+
+ if (step.imageIndex >= 0)
+ {
+ _tutorialPanelController.HideImage(step.imageIndex);
+ }
+
+ // 다음 단계로
+ if (step.nextStep != null)
+ RunStep(step.nextStep);
+ else
+ EndTutorial();
+ }
+
+ private void EndTutorial()
+ {
+ _tutorialPanelController.setTutorialText("");
+ overlay.alpha = 0f;
+ overlay.blocksRaycasts = false;
+
+ if(onTutorialComplete!=null)
+ {
+ onTutorialComplete?.Invoke();
+ onTutorialComplete = null;
+ }
+
+ if (_tutorialPanelObject == null)
+ return;
+ Destroy(_tutorialPanelObject);
+ _tutorialPanelController = null;
+ }
+}
\ No newline at end of file
diff --git a/Assets/LIN/Scripts/Tutorial/TutorialManager.cs.meta b/Assets/LIN/Scripts/Tutorial/TutorialManager.cs.meta
new file mode 100644
index 00000000..36be15fc
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 93a1ace26bb85054ba68cb96470bd8c6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Scripts/Tutorial/TutorialPanelController.cs b/Assets/LIN/Scripts/Tutorial/TutorialPanelController.cs
new file mode 100644
index 00000000..01953d3f
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialPanelController.cs
@@ -0,0 +1,42 @@
+using System.Collections;
+using System.Collections.Generic;
+using TMPro;
+using UnityEngine;
+
+[RequireComponent(typeof(CanvasGroup))]
+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;
+ }
+ //TODO:RangeCheck
+ public void ShowTouchTarget(int index)
+ {
+ touchTargets[index].SetActive(true);
+ }
+
+ 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/TutorialPanelController.cs.meta b/Assets/LIN/Scripts/Tutorial/TutorialPanelController.cs.meta
new file mode 100644
index 00000000..d7e6d351
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialPanelController.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 50f463251502b134d9b627d30c30842b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep.cs b/Assets/LIN/Scripts/Tutorial/TutorialStep.cs
new file mode 100644
index 00000000..a19046b9
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialStep.cs
@@ -0,0 +1,25 @@
+// TutorialStep.cs
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.Serialization;
+
+[CreateAssetMenu(fileName = "TutorialStep", menuName = "Tutorial/Tutorial Step")]
+public class TutorialStep : ScriptableObject
+{
+ [TextArea(2, 5)]
+ public string message; // 플레이어에게 보여줄 텍스트
+ public float timeout = 2f; // 0 이상이면 이 시간 경과 후 자동 완료
+
+ [Tooltip("단계별로 시작, 완료시 추가로 실행할 이벤트")]
+ public UnityEvent onStepBegin; // 단계 시작 시 추가로 실행할 이벤트
+ public UnityEvent onStepComplete; // 단계 완료 시 실행할 이벤트
+
+ [Tooltip("터치해야 할 위치가 있다면, 튜토리얼 매니저에게 인덱스 전달")]
+ public int touchTargetIndex=-1;
+
+ [Tooltip("보여줄 이미지가 있다면, 튜토리얼 매니저에게 인덱스 전달")]
+ public int imageIndex=-1;
+
+ [Tooltip("다음 단계로 넘어갈 TutorialStep, null이면 튜토리얼 종료")]
+ public TutorialStep nextStep;
+}
\ No newline at end of file
diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep.cs.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep.cs.meta
new file mode 100644
index 00000000..72728424
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialStep.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b22d834cf5e26e647be215074940d40e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
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/TutorialStep1.asset.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep1.asset.meta
new file mode 100644
index 00000000..62470ab2
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialStep1.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 80e7d98a23eacbb4eab74b9a479a04e2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
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/TutorialStep2.asset.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep2.asset.meta
new file mode 100644
index 00000000..f4e3954f
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialStep2.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a6f10decfc8504843b358ab8893c01f7
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
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/TutorialStep3.asset.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep3.asset.meta
new file mode 100644
index 00000000..8b313d90
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialStep3.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c25f773b8e1446d45837ee656d510061
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep4.asset b/Assets/LIN/Scripts/Tutorial/TutorialStep4.asset
new file mode 100644
index 00000000..4920ff03
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialStep4.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: TutorialStep4
+ m_EditorClassIdentifier:
+ message:
+ timeout: 2
+ onStepBegin:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ touchTargetIndex: -1
+ imageIndex: 1
+ nextStep: {fileID: 11400000, guid: e3d4da4e50044c54394663ac9e7b2afa, type: 2}
diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep4.asset.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep4.asset.meta
new file mode 100644
index 00000000..35d65f65
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialStep4.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3629cede21d4bb340924cd9b1d401bb9
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep5.asset b/Assets/LIN/Scripts/Tutorial/TutorialStep5.asset
new file mode 100644
index 00000000..dc7e68ad
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialStep5.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: TutorialStep5
+ m_EditorClassIdentifier:
+ message: "\uB2E4\uC591\uD55C \uC0C1\uD638\uC791\uC6A9\uC744 \uD1B5\uD574 \uB2A5\uB825\uCE58\uB97C
+ \uC62C\uB9AC\uACE0 \uB358\uC804\uC744 \uACF5\uB7B5\uD574\uBCF4\uC138\uC694."
+ timeout: 0
+ onStepBegin:
+ m_PersistentCalls:
+ m_Calls: []
+ onStepComplete:
+ m_PersistentCalls:
+ m_Calls: []
+ touchTargetIndex: 1
+ imageIndex: -1
+ nextStep: {fileID: 0}
diff --git a/Assets/LIN/Scripts/Tutorial/TutorialStep5.asset.meta b/Assets/LIN/Scripts/Tutorial/TutorialStep5.asset.meta
new file mode 100644
index 00000000..6cc8f6cf
--- /dev/null
+++ b/Assets/LIN/Scripts/Tutorial/TutorialStep5.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e3d4da4e50044c54394663ac9e7b2afa
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
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/LIN/TutorialAnimController.controller b/Assets/LIN/TutorialAnimController.controller
new file mode 100644
index 00000000..c39ecd67
--- /dev/null
+++ b/Assets/LIN/TutorialAnimController.controller
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e16cca55b1904684098899207794949a9b782eaa3481defe80f261dd9d117e8a
+size 2055
diff --git a/Assets/LIN/TutorialAnimController.controller.meta b/Assets/LIN/TutorialAnimController.controller.meta
new file mode 100644
index 00000000..ed17020c
--- /dev/null
+++ b/Assets/LIN/TutorialAnimController.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9b52bf42130896940b1762721509ab7d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 9100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/LIN/TutorialIndicateAnimation.anim b/Assets/LIN/TutorialIndicateAnimation.anim
new file mode 100644
index 00000000..2ead5d4c
--- /dev/null
+++ b/Assets/LIN/TutorialIndicateAnimation.anim
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:75e5fe6224ee40dff0a2d15d06a4d86bbe4d27d91f5c91f4ffe936affd8522c2
+size 3893
diff --git a/Assets/LIN/TutorialIndicateAnimation.anim.meta b/Assets/LIN/TutorialIndicateAnimation.anim.meta
new file mode 100644
index 00000000..774aa448
--- /dev/null
+++ b/Assets/LIN/TutorialIndicateAnimation.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cd947f5b39b9e6549885e225061e752d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ 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
diff --git a/Assets/Scripts/Character/Enemy/Bullet/MagicMissile.cs b/Assets/Scripts/Character/Enemy/Bullet/MagicMissile.cs
index 0965588b..2478e596 100644
--- a/Assets/Scripts/Character/Enemy/Bullet/MagicMissile.cs
+++ b/Assets/Scripts/Character/Enemy/Bullet/MagicMissile.cs
@@ -1,8 +1,8 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class MagicMissile : BulletBase
-{
-
-}
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class MagicMissile : BulletBase
+{
+
+}
diff --git a/Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo.meta b/Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo.meta
new file mode 100644
index 00000000..775f9c8d
--- /dev/null
+++ b/Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dfd81883413431543baf7e526cf17f78
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant: