Files
Colosseum/Assets/Scripts/Team.cs
dal4segno eff23471d7 스킬 시스템 구현
- 애니메이션 이벤트 기반 스킬 시스템 추가
  - SkillData: 스킬 데이터 (클립, 쿨타임, 효과 목록)
  - SkillController: 스킬 실행 및 애니메이션 제어
  - AnimatorOverrideController로 단일 State에서 다양한 스킬 재생

- 스킬 효과 시스템
  - DamageEffect, HealEffect, BuffEffect
  - KnockbackEffect, SoundEffect, SpawnEffect
  - 범위 공격 및 팀 구분 지원

- Team 컴포넌트로 아군/적 구분

- 스킬 중 이동 제한
  - IsPlayingAnimation으로 애니메이션 종료까지 이동 불가
  - OnSkillEnd 호출 시 다음 스킬 시전 가능

- 입력 시스템에 스킬 슬롯 6개 추가

- 애니메이션 에셋 추가 및 정리
  - AnimationSwordCombat 패키지 추가 (검 공격 애니메이션)
  - PlayerAnimationController에 Skill 상태 추가
  - External_Used 폴더 구조 정리

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 12:08:52 +09:00

34 lines
955 B
C#

using UnityEngine;
namespace Colosseum
{
/// <summary>
/// 팀 정보를 관리하는 컴포넌트.
/// 캐릭터나 엔티티에 추가하여 팀 구분에 사용합니다.
/// </summary>
public class Team : MonoBehaviour
{
[SerializeField] private int teamId = 0;
public int TeamId => teamId;
/// <summary>
/// 같은 팀인지 확인
/// </summary>
public static bool IsSameTeam(GameObject a, GameObject b)
{
if (a == null || b == null) return false;
var teamA = a.GetComponent<Team>();
var teamB = b.GetComponent<Team>();
// 둘 다 팀이 없으면 같은 팀으로 처리
if (teamA == null && teamB == null) return true;
// 한쪽만 팀이 없으면 다른 팀
if (teamA == null || teamB == null) return false;
return teamA.TeamId == teamB.TeamId;
}
}
}