1인 개발/PushAndSlash

푸쉬앤슬래시 개인 프로젝트 14일차

잼잼재미 2024. 5. 24. 10:13

구현 내용


1. 캐릭터 인벤토리 구현


 

https://kkln2486.tistory.com/415

 

UI에 3D 캐릭터 보이게하기 (Rendertexture)

구현 방법1. Rendertexture 생성  2. Size 설정 Render 될 오브젝트의 크기가 크다면 1024 x 1024로 설정 Render 될 오브젝트의 크기가 작다면 256 x 256로 설정 사이즈는 2제곱 수로 설정  3. Camera 생성  4. C

kkln2486.tistory.com

 

 

각각 캐릭터마다 카메라를 설정하고 Rendertexture 생성해서 인벤토리 배치

 

 

if (!_slotData.IsGet) transform.GetComponent<RawImage>().color = new Color(20 / 255f, 20 / 255f, 20 / 255f, 255 / 255f);
else transform.GetComponent<RawImage>().color = new Color(255 / 255f, 255 / 255f, 255 / 255f, 255 / 255f);

 

가지고 있지 않은 캐릭터는 검은색으로 칼라 변경

 

 

public void EquipButton()
{
	if (CharacterIsGet())
    {
        for (int i = 0; i < _dataWrapper.CharacterInventory.Count; i++)
        {
            if (_inventorySelectData.Tag == _inventory[i].Tag)
            {
                _dataWrapper.CharacterInventory[i].IsEquip = true;
                GameManager.I.DataManager.PlayerData = _dataWrapper.CharacterInventory[i];    
            }
            else _dataWrapper.CharacterInventory[i].IsEquip = false;
        }
    }
}

private bool CharacterIsGet()
{
    for (int i = 0; i < _inventory.Count; i++)
    {
        if (_inventorySelectData.Tag == _inventory[i].Tag) return true;
    }

    return false;
}

 

가지고 있는 캐릭터를 장착하면 PlayerData를 변경

 

 

2. 기본 캐릭터 선택 구현


 

게임 시작 시, 기본 캐릭터 선택 구현

 

 

3. 인벤토리 구현


GameManager.I.DataManager.DataWrapper.CharacterInventory.Add(_dataWrapper.CharacterDatas[0]);

 

GameManager의 DataManager에 CharacterInventory List에 CharacterData를 추가

 

 

회고


오늘은 DataManager에서 캐릭터 Inventory를 구현했다. 그리고 PlayerPrefs를 이용해서 게임 시작 시, 초기 캐릭터를 설정할 수 있도록 구현했다. 이제 로비씬의 남은 UI를 추가 구현하도록 하겠다!