카테고리 없음

본캠프_TIL_67일차(StagePopup 개선)

티-히히 2024. 12. 17. 21:40
  • 오전
    • 스테이지 창이 닫히면 선택정보 리셋
    • 몬스터 업그레이드 시 전/후 비교.
    • 스테이지 팝업 몬스터 선택 시 바로 다음셀렉으로 넘어가도록
  • 오후
    • LosePopup, WinPopup버튼수정 밑 background
    • 스테이지 선택 스크롤 가능하게

 

 

스테이지 창이 닫히면 선택정보 리셋

public void ResetSelectedMonster()
    {
        foreach (var slot in monsterSelectedSlots)
        {
            //스프라이트 지워주기
            var slotImg = slot.transform.GetChild(0).GetComponent<Image>();
            slotImg.sprite = null;
            slotImg.color = new Color(1, 1, 1, 0);
        }
        //정보 없애기
        _selectedListData.Clear();
    }

 

스테이지 창이 닫히면 스프라이트와 선택된 정보(_SelectedListData)를 지워줍니다.

 

 

몬스터 업그레이드 시 전/후 비교

upgradeStatsText.text = $"Fatigue:  \t{selectedMonster.data.fatigue} -> {GetColorValue(selectedMonster.data.fatigue, nextUpgrade.fatigue)}\n" +
                                    $"Min Fear: \t{selectedMonster.data.minFearInflicted} -> {GetColorValue(selectedMonster.data.minFearInflicted, nextUpgrade.minFearInflicted)}\n" +
                                    $"Max Fear: \t{selectedMonster.data.maxFearInflicted} -> {GetColorValue(selectedMonster.data.maxFearInflicted, nextUpgrade.maxFearInflicted)}\n" + 
                                    $"Cooldown: \t{selectedMonster.data.cooldown} -> {GetColorValue(selectedMonster.data.cooldown, nextUpgrade.cooldown)}";

  private string GetColorValue(float currentValue, float nextValue)
    {
        if (currentValue < nextValue)
        {
            return $"<color=#0000FF>{nextValue}</color>";
        }
        else if (currentValue > nextValue)
        {
            return $"<color=#FF0000>{nextValue}</color>";
        }
        else return nextValue.ToString();
    }

 

업그레이드 시 값이 증가하면 파란색 내려가면 빨간색으로 보이도록 코드를 작성했습니다.

 

 

스테이지 팝업 몬스터 선택 시 바로 다음셀렉으로 넘어가도록

//다음 선택으로
        if (_crrSlotIdx == 3)
        {
            SelectSlotWithArrow(0);
        }
        else 
        {
            _crrSlotIdx++;
            SelectSlotWithArrow(_crrSlotIdx);
        }

 

몬스터 선택 후 다음코드가 실행되도록 설정했습니다.

현재 idx가 최대일때 다시 0으로 되돌려줍니다 아니라면 idx++를 해줍니다.