2026-06-02 세팅오류, 죽을시 다시 시작
This commit is contained in:
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@@ -60,12 +60,12 @@
|
|||||||
"*.asset": "yaml",
|
"*.asset": "yaml",
|
||||||
"*.meta": "yaml",
|
"*.meta": "yaml",
|
||||||
"*.prefab": "yaml",
|
"*.prefab": "yaml",
|
||||||
"*.unity": "yaml",
|
"*.unity": "yaml"
|
||||||
},
|
},
|
||||||
"explorer.fileNesting.enabled": true,
|
"explorer.fileNesting.enabled": true,
|
||||||
"explorer.fileNesting.patterns": {
|
"explorer.fileNesting.patterns": {
|
||||||
"*.sln": "*.csproj",
|
"*.sln": "*.csproj",
|
||||||
"*.slnx": "*.csproj"
|
"*.slnx": "*.csproj"
|
||||||
},
|
},
|
||||||
"dotnet.defaultSolution": "Unity_2D_WhiteAction.slnx"
|
"dotnet.defaultSolution": "WhiteMan_Unity2D.slnx"
|
||||||
}
|
}
|
||||||
6
.vsconfig
Normal file
6
.vsconfig
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"version": "1.0",
|
||||||
|
"components": [
|
||||||
|
"Microsoft.VisualStudio.Workload.ManagedGame"
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Assets/01_Scenes/BossScene.unity
LFS
BIN
Assets/01_Scenes/BossScene.unity
LFS
Binary file not shown.
BIN
Assets/01_Scenes/GameScene.unity
LFS
BIN
Assets/01_Scenes/GameScene.unity
LFS
Binary file not shown.
Binary file not shown.
@@ -119,6 +119,12 @@ public void EquipSlot(int slotIndex)
|
|||||||
OnInventoryChanged?.Invoke();
|
OnInventoryChanged?.Invoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ClearWeaponInven()
|
||||||
|
{
|
||||||
|
_weapons.Clear();
|
||||||
|
OnInventoryChanged?.Invoke();
|
||||||
|
}
|
||||||
|
|
||||||
// 디버그용: 슬롯에 해당 무기가 있는지 확인.
|
// 디버그용: 슬롯에 해당 무기가 있는지 확인.
|
||||||
public bool HasWeaponInSlot(int slotIndex)
|
public bool HasWeaponInSlot(int slotIndex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,77 +1,9 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator
|
|
||||||
// version 1.18.0
|
|
||||||
// from Assets/11_Input/GameInput.inputactions
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine.InputSystem;
|
using UnityEngine.InputSystem;
|
||||||
using UnityEngine.InputSystem.Utilities;
|
using UnityEngine.InputSystem.Utilities;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Provides programmatic access to <see cref="InputActionAsset" />, <see cref="InputActionMap" />, <see cref="InputAction" /> and <see cref="InputControlScheme" /> instances defined in asset "Assets/11_Input/GameInput.inputactions".
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// This class is source generated and any manual edits will be discarded if the associated asset is reimported or modified.
|
|
||||||
/// </remarks>
|
|
||||||
/// <example>
|
|
||||||
/// <code>
|
|
||||||
/// using namespace UnityEngine;
|
|
||||||
/// using UnityEngine.InputSystem;
|
|
||||||
///
|
|
||||||
/// // Example of using an InputActionMap named "Player" from a UnityEngine.MonoBehaviour implementing callback interface.
|
|
||||||
/// public class Example : MonoBehaviour, MyActions.IPlayerActions
|
|
||||||
/// {
|
|
||||||
/// private MyActions_Actions m_Actions; // Source code representation of asset.
|
|
||||||
/// private MyActions_Actions.PlayerActions m_Player; // Source code representation of action map.
|
|
||||||
///
|
|
||||||
/// void Awake()
|
|
||||||
/// {
|
|
||||||
/// m_Actions = new MyActions_Actions(); // Create asset object.
|
|
||||||
/// m_Player = m_Actions.Player; // Extract action map object.
|
|
||||||
/// m_Player.AddCallbacks(this); // Register callback interface IPlayerActions.
|
|
||||||
/// }
|
|
||||||
///
|
|
||||||
/// void OnDestroy()
|
|
||||||
/// {
|
|
||||||
/// m_Actions.Dispose(); // Destroy asset object.
|
|
||||||
/// }
|
|
||||||
///
|
|
||||||
/// void OnEnable()
|
|
||||||
/// {
|
|
||||||
/// m_Player.Enable(); // Enable all actions within map.
|
|
||||||
/// }
|
|
||||||
///
|
|
||||||
/// void OnDisable()
|
|
||||||
/// {
|
|
||||||
/// m_Player.Disable(); // Disable all actions within map.
|
|
||||||
/// }
|
|
||||||
///
|
|
||||||
/// #region Interface implementation of MyActions.IPlayerActions
|
|
||||||
///
|
|
||||||
/// // Invoked when "Move" action is either started, performed or canceled.
|
|
||||||
/// public void OnMove(InputAction.CallbackContext context)
|
|
||||||
/// {
|
|
||||||
/// Debug.Log($"OnMove: {context.ReadValue<Vector2>()}");
|
|
||||||
/// }
|
|
||||||
///
|
|
||||||
/// // Invoked when "Attack" action is either started, performed or canceled.
|
|
||||||
/// public void OnAttack(InputAction.CallbackContext context)
|
|
||||||
/// {
|
|
||||||
/// Debug.Log($"OnAttack: {context.ReadValue<float>()}");
|
|
||||||
/// }
|
|
||||||
///
|
|
||||||
/// #endregion
|
|
||||||
/// }
|
|
||||||
/// </code>
|
|
||||||
/// </example>
|
|
||||||
public partial class @GameInput: IInputActionCollection2, IDisposable
|
public partial class @GameInput: IInputActionCollection2, IDisposable
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -36,5 +36,7 @@ public void OnSceneLoaded()
|
|||||||
public void GameRestart()
|
public void GameRestart()
|
||||||
{
|
{
|
||||||
Debug.Log("다시시작");
|
Debug.Log("다시시작");
|
||||||
|
|
||||||
|
SceneLoadManager.Instance.RequestSceneChange("GameScene");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1758,7 +1758,6 @@ private void TickHitstun()
|
|||||||
if (_hitstunTimer > 0f)
|
if (_hitstunTimer > 0f)
|
||||||
_hitstunTimer -= Time.fixedDeltaTime;
|
_hitstunTimer -= Time.fixedDeltaTime;
|
||||||
|
|
||||||
Debug.Log($"_hitstunTimer : {_hitstunTimer}, _isGrounded : {_isGrounded} ");
|
|
||||||
|
|
||||||
if (_hitstunTimer <= 0f && _isGrounded && !IsActionActive())
|
if (_hitstunTimer <= 0f && _isGrounded && !IsActionActive())
|
||||||
{
|
{
|
||||||
@@ -1774,7 +1773,6 @@ public void TakeDamage(int amount, Vector2 hitVelocity = default, string hitReac
|
|||||||
if (_health == null || _health.IsDead) return;
|
if (_health == null || _health.IsDead) return;
|
||||||
|
|
||||||
_health.TakeDamage(amount);
|
_health.TakeDamage(amount);
|
||||||
Debug.Log($"{name} 피격: -{amount} (HP: {_health.CurrentHealth}/{_health.MaxHealth})");
|
|
||||||
|
|
||||||
if(_health.CurrentHealth <= 0)
|
if(_health.CurrentHealth <= 0)
|
||||||
{
|
{
|
||||||
@@ -1786,5 +1784,11 @@ public void PlayerDead()
|
|||||||
{
|
{
|
||||||
//재시작 UI 띄우기
|
//재시작 UI 띄우기
|
||||||
GameManager.Instance.Restart.ShowRestart();
|
GameManager.Instance.Restart.ShowRestart();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PlayerWeaponInventory.Instance.ClearWeaponInven();
|
||||||
|
|
||||||
|
Destroy(gameObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -5,15 +5,15 @@
|
|||||||
"com.unity.connect.share": "4.2.4",
|
"com.unity.connect.share": "4.2.4",
|
||||||
"com.unity.feature.2d": "2.0.2",
|
"com.unity.feature.2d": "2.0.2",
|
||||||
"com.unity.feature.development": "1.0.2",
|
"com.unity.feature.development": "1.0.2",
|
||||||
"com.unity.inputsystem": "1.18.0",
|
"com.unity.inputsystem": "1.19.0",
|
||||||
"com.unity.learn.iet-framework": "5.0.2",
|
"com.unity.learn.iet-framework": "5.0.3",
|
||||||
"com.unity.multiplayer.center": "1.0.1",
|
"com.unity.multiplayer.center": "1.0.1",
|
||||||
"com.unity.render-pipelines.universal": "17.3.0",
|
"com.unity.render-pipelines.universal": "17.3.0",
|
||||||
"com.unity.shadergraph": "17.3.0",
|
"com.unity.shadergraph": "17.3.0",
|
||||||
"com.unity.test-framework": "1.6.0",
|
"com.unity.test-framework": "1.6.0",
|
||||||
"com.unity.timeline": "1.8.10",
|
"com.unity.timeline": "1.8.12",
|
||||||
"com.unity.ugui": "2.0.0",
|
"com.unity.ugui": "2.0.0",
|
||||||
"com.unity.visualscripting": "1.9.9",
|
"com.unity.visualscripting": "1.9.11",
|
||||||
"com.unity.modules.accessibility": "1.0.0",
|
"com.unity.modules.accessibility": "1.0.0",
|
||||||
"com.unity.modules.adaptiveperformance": "1.0.0",
|
"com.unity.modules.adaptiveperformance": "1.0.0",
|
||||||
"com.unity.modules.ai": "1.0.0",
|
"com.unity.modules.ai": "1.0.0",
|
||||||
|
|||||||
@@ -11,11 +11,11 @@
|
|||||||
"hash": "b92c05a25820cfc9f59ce4094eb46aaec8632ea2"
|
"hash": "b92c05a25820cfc9f59ce4094eb46aaec8632ea2"
|
||||||
},
|
},
|
||||||
"com.unity.2d.animation": {
|
"com.unity.2d.animation": {
|
||||||
"version": "13.0.4",
|
"version": "13.0.5",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.2d.common": "12.0.2",
|
"com.unity.2d.common": "12.0.3",
|
||||||
"com.unity.2d.sprite": "1.0.0",
|
"com.unity.2d.sprite": "1.0.0",
|
||||||
"com.unity.collections": "2.4.3",
|
"com.unity.collections": "2.4.3",
|
||||||
"com.unity.modules.animation": "1.0.0",
|
"com.unity.modules.animation": "1.0.0",
|
||||||
@@ -24,11 +24,11 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.2d.aseprite": {
|
"com.unity.2d.aseprite": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.2",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.2d.common": "12.0.1",
|
"com.unity.2d.common": "12.0.3",
|
||||||
"com.unity.2d.sprite": "1.0.0",
|
"com.unity.2d.sprite": "1.0.0",
|
||||||
"com.unity.2d.tilemap": "1.0.0",
|
"com.unity.2d.tilemap": "1.0.0",
|
||||||
"com.unity.mathematics": "1.2.6",
|
"com.unity.mathematics": "1.2.6",
|
||||||
@@ -61,11 +61,11 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.2d.psdimporter": {
|
"com.unity.2d.psdimporter": {
|
||||||
"version": "12.0.1",
|
"version": "12.0.2",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.2d.common": "12.0.1",
|
"com.unity.2d.common": "12.0.3",
|
||||||
"com.unity.2d.sprite": "1.0.0",
|
"com.unity.2d.sprite": "1.0.0",
|
||||||
"com.unity.2d.tilemap": "1.0.0"
|
"com.unity.2d.tilemap": "1.0.0"
|
||||||
},
|
},
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.2d.tilemap.extras": {
|
"com.unity.2d.tilemap.extras": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.burst": {
|
"com.unity.burst": {
|
||||||
"version": "1.8.28",
|
"version": "1.8.29",
|
||||||
"depth": 2,
|
"depth": 2,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -139,14 +139,14 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.collections": {
|
"com.unity.collections": {
|
||||||
"version": "2.6.2",
|
"version": "2.6.6",
|
||||||
"depth": 2,
|
"depth": 2,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.burst": "1.8.23",
|
"com.unity.burst": "1.8.28",
|
||||||
"com.unity.mathematics": "1.3.2",
|
"com.unity.mathematics": "1.3.2",
|
||||||
"com.unity.test-framework": "1.4.6",
|
"com.unity.test-framework": "1.4.6",
|
||||||
"com.unity.nuget.mono-cecil": "1.11.5",
|
"com.unity.nuget.mono-cecil": "1.11.6",
|
||||||
"com.unity.test-framework.performance": "3.0.3"
|
"com.unity.test-framework.performance": "3.0.3"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
@@ -162,7 +162,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.editorcoroutines": {
|
"com.unity.editorcoroutines": {
|
||||||
"version": "1.0.1",
|
"version": "1.1.0",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
@@ -179,14 +179,14 @@
|
|||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "builtin",
|
"source": "builtin",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.2d.animation": "13.0.4",
|
"com.unity.2d.animation": "13.0.5",
|
||||||
"com.unity.2d.pixel-perfect": "5.1.1",
|
"com.unity.2d.pixel-perfect": "5.1.1",
|
||||||
"com.unity.2d.psdimporter": "12.0.1",
|
"com.unity.2d.psdimporter": "12.0.2",
|
||||||
"com.unity.2d.sprite": "1.0.0",
|
"com.unity.2d.sprite": "1.0.0",
|
||||||
"com.unity.2d.spriteshape": "13.0.0",
|
"com.unity.2d.spriteshape": "13.0.0",
|
||||||
"com.unity.2d.tilemap": "1.0.0",
|
"com.unity.2d.tilemap": "1.0.0",
|
||||||
"com.unity.2d.tilemap.extras": "6.0.1",
|
"com.unity.2d.tilemap.extras": "6.0.2",
|
||||||
"com.unity.2d.aseprite": "3.0.1",
|
"com.unity.2d.aseprite": "3.0.2",
|
||||||
"com.unity.2d.tooling": "1.0.3"
|
"com.unity.2d.tooling": "1.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -196,15 +196,15 @@
|
|||||||
"source": "builtin",
|
"source": "builtin",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.ide.visualstudio": "2.0.26",
|
"com.unity.ide.visualstudio": "2.0.26",
|
||||||
"com.unity.ide.rider": "3.0.39",
|
"com.unity.ide.rider": "3.0.40",
|
||||||
"com.unity.editorcoroutines": "1.0.1",
|
"com.unity.editorcoroutines": "1.1.0",
|
||||||
"com.unity.performance.profile-analyzer": "1.3.1",
|
"com.unity.performance.profile-analyzer": "1.3.4",
|
||||||
"com.unity.test-framework": "1.6.0",
|
"com.unity.test-framework": "1.6.0",
|
||||||
"com.unity.testtools.codecoverage": "1.3.0"
|
"com.unity.testtools.codecoverage": "1.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.ide.rider": {
|
"com.unity.ide.rider": {
|
||||||
"version": "3.0.39",
|
"version": "3.0.40",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -222,7 +222,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.inputsystem": {
|
"com.unity.inputsystem": {
|
||||||
"version": "1.18.0",
|
"version": "1.19.0",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -231,7 +231,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.learn.iet-framework": {
|
"com.unity.learn.iet-framework": {
|
||||||
"version": "5.0.2",
|
"version": "5.0.3",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -270,7 +270,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.performance.profile-analyzer": {
|
"com.unity.performance.profile-analyzer": {
|
||||||
"version": "1.3.1",
|
"version": "1.3.4",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
@@ -332,7 +332,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.splines": {
|
"com.unity.splines": {
|
||||||
"version": "2.8.2",
|
"version": "2.8.4",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -353,7 +353,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.test-framework.performance": {
|
"com.unity.test-framework.performance": {
|
||||||
"version": "3.2.0",
|
"version": "3.4.0",
|
||||||
"depth": 3,
|
"depth": 3,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -373,7 +373,7 @@
|
|||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
"com.unity.timeline": {
|
"com.unity.timeline": {
|
||||||
"version": "1.8.10",
|
"version": "1.8.12",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -394,7 +394,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.unity.visualscripting": {
|
"com.unity.visualscripting": {
|
||||||
"version": "1.9.9",
|
"version": "1.9.11",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
Binary file not shown.
@@ -1,2 +1,2 @@
|
|||||||
m_EditorVersion: 6000.3.9f1
|
m_EditorVersion: 6000.3.16f1
|
||||||
m_EditorVersionWithRevision: 6000.3.9f1 (7a9955a4f2fa)
|
m_EditorVersionWithRevision: 6000.3.16f1 (a56f230f6470)
|
||||||
|
|||||||
50
fix-mcp-key.ps1
Normal file
50
fix-mcp-key.ps1
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# Claude Code 를 완전히 종료한 뒤 일반 PowerShell 창에서 실행하세요.
|
||||||
|
# .claude.json 의 대/소문자 중복 프로젝트 키를 소문자 하나로 통일하고
|
||||||
|
# UnityMCP 서버 설정을 보존합니다.
|
||||||
|
|
||||||
|
$path = Join-Path $env:USERPROFILE ".claude.json"
|
||||||
|
$upper = "C:/repos/UnityProject/WhiteMan_Unity2D"
|
||||||
|
$lower = "c:/repos/UnityProject/WhiteMan_Unity2D"
|
||||||
|
|
||||||
|
# 백업
|
||||||
|
Copy-Item $path "$path.bak" -Force
|
||||||
|
Write-Host "백업 생성: $path.bak"
|
||||||
|
|
||||||
|
$json = Get-Content $path -Raw -Encoding UTF8 | ConvertFrom-Json
|
||||||
|
$projects = $json.projects
|
||||||
|
|
||||||
|
$unityMcp = $null
|
||||||
|
if ($projects.PSObject.Properties.Name -contains $upper) {
|
||||||
|
$unityMcp = $projects.$upper.mcpServers.UnityMCP
|
||||||
|
}
|
||||||
|
if ($null -eq $unityMcp -and ($projects.PSObject.Properties.Name -contains $lower)) {
|
||||||
|
$unityMcp = $projects.$lower.mcpServers.UnityMCP
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($null -eq $unityMcp) {
|
||||||
|
Write-Warning "UnityMCP 설정을 찾지 못했습니다. 중단합니다."
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
# 소문자 키가 없으면 대문자 항목을 그대로 옮겨 사용
|
||||||
|
if (-not ($projects.PSObject.Properties.Name -contains $lower)) {
|
||||||
|
$projects | Add-Member -NotePropertyName $lower -NotePropertyValue $projects.$upper
|
||||||
|
}
|
||||||
|
|
||||||
|
# 소문자 키에 UnityMCP 보장
|
||||||
|
if ($null -eq $projects.$lower.mcpServers) {
|
||||||
|
$projects.$lower | Add-Member -NotePropertyName "mcpServers" -NotePropertyValue ([pscustomobject]@{}) -Force
|
||||||
|
}
|
||||||
|
$projects.$lower.mcpServers | Add-Member -NotePropertyName "UnityMCP" -NotePropertyValue $unityMcp -Force
|
||||||
|
|
||||||
|
# 대문자 중복 항목 제거
|
||||||
|
if ($projects.PSObject.Properties.Name -contains $upper) {
|
||||||
|
$projects.PSObject.Properties.Remove($upper)
|
||||||
|
}
|
||||||
|
|
||||||
|
# UTF-8 (BOM 없음) 으로 저장
|
||||||
|
$out = $json | ConvertTo-Json -Depth 100
|
||||||
|
[System.IO.File]::WriteAllText($path, $out, (New-Object System.Text.UTF8Encoding($false)))
|
||||||
|
|
||||||
|
Write-Host "완료. 대문자 키 제거 + 소문자 키에 UnityMCP 통일됨."
|
||||||
|
Write-Host "이제 Claude Code 를 다시 실행하세요."
|
||||||
Reference in New Issue
Block a user