
Charactor player = new Charactor(playerName, playerJob);
IDE0090 'new' 식을 단순화할 수 있습니다.
이런 메시지가 떴는데 뭔 소린가 싶어서 검색을 해봤다
변수 player 앞에있는 타입을 유추해서 코드를 간소화 할 수 있다고 알려주는 거였네
대신 명확하게 유추할 수 없는 상황에서는 사용할 수 없다고 하니
실사용은 이것저것 넣어보며 확인해봐야겠네
Charactor player = new (playerName, playerJob);
이렇게 앞에서 정해준 형태들이 유추 가능해서 사용이 가능하다는 의미
아이템 설명을 적을 때
아이템 이름 | 능력치 | 설명
이렇게 설정했었는데
string[] parts = shopItems[index].split('|');
이걸 파츠별로 나눠서
string name = parts[0];
string stat = parts[1];
string desc = parts[2];
스텟의 수치만 가져와서 캐릭터 상태창에 추가시켜주기 편한 방법
여기에 IndexOf를 사용해서 특정 단어를 찾게 만들 수 있고 ( IndexOf("+") -> + 의 위치가 어디있는 찾아!)
substring 을 이용해서 딱 필요한 부분만 가져올 수 있다
private int ParseStatValue(string item, string statType)
{
string[] parts = item.Split('|');
if (parts.Length < 2)
{
return 0;
}
string statText = parts[1];
if (statText.Contains(statType))
{
int plusIndex = statText.IndexOf("+");
if (plusIndex >= 0 && int.TryParse(statText.Substring(plusIndex + 1), out int value))
{
return value;
}
}
return 0;
}
여기서 이제 아이템에 | 기준으로 각각 변수를 나누고 그 부분 중 스텟에 적용할 부분을 statText에 값을 저장
예를 들어 아이템에 능력치가 +7 되어있다고 하면
거기서 + 부분이 어디있는지 찾아내고 +보다 한칸 뒤에 있는 문자를 정수값으로 변환한 다음
value 안에 값을 저장 해서 내보내는 구조
하나하나 구조를 분해해보며 공부해서 그런지 이제 원리가 어떻게 되는지 한눈에 들어와서 다행이다...