feat(): 大量更新

This commit is contained in:
2025-10-15 21:31:13 +08:00
parent 546f08c53a
commit 668bfe12eb
178 changed files with 11318 additions and 446 deletions

View File

@@ -0,0 +1,49 @@
using System;
using UnityEngine;
using Gameplay;
using Share;
using Gameplay.Enemy;
using Gameplay.Player;
namespace Gameplay.Combat
{
[RequireComponent(typeof(Collider))]
public class CombatTrigger : MonoBehaviour
{
//[Tooltip("战斗管理器引用(场景中单例/对象)")]
private CombatFlowManager combatManager;
[Tooltip("触发时指定的玩家 Combatant可为空manager 使用已配置的)")]
public PlayerController player;
[Tooltip("触发时指定的敌人 Combatant可为空manager 使用已配置的)")]
public EnemyController enemy;
[Tooltip("被触发后是否自动禁用触发器,避免重复触发")]
public bool disableAfterTrigger = true;
private void Start()
{
combatManager = CombatFlowManager.Instance;
}
private void Reset()
{
// Collider 需要 isTrigger
var col = GetComponent<Collider>();
col.isTrigger = true;
}
private void OnTriggerEnter(Collider other)
{
// 简单检测:玩家层或带有 "Player" 标签的物体
if (combatManager == null) return;
if (other.CompareTag("Player") || other.gameObject.layer == LayerMask.NameToLayer("Player"))
{
combatManager.StartCombat(player, enemy);
if (disableAfterTrigger) gameObject.SetActive(false);
}
}
}
}