[졸업작품, Unity]아이템 시스템 수정

2025. 3. 9. 23:38·Unity

저번에 만들었던 아이템 시스템에 개편이 필요해 보여서 수정을 했다. 수정 내용은 다음과 같다.

 

#region itemValue
        
        [Header("Effect Value")]
        [BoxGroup(GroupName = "EffectValue")]
        public float healCount;
        [BoxGroup(GroupName = "EffectValue")]
        public float damageCount;
        [BoxGroup(GroupName = "EffectValue")]
        public float defenceDecrease;
        [BoxGroup(GroupName = "EffectValue")]
        public float defenceIncrease;
        [BoxGroup(GroupName = "EffectValue")]
        public float strength;
        [BoxGroup(GroupName = "EffectValue")]
        public float weakening;
        
        #endregion

        
        public virtual void UseItem()
        {
            foreach(ItemEffectBase effect in effectList)
            {
                float value = 0;
                switch (effect.effectType)
                {
                    case EffectType.Heal:
                        value = healCount;;
                        break;
                    case EffectType.Damage:
                        value = damageCount;;
                        break;
                    case EffectType.Strength:
                        value = strength;
                        break;
                    case EffectType.Weakening:
                        value = weakening;
                        break;
                    case EffectType.DefenceDecrease:
                        value = defenceDecrease;
                        break;
                    case EffectType.DefenceIncrease:
                        value = defenceIncrease;
                        break;
                }
                
                effect.UseEffect(value);
            }
            
            if (endImmediately)
                EndItemEffect();
            else
                ItemManager.Instance.Delay(EndItemEffect, effectEndTime);
        }

저번과 다른 점은 Item을 생성할 때마다 그에 맞는 Effect를 생성해야 했지만 그게 상당히 비효율적이여서 Item에서 그 값을 대신 설정해주기로 했다. Effect에 Enum을 추가하고 UseEffect를 하기전에 switch로 value값을 정해줬다. 이렇게 하면

전보다 깔끔해졌다. 굳~

'Unity' 카테고리의 다른 글

[졸업작품, Unity] ItemSystem 구조 수정  (0) 2025.03.14
[졸업작품, Unity]Assembly definition를 사용하는 방법  (1) 2025.03.12
[졸업작품, Unity] 결과창 제작  (0) 2025.03.06
[졸업 작품, Unity]Item System 제작  (0) 2025.03.04
[엔진 프로젝트]Enemy Walking Around with BT  (0) 2024.12.03
'Unity' 카테고리의 다른 글
  • [졸업작품, Unity] ItemSystem 구조 수정
  • [졸업작품, Unity]Assembly definition를 사용하는 방법
  • [졸업작품, Unity] 결과창 제작
  • [졸업 작품, Unity]Item System 제작
HK1206
HK1206
고3 게임 개발자의 개발 일지
  • HK1206
    GGM-LJS
    HK1206
  • 전체
    오늘
    어제
    • 분류 전체보기 (25)
      • Unity (16)
      • Shader (1)
      • Editor (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
HK1206
[졸업작품, Unity]아이템 시스템 수정
상단으로

티스토리툴바