Android build 최적화
Ios 빌드 알아보기
Armor system refactoring 2트
Armor system refactoring 2트 중
ArmorSystem.cs
기존에 ToolSystem.cs
의 변수에 의존하던 것을 ArmorSystem.cs
이 관리하도록 수정함
ArmorSystem.cs
으로 기능을 옮겨오면서 인벤토리 업데이트를 위해 PlayerInventorySystem.cs
에서 업데이트 함수를 구독함
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
// Lee gyuseong 24.02.15
public class UIArmorSlotContainer : MonoBehaviour
{
private List<UIArmorSlot> _armorSlots = new List<UIArmorSlot>();
public void CreatArmorSlots<T>(GameObject slotPrefab, int count) where T : UIArmorSlot
{
for (int i = 0; i < count; i++)
{
var armorSlotPrefab = Instantiate(slotPrefab, this.transform);
var armorSlotUI = armorSlotPrefab.GetComponent<T>();
SetParts(armorSlotUI, i);
_armorSlots.Add(armorSlotUI);
}
}
public void Init<T>(QuickSlot[] quickSlot) where T : UIArmorSlot
{
foreach (var armor in quickSlot)
{
for (int i = 0; i < _armorSlots.Count; i++)
{
_armorSlots[i].EquipArmor(armor);
}
}
}
private void SetParts(UIArmorSlot armorSlotUI, int index)
{
armorSlotUI.part = (ItemParts)index;
}
}
기존에 UIArmorSlotContainer
가 프리팹을 생성하던 기능을 코드의 통일성을 위해 UIInventory.cs
로 옮겨가고 UIArmorSlotContainer
는 제너릭 함수를 가지고 있게 수정함
[➕Update] Armor system refactoring 2
올바른 바인딩과 이벤트 구독의 중요성을 깨달은 하루였다. 기재하진 않았지만 억지로 기능 구현을 위해 넣었던 코드들을 대거 삭제 및 수정한 부분이 많았다.