Unity 속성 별 오브젝트 구현

이시율·2025년 6월 30일

플레이어의 Skill의 Rune을 적용하여 스킬이 변형되도록 기능을 구현하였다.
그 중 Skill의 속성을 변경하는 것은 아래와 같이 구현하였다.

public class FireRune : Rune
{
    public override void Apply(Skill skill)
    {
        skill.MiddleSet(() =>
        {
            if (skill.skillAction.elemental == ElementalType.Fire) return; // 이미 같은 속성의 경우 return

            skill.skillAction.elemental = ElementalType.Fire;
            skill.pool.GetComponent<SpriteRenderer>().sprite = skill.fire;

            if (skill.devidePool != null)
            {
                skill.skillActionDevide.elemental = ElementalType.Fire;
                skill.devidePool.GetComponent<SpriteRenderer>().sprite = skill.fire;
            }
        });
    }
}

Rune을 상속받아 Apply를 구현하고 Skill의 해당 Action을 추가한다.
해당 스킬의 속성 타입과 임시적으로 sprite를 변경하도록 구현하였으며,
복제된 스킬의 Pool까지 변경하도록 하였다.

0개의 댓글