This commit is contained in:
ohgushiyuga
2026-07-07 11:16:19 +09:00
parent a2858f3285
commit 11663fbc0a
2 changed files with 1 additions and 35 deletions

View File

@@ -2,11 +2,6 @@ using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit; using UnityEngine.XR.Interaction.Toolkit;
using UnityEngine.XR.Interaction.Toolkit.Interactors; using UnityEngine.XR.Interaction.Toolkit.Interactors;
/// <summary>
/// 3D空間上の2つのソケットスロットにバフモジュールがハメ込まれたかを監視し、
/// 連結完了時にバフを発動させるパズル管理クラス
/// </summary>
public class CodingPuzzleManager : MonoBehaviour public class CodingPuzzleManager : MonoBehaviour
{ {
[Header("ソケットスロットの設定")] [Header("ソケットスロットの設定")]
@@ -41,9 +36,6 @@ public class CodingPuzzleManager : MonoBehaviour
CheckPuzzleCompletion(); CheckPuzzleCompletion();
} }
/// <summary>
/// 両方のスロットが埋まっているかチェックし、埋まっていれば連結バフを発動する
/// </summary>
private void CheckPuzzleCompletion() private void CheckPuzzleCompletion()
{ {
if (socketA == null || socketB == null) return; if (socketA == null || socketB == null) return;
@@ -63,8 +55,6 @@ public class CodingPuzzleManager : MonoBehaviour
Debug.Log($"💻 パズル連結完了! 検出されたコンボ: [{buff1}] + [{buff2}]"); Debug.Log($"💻 パズル連結完了! 検出されたコンボ: [{buff1}] + [{buff2}]");
// ★ソケットにハマっているオブジェクトを強制的に解放・リセット
// (これをしないと、次回Codingモードを開いた時にスロットが埋まったままになります)
ClearSockets(); ClearSockets();
// PlayerStatusManagerにバフを適用させ、時間停止を解除してプレイ画面に戻る // PlayerStatusManagerにバフを適用させ、時間停止を解除してプレイ画面に戻る
@@ -75,10 +65,6 @@ public class CodingPuzzleManager : MonoBehaviour
} }
} }
} }
/// <summary>
/// オブジェクト名に含まれるキーワードから、ステータスマネージャーに渡す用の正確なバフ名を返すヘルパー
/// </summary>
private string GetBuffNameFromObjectName(string objName) private string GetBuffNameFromObjectName(string objName)
{ {
if (objName.Contains("AttackUp")) return "AttackUp"; if (objName.Contains("AttackUp")) return "AttackUp";
@@ -87,15 +73,8 @@ public class CodingPuzzleManager : MonoBehaviour
return "Unknown"; return "Unknown";
} }
/// <summary>
/// 次回起動時のために、ソケットの選択状態を内部的・物理的に安全にクリアする
/// </summary>
private void ClearSockets() private void ClearSockets()
{ {
// 開発環境のSDKバージョンによって挙動が異なる場合があるため、
// ハハマっているモジュールを一度ソケットの子供から外し、初期位置付近に戻すか、
// あるいは単純に非アクティブ(または位置リセット)にする処理が推奨されます。
// ここでは安全のため、ハマっていたオブジェクトの座標を台座の手前に逃がします。
if (socketA.firstInteractableSelected != null) if (socketA.firstInteractableSelected != null)
{ {

View File

@@ -121,9 +121,6 @@ public class PlayerStatusManager : MonoBehaviour
if (codingModeUI != null) codingModeUI.SetActive(true); if (codingModeUI != null) codingModeUI.SetActive(true);
} }
/// <summary>
/// ★役割拡張パズル完了時に呼び出され、指定された2つのバフを発動して時間を再開する
/// </summary>
public void ApplyBuffsAndResume(string buff1, string buff2) public void ApplyBuffsAndResume(string buff1, string buff2)
{ {
// 1. 選択された2つのバフをそれぞれ発動重複なしの仕様を適用 // 1. 選択された2つのバフをそれぞれ発動重複なしの仕様を適用
@@ -138,9 +135,6 @@ public class PlayerStatusManager : MonoBehaviour
currentGauge = 0f; // ゲージを消費 currentGauge = 0f; // ゲージを消費
} }
/// <summary>
/// 文字列に応じて対象のバフを起動する内部メソッド
/// </summary>
private void ActivateBuffByName(string buffName) private void ActivateBuffByName(string buffName)
{ {
switch (buffName) switch (buffName)
@@ -164,20 +158,13 @@ public class PlayerStatusManager : MonoBehaviour
break; break;
} }
} }
/// <summary>
/// HP回復の即時実行処理
/// </summary>
private void ExecuteHeal() private void ExecuteHeal()
{ {
Debug.Log($"💚 HP回復バフ発動 回復量: {hpHealAmount}"); Debug.Log($"💚 HP回復バフ発動 回復量: {hpHealAmount}");
// 【将来の拡張】プレイヤーのHealthスクリプトが完成したら、ここに回復処理を記述します // プレイヤーのHealthスクリプトが完成したら、ここに回復処理を記述します
// PlayerHealth.Instance.Heal(hpHealAmount); // PlayerHealth.Instance.Heal(hpHealAmount);
} }
/// <summary>
/// 毎フレーム、有効なバフタイマーをリアルタイムで減算する
/// </summary>
private void UpdateBuffTimers() private void UpdateBuffTimers()
{ {
if (attackBuffTimer > 0f) if (attackBuffTimer > 0f)