본문 바로가기

Unity/Unity 스파르타

11주차 - 패시브 스킬 트리 구현

728x90

플레이어의 스테이터스를 증가시켜주는 패시브 스킬 트리를 만들어보자.

 

1. 현재 찍은 스킬들을 모아놓은 딕셔너리 생성 - PlayerStats

- 현재 가지고 있는 스킬들을 확인

2.  UpgradeStats_Base 클래스 생성

- 여러가지 스테이터스를 증가 시킬 수 있으니 증가시킬 스테이터스와 증가량, 고정값으로 올릴지 퍼센테이지로 올릴지 정하는 타입을 가진 구조체를 리스트로 만들기.

public List<UpgradeStatus> upgradeStatusList = new List<UpgradeStatus>();

- 최대 몇까지 스킬을 찍을 수있는지 선택

- 해당 스킬을 찍기위한 조건을 확인하기위한 구조체 생성

- 조건을 만족해 스킬을 찍었을 때 실행할, 스킬과 스킬을 연결하는 라인 생성

public List<UpgradeUi_Line> lineList = new List<UpgradeUi_Line>();

- 후행 스킬을 찍은 상태에서는 선행 스킬을 다운그레이드 할 수 없게 제한.

public List<UpgradeStats_Base> postUpgradeStatus = new List<UpgradeStats_Base>();

-스테이터스의 증가량이 퍼센트로 올라갈시 기존의 스테이터스를 스택으로 저장, 다운그레이드 할경우 스텍에서 뽑아서 다운그레이드.

(여러가지 스테이터스를 증가시킬 경우 다운그레이드할때 리스트를 뒤에서부터 확인해야함)

 

3.UI

마우스 포인터에 관련된 인터페이스를 상속받은 클래스를 만들고, 이를 상속받아 사용.

- 마우스가 영역 안에 들어왔을때 스킬 정보창 띄우기,

- 마우스가 영역 밖으로 나갔을때 정보창 제거

- 마우스 왼쪽 클릭으로 업그레이드

- 마우스 오른쪽 클릭으로 다운그레이드

 

단순화

728x90