diff --git a/Assets/JAY/Scripts/PlayerController.cs b/Assets/JAY/Scripts/PlayerController.cs index 50db3311..353b0a17 100644 --- a/Assets/JAY/Scripts/PlayerController.cs +++ b/Assets/JAY/Scripts/PlayerController.cs @@ -63,6 +63,9 @@ public class PlayerController : CharacterBase, IObserver public CharacterController CharacterController => _characterController; public bool IsBattle => _isBattle; public Transform DashEffectAnchor => dashEffectAnchor; + + [Header("대시, 어택 터치 연출용")] + [SerializeField] private DungeonPanelController dungeonPanelController; private void Awake() { @@ -126,6 +129,7 @@ public class PlayerController : CharacterBase, IObserver // 대시 우선 입력 처리 if (Input.GetKeyDown(KeyCode.Space)) { + dungeonPanelController.DashTouchMotion(); StartDashAction(); return; } @@ -134,6 +138,7 @@ public class PlayerController : CharacterBase, IObserver if (Input.GetKeyDown(KeyCode.X) && (_currentAction == null || !_currentAction.IsActive) && (CurrentState != PlayerState.Win && CurrentState != PlayerState.Dead)) { + dungeonPanelController.AttackTouchMotion(); GameManager.Instance.PlayPlayerAttackSound(); StartAttackAction(); } diff --git a/Assets/KSH/DungeonLogic.cs b/Assets/KSH/DungeonLogic.cs index 0e0d3e80..e7039fb5 100644 --- a/Assets/KSH/DungeonLogic.cs +++ b/Assets/KSH/DungeonLogic.cs @@ -109,7 +109,11 @@ public class DungeonLogic : MonoBehaviour _player.SetState(PlayerState.Win); // TODO: 강화 시스템으로 넘어가고 일상 맵으로 이동 - GameManager.Instance.PanelManager.GetPanel("ClearPanelBG"); + var clearPanel = GameManager.Instance.PanelManager.GetPanel("ClearPanelBG").GetComponent(); + clearPanel.Show(() => + { + UpgradeManager.Instance.StartUpgrade(); + }); } } @@ -128,7 +132,11 @@ public class DungeonLogic : MonoBehaviour _player.gameObject.layer = LayerMask.NameToLayer("Ignore Raycast"); _enemy.SetState(EnemyState.Idle); - GameManager.Instance.PanelManager.GetPanel("FailedPanelBG"); + var failedPanel = GameManager.Instance.PanelManager.GetPanel("FailedPanelBG").GetComponent(); + failedPanel.Show(() => + { + //Todo: 실패 패널 이후 진행할 행동 + }); StartCoroutine(DelayedSceneChange()); // 5초 대기 후 전환 } diff --git a/Assets/KSH/DungeonPanelController.cs b/Assets/KSH/DungeonPanelController.cs index 0f96aa09..938edaec 100644 --- a/Assets/KSH/DungeonPanelController.cs +++ b/Assets/KSH/DungeonPanelController.cs @@ -11,6 +11,11 @@ public class DungeonPanelController : MonoBehaviour private int _countHealth = 0; private int visibleHeartCount = 3; // 강화 레벨로 설정됨 + //PC 키보드 입력 시 버튼 색상 변경 + [SerializeField] private GameObject dashPressedImage; + [SerializeField] private GameObject attackPressedImage; + private float pressedTime = .1f; + private void Start() { int level = UpgradeManager.Instance.upgradeStat.CurrentUpgradeLevel(StatType.Heart); // 1~3 @@ -50,4 +55,36 @@ public class DungeonPanelController : MonoBehaviour { yield return new WaitForSeconds(1.0f); } + + + #region PC입력 동안 버튼 색상 변경 + + public void DashTouchMotion() + { + StopCoroutine(DashButtonColorChange()); + StartCoroutine(DashButtonColorChange()); + } + + public void AttackTouchMotion() + { + StopCoroutine(AttackButtonColorChange()); + StartCoroutine(AttackButtonColorChange()); + } + + private IEnumerator DashButtonColorChange() + { + dashPressedImage.SetActive(true); + yield return new WaitForSeconds(pressedTime); + dashPressedImage.SetActive(false); + + } + private IEnumerator AttackButtonColorChange() + { + attackPressedImage.SetActive(true); + yield return new WaitForSeconds(pressedTime); + attackPressedImage.SetActive(false); + } + + + #endregion } diff --git a/Assets/KSH/PlayerStats.cs b/Assets/KSH/PlayerStats.cs index d04fc77a..81d8adb8 100644 --- a/Assets/KSH/PlayerStats.cs +++ b/Assets/KSH/PlayerStats.cs @@ -51,6 +51,7 @@ public class PlayerStats : MonoBehaviour,ISaveable private bool _isActiveBubble; private bool _hasShownBubbleToday; // 하루에 말풍선 하나만 표시하기 private InteractionAnimationPanelController _interactionAnimation; // 상호작용 패널 Active 여부 확인 + private HousingCanvasController _housingCanvasController; // 돌발 패널 Active 여부 확인 private int _mealCount; public int MealCount => _mealCount; @@ -150,9 +151,15 @@ public class PlayerStats : MonoBehaviour,ISaveable _interactionAnimation = panelController; } + public void SetHousingCanvasController(HousingCanvasController canvasController) + { + _housingCanvasController = canvasController; + } + public void ShowBubble() { if (_interactionAnimation != null && _interactionAnimation.IsPanelActive()) return; + if (_housingCanvasController != null && _housingCanvasController.IsSuddenPanelActive()) return; if(_isActiveBubble) _speechBubbleFollower.ShowMessage(); diff --git a/Assets/KSH/ReDungeon.unity b/Assets/KSH/ReDungeon.unity index b672d670..520ece42 100644 --- a/Assets/KSH/ReDungeon.unity +++ b/Assets/KSH/ReDungeon.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c92e11586d095039889c51ff2174ee89df993ceaa85107b4081fa9975ecaf67e -size 46245 +oid sha256:e59bb8c6482fac961314e083c009ccf71b3549dcc0c5f04881e1375ceab2d2ce +size 251 diff --git a/Assets/KSH/ValueByAction.cs b/Assets/KSH/ValueByAction.cs index 594f0b7f..ac6d84fb 100644 --- a/Assets/KSH/ValueByAction.cs +++ b/Assets/KSH/ValueByAction.cs @@ -41,7 +41,7 @@ public class ValueByAction { ActionType.Dungeon, new ActionEffect(+3.0f, -3.0f, 0) }, { ActionType.Housework, new ActionEffect(+1.0f, -1.0f, +0.2f) }, { ActionType.OvertimeWork, new ActionEffect(+4.0f, -5.0f, +1.0f) }, - { ActionType.TeamDinner, new ActionEffect(_gameConstants.forcedValue, _gameConstants.forcedValue, 0) }, // 수면 강제(8시 기상) 후 최대 체력 + { ActionType.TeamDinner, new ActionEffect(_gameConstants.forcedValue, +8.0f, 0) }, // 수면 강제(8시 기상) 후 최대 체력 { ActionType.Absence, new ActionEffect(0, 0, -3.0f) } }; } diff --git a/Assets/LIN/Prefabs/Attack Button Image.prefab b/Assets/LIN/Prefabs/Attack Button Image.prefab new file mode 100644 index 00000000..a468c022 --- /dev/null +++ b/Assets/LIN/Prefabs/Attack Button Image.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c912afdba841f22fdb697cf83dfc5b7eb413f162bd86a724d2b6ee5da220b2cd +size 2271 diff --git a/Assets/LIN/Prefabs/Attack Button Image.prefab.meta b/Assets/LIN/Prefabs/Attack Button Image.prefab.meta new file mode 100644 index 00000000..7f80312b --- /dev/null +++ b/Assets/LIN/Prefabs/Attack Button Image.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8822dc0c2e8b5bc498036a19194f8827 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LIN/Prefabs/Dash Button Image.prefab b/Assets/LIN/Prefabs/Dash Button Image.prefab new file mode 100644 index 00000000..17477dc4 --- /dev/null +++ b/Assets/LIN/Prefabs/Dash Button Image.prefab @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91b8bc0c26e6e4bc83d86a12f61ff575065648ced935688a5dc1288ef3b89dab +size 2269 diff --git a/Assets/LIN/Prefabs/Dash Button Image.prefab.meta b/Assets/LIN/Prefabs/Dash Button Image.prefab.meta new file mode 100644 index 00000000..c122fb67 --- /dev/null +++ b/Assets/LIN/Prefabs/Dash Button Image.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 76f779210ea250641b4559dfc6d379b5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LIN/ReDungeon UI Copy.unity b/Assets/LIN/ReDungeon UI Copy.unity new file mode 100644 index 00000000..53af3096 --- /dev/null +++ b/Assets/LIN/ReDungeon UI Copy.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:839747d3f7bbf87df93c0e15475efd1930ef320f44bd095babafc77082a424be +size 46876 diff --git a/Assets/LIN/ReDungeon UI Copy.unity.meta b/Assets/LIN/ReDungeon UI Copy.unity.meta new file mode 100644 index 00000000..dd80e8be --- /dev/null +++ b/Assets/LIN/ReDungeon UI Copy.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ce2ba637dd19c434fa2eb509c2ad4270 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LIN/ReHousing Loding Anim.unity b/Assets/LIN/ReHousing Loding Anim.unity index dd9c8df1..b8b2dbc9 100644 --- a/Assets/LIN/ReHousing Loding Anim.unity +++ b/Assets/LIN/ReHousing Loding Anim.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:32bdaa1c9fb8d6ce0e974107e2276b40a04e72af7d2223b95bbc86345c314394 -size 40696 +oid sha256:6c51af6e19fe290d921477bdc7038fc3ed395e951b4c2d1a1610345edc21ca3e +size 41256 diff --git a/Assets/LIN/Scripts/DailyRoutine/InteractionController.cs b/Assets/LIN/Scripts/DailyRoutine/InteractionController.cs index 951ad303..1830f22b 100644 --- a/Assets/LIN/Scripts/DailyRoutine/InteractionController.cs +++ b/Assets/LIN/Scripts/DailyRoutine/InteractionController.cs @@ -16,8 +16,10 @@ public class InteractionController : MonoBehaviour private void Start() { + PlayerStats.Instance.OnWorked -= SuddenAfterWorkEventHappen; PlayerStats.Instance.OnWorked += SuddenAfterWorkEventHappen; PlayerStats.Instance.SetInteractionPanelController(interactionAnimationPanelController); + PlayerStats.Instance.SetHousingCanvasController(housingCanvasController); } // 상호작용 가능한 사물 범위에 들어올 때 diff --git a/Assets/LIN/Scripts/UI/HousingCanvasController.cs b/Assets/LIN/Scripts/UI/HousingCanvasController.cs index 1839b0ef..347aed70 100644 --- a/Assets/LIN/Scripts/UI/HousingCanvasController.cs +++ b/Assets/LIN/Scripts/UI/HousingCanvasController.cs @@ -31,19 +31,6 @@ public class HousingCanvasController : MonoBehaviour interactionButton.SetActive(false); suddenPanel.SetActive(false); } - - /// - /// 씬전환 로딩 패널 테스트용 코드.던전에서도 씬전환 할 때 해당 코드 사용하시면 됩니다. - /// - private void Update() - { - if (Input.GetKeyDown(KeyCode.A)) - { - var _switchingPanel = Instantiate(switchingPanel,this.transform); - switchingPanelController = _switchingPanel.GetComponent(); - switchingPanelController.FadeAndSceneLoad("ReDungeon"); - } - } #region NPC 상호 작용 @@ -152,6 +139,12 @@ public class HousingCanvasController : MonoBehaviour _autoHideCoroutine = null; } + + public bool IsSuddenPanelActive() + { + return suddenPanel.activeSelf; + } + #endregion } diff --git a/Assets/LYM/Scripts/ClearPanelController.cs b/Assets/LYM/Scripts/ClearPanelController.cs index 8de3197a..c4c80374 100644 --- a/Assets/LYM/Scripts/ClearPanelController.cs +++ b/Assets/LYM/Scripts/ClearPanelController.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using DG.Tweening; using UnityEngine; using UnityEngine.EventSystems; -using UnityEngine.PlayerLoop; using UnityEngine.UI; public class ClearPanelController : PanelController, IPointerClickHandler @@ -12,23 +11,9 @@ public class ClearPanelController : PanelController, IPointerClickHandler [SerializeField] private CanvasGroup clearPanel; [SerializeField] private Image clearPanelArmImage; [SerializeField] private Image clearTextImage; - - private Image _clearPanelBGImage; - public Action onCompleted; + [SerializeField] private Image clearPanelBGImage; - private void Awake() - { - base.Awake(); - _clearPanelBGImage = GetComponent(); - } - private void Start() - { - //임시 코드 - Show(() => - { - Debug.Log("OnCompleted"); - }); - } + public Action onCompleted; public void Show(Action onCompleted) { @@ -39,7 +24,7 @@ public class ClearPanelController : PanelController, IPointerClickHandler private void Init() { - _clearPanelBGImage.DOFade(0, 0); + clearPanelBGImage.DOFade(0, 0); clearTextImage.rectTransform.localScale = Vector3.zero; clearTextImage.DOFade(0, 0); clearPanel.DOFade(0, 0); @@ -49,7 +34,7 @@ public class ClearPanelController : PanelController, IPointerClickHandler private void ClearAnimation() { Sequence seq = DOTween.Sequence(); - seq.Append(_clearPanelBGImage.DOFade(0.98f, 0.5f)) + seq.Append(clearPanelBGImage.DOFade(0.98f, 0.5f)) .Append(clearPanel.DOFade(1, 0.5f)) .Append(clearPanelArmImage.rectTransform.DORotate(new Vector3(0, 0, 15), 0.3f)) .Append(clearPanelArmImage.rectTransform.DORotate(Vector3.zero, 0.3f)) @@ -61,6 +46,5 @@ public class ClearPanelController : PanelController, IPointerClickHandler { onCompleted?.Invoke(); Hide(); - UpgradeManager.Instance.StartUpgrade(); } } \ No newline at end of file diff --git a/Assets/LYM/Scripts/FailedPanelController.cs b/Assets/LYM/Scripts/FailedPanelController.cs index 1aa06d8f..a1c9b402 100644 --- a/Assets/LYM/Scripts/FailedPanelController.cs +++ b/Assets/LYM/Scripts/FailedPanelController.cs @@ -11,24 +11,9 @@ public class FailedPanelController : PanelController, IPointerClickHandler [SerializeField] private CanvasGroup failedPanel; [SerializeField] private Image failedPanelArmImage; [SerializeField] private Image failedTextImage; - - private Image _failedPanelBGImage; - public Action onCompleted; + [SerializeField] private Image failedPanelBGImage; - private void Awake() - { - base.Awake(); - _failedPanelBGImage = GetComponent(); - } - - private void Start() - { - //임시 코드 - Show(() => - { - Debug.Log("OnCompleted"); - }); - } + public Action onCompleted; public void Show(Action onCompleted) { @@ -39,7 +24,7 @@ public class FailedPanelController : PanelController, IPointerClickHandler private void Init() { - _failedPanelBGImage.DOFade(0, 0); + failedPanelBGImage.DOFade(0, 0); failedTextImage.DOFade(0, 0); failedTextImage.rectTransform.DOScale(0, 0); failedPanel.DOFade(0, 0); @@ -49,7 +34,7 @@ public class FailedPanelController : PanelController, IPointerClickHandler private void FailedAnimation() { Sequence seq = DOTween.Sequence(); - seq.Append(_failedPanelBGImage.DOFade(0.98f, 0.5f)) + seq.Append(failedPanelBGImage.DOFade(0.98f, 0.5f)) .Append(failedPanel.DOFade(1, 0.5f)) .Append(failedPanelArmImage.rectTransform.DORotate(new Vector3(0, 0, 15), 0.3f)) .Append(failedPanelArmImage.rectTransform.DORotate(Vector3.zero, 0.3f)) diff --git a/Assets/Prefabs/ReDungeon/Canvas.prefab b/Assets/Prefabs/ReDungeon/Canvas.prefab index a357c724..a6036dac 100644 --- a/Assets/Prefabs/ReDungeon/Canvas.prefab +++ b/Assets/Prefabs/ReDungeon/Canvas.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72e2767e42779e7867cc6bf2af0aea4e0df3e33b28f38b7fb59f49d308d58ca8 -size 64019 +oid sha256:6e1a56436fff1a8cebee81460f9712d76d6cf4cd4fdfd5c7e45ecf188052662d +size 251 diff --git a/Assets/Prefabs/ReHousing/Canvas.prefab b/Assets/Prefabs/ReHousing/Canvas.prefab index f4b33ce0..7aac00e5 100644 --- a/Assets/Prefabs/ReHousing/Canvas.prefab +++ b/Assets/Prefabs/ReHousing/Canvas.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ed066109b1b4b1659317b6461fb716ef432184d8f3f583076183464d6dbcc1f -size 128312 +oid sha256:f3b32e1f6835b8d6756a89cd675555c8903586bcaab954e48b750305669ea000 +size 128310 diff --git a/Assets/Resources/Prefabs/Panels/ClearPanelBG.prefab b/Assets/Resources/Prefabs/Panels/ClearPanelBG.prefab index 889b9daf..79b0f08d 100644 --- a/Assets/Resources/Prefabs/Panels/ClearPanelBG.prefab +++ b/Assets/Resources/Prefabs/Panels/ClearPanelBG.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c152074f798e97965cd62d61edc5f7362e64fcd74d1a05db54edb331695686d2 -size 11276 +oid sha256:f4982d1d015ff6b0652e4ce4585f1b9861a60c045252ad3aef0b5e6129e31bf3 +size 11327 diff --git a/Assets/Resources/Prefabs/Panels/FailedPanelBG.prefab b/Assets/Resources/Prefabs/Panels/FailedPanelBG.prefab index 7b59d102..2fec0e6b 100644 --- a/Assets/Resources/Prefabs/Panels/FailedPanelBG.prefab +++ b/Assets/Resources/Prefabs/Panels/FailedPanelBG.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e416bb4099887505fda17a2e8d5c5bd672921eefc0680b22bd4c85e6a1f0f9b1 -size 11567 +oid sha256:7f18b1056ccd86c81e11fa6ef244b8727b68e40159cd18e9d3eeec17b5dadd15 +size 11619