코딩 썸네일형 리스트형 TIL(Today I Learned) - 59 오늘의 TIL (Today I Learned)장비 합성 로직 디버깅합성 로직에서 초기 데이터와 UI가 일치하지 않는 문제를 발견.SetEquipmentData에서 초기 데이터가 제대로 전달되지 않으면 이후 모든 로직에 영향을 미친다는 점을 확인.합성 후 기존 장비 스택 감소 및 결과물 추가 로직이 정확히 동작하도록 수정.UI와 데이터 동기화 문제 해결합성 후 UI가 갱신되지 않는 문제를 InitializeUI 호출로 해결.currentEquipment와 resultEquipmentData의 null 체크를 강화하여 데이터 누락 방지.최소 1개 남기기 조건 구현합성 시 최소 1개를 남겨야 하는 조건을 구현.materialCount와 maxMaterials 계산을 조정하여 합성 가능한 재료 수를 제한.사진 .. 더보기 TIL(Today I Learned) - 58 오늘의 TIL:UI 갱신과 실제 데이터 반영의 중요성문제 상황: 합성 후, 재료 아이템의 스택 수는 감소하지만 UI에서는 업데이트되지 않는 문제를 겪음.원인: Fuse 메서드 내에서 스택 수를 변경한 후, UI 갱신을 따로 호출하지 않아서 실제 데이터는 변하지만, 화면에 반영되지 않음.해결 방법: RemoveStack 호출 후 **UpdateInventorySlots()**를 호출하여 UI를 갱신함으로써 UI와 데이터 간 동기화를 맞춤.핵심 포인트:데이터 변경 후 UI도 동기화해야 한다는 점을 기억.UpdateInventorySlots() 메서드를 통해 아이템의 스택 수와 UI를 일치시킬 수 있음.오늘도 UI와 실제 데이터를 동기화하는 과정에서 중요한 점을 다시 한 번 확실히 알게 되었다. 더보기 TIL(Today I Learned) - 57 오늘의 TIL:오늘은 IFusable 인터페이스를 사용하여 합성 기능을 구현하는 과정에서 Fuse() 메서드와 관련된 매개변수를 다루었습니다. Fuse() 메서드에 매개변수를 추가하여 합성 횟수(materialCount)를 기반으로 합성 가능한 아이템의 갯수를 동적으로 처리할 수 있도록 했습니다. 또한, Weapon과 Accessory 객체의 합성 조건을 변경하고, 재료 수량을 확인하는 기능을 개선했습니다.합성 UI를 갱신하는 과정에서는 currentEquipmentAmountTxt의 텍스트가 제대로 표시되지 않는 문제를 해결했으며, UI 업데이트 시 두 번의 currentEquipmentAmountTxt.text 업데이트를 통해 문제를 수정했습니다.WeaponInventory와 AccessoryInve.. 더보기 TIL(Today I Learned) - 56 TIL: 인터페이스와 런타임 데이터의 활용문제 정의 및 해결 과정IEnhanceable 인터페이스를 사용하는 과정에서 인터페이스에 정의되지 않은 StackCount를 접근하려고 시도하여 오류가 발생함.StackCount를 IEnhanceable 인터페이스에 추가하거나, 명시적 캐스팅을 통해 구현 클래스에서 직접 접근하도록 수정함.해결 방법IEnhanceable 인터페이스 수정: StackCount를 포함하여 모든 구현 클래스에서 통일된 접근 방식을 제공.타입 캐스팅 활용: 특정 클래스(Weapon, Accessory)로 캐스팅하여 개별 구현에 접근.주요 학습 내용인터페이스 설계: 인터페이스는 공통된 속성과 동작을 정의하며, 구현 클래스 간의 일관성을 유지함.런타임 데이터와 SO 데이터 구분: 강화 및 융.. 더보기 TIL(Today I Learned) - 55 오늘의 TILWeaponUpgradePopupUI 구현WeaponUpgradePopupUI를 구현하면서 보유 효과를 동적으로 처리하는 방식을 배웠습니다.보유 효과(Passive Effects)는 값이 0일 경우 UI에서 숨기고, 1개, 2개, 또는 3개의 보유 효과가 유동적으로 표시되도록 설정했습니다.SetActive 메서드를 사용해 해당 Row를 조건적으로 표시하는 방법을 적용했습니다.UI 업데이트 로직 개선무기 강화 시 SetWeaponData를 호출해 UI가 실시간으로 갱신되도록 설계했습니다.UpgradeWeapon 메서드에서 무기 강화 성공 여부를 확인하고, 성공 시 보유 효과 및 강화 비용 UI를 갱신했습니다.유연한 UI 컴포넌트 활용possessEffectRow1, possessEffectRo.. 더보기 TIL(Today I Learned) - 54 오늘의 TIL (Today I Learned)SkillInfoPopupUI 강화 로직 구현Skill 클래스의 강화 로직(Enhance)을 활용하여 UI에 강화 기능을 추가했다.강화 버튼 클릭 시 currentSkill.Enhance()를 호출하여 스킬의 강화 상태를 변경하고, 강화 성공 여부에 따라 UI를 갱신했다.스킬 효과 동적 텍스트 변경스킬 타입(액티브/버프/패시브)에 따라 효과 설명 텍스트를 동적으로 생성 및 변경하는 로직을 추가했다.액티브 스킬은 공격력 비율(n%), 버프 스킬은 공격력 증가율(n%), 패시브 스킬은 주기적 발동 효과를 기반으로 텍스트를 업데이트했다.UI 슬라이더 및 재료 표시강화에 필요한 재료의 현재 수량과 필요한 수량을 표시하는 슬라이더를 추가했다.materialSlider와.. 더보기 TIL(Today I Learned) - 53 오늘의 TILSkillEquipSlotManager와 EquipManager 동기화스킬 슬롯(Equip Slots)이 동적으로 생성될 때, 이를 EquipManager와 동기화하는 방법을 구현했습니다.SkillEquipSlotManager는 슬롯 변경 이벤트를 발생시켜 EquipManager가 스킬 상태를 동기화하도록 설계되었습니다.EquipManager의 기능 개선EquippedSkills 리스트를 활용해 스킬 장착 및 해제 로직을 재정비했습니다.슬롯 인덱스 유효성 검사를 추가하여 안정성을 강화했습니다.GetAllEquippedSkills 메서드로 현재 장착된 스킬만 반환하도록 수정했습니다.UIManager 활용UIManager에서 생성된 UI 프리팹 내부의 SlotManager를 자동으로 참조하도록 .. 더보기 TIL(Today I Learned) - 52 📌 오늘의 TIL (Today I Learned)1. UI 구성 및 참조의 중요성UI 구성에서 **인벤토리 슬롯(InventorySlot)**과 **스킬 슬롯(SkillSlot)**의 역할을 명확히 구분:InventorySlot: 인벤토리의 스킬을 관리하며, 클릭 시 해당 스킬 정보를 디테일 UI에 전달.SkillSlot: 스킬 장착 슬롯으로, 장착된 스킬의 정보를 저장하고 실행.각 UI 요소의 하위 버튼 참조 문제를 해결:Button이 InventorySlot의 하위에 있어 GetComponent()로 접근할 수 없었음.이를 해결하기 위해 직접 참조를 [SerializeField]로 연결하여 명시적으로 관리.2. UIManager 활용UIManager를 활용해 동적으로 UI를 활성화/비활성화:UIMa.. 더보기 이전 1 2 3 4 5 6 7 8 다음