• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

AttackBuff.ClearEffect() 메서드 문의

24.02.28 17:13 작성 24.02.28 17:15 수정 조회수 99

0

버프류 스킬 AttackBuff.ClearEffect() 메서드 관련 궁금한 점이 있습니다.

 

public override bool ClearEffect(EEffectClearType clearType)
{
    if(base.ClearEffect(clearType) == true)
        RemoveModifier(Owner.Atk, this);

    return true;
}

 

여기서 base.ClearFffect()

ObjectManager.Despawn()을 호출하고, 이건 또

ResourceManager.Destroy()를 호출함으로써

AttackBuff가 붙어있는 EffectBase 프리팹을 날려버리면서 true를 반환하는걸로 이해하는데요,

이 경우 AttackBuff 인스턴스가 날라가게 되는데 그 다음줄 RemoveModifier가 실행되고, 또 자기 자신을 인자로 넘겨줄 수가 있나요?

RemoveModifier(Owner.Atk, this);

 

 

 

 

 

답변 1

답변을 작성해보세요.

0

GameObject를 Destroy해도 C++ 처럼 메모리에 바로 날라가는 것은 또 아니라서
그것을 사용하는게 아니라 참조값을 Remove하는 것은 괜찮습니다.
다만 내부에서 무엇인가 사용하면 안 되긴 하니 조금 위험한 것은 맞겠네요.