Skip to content

Conversation

@yugd1211
Copy link
Collaborator

@yugd1211 yugd1211 commented Nov 23, 2022

새로운 파일

DeckManager

덱의 슬롯에 배치되어 있는 타워들의 정보를 관리하는 클래스
CheckSameTower() = 덱에서 타워를 드래그 & 드롭했을때 덱에 이미 있는 타워인지 아닌지를 판단하는 함수
DeckToList() = CheckSameTower에서 판단해서 덱에 없는 타워면 해당 자리에 드롭하는 타워를 배치한다.
DeckToDeck() = CheckSameTower에서 판단해서 덱에 있는 타워면 두 타워의 위치를 교환한다.

DeckDataConverter

덱의 정보를 json파일형태로 관리하는 클래스
****SaveData() = 현재 덱의 상태를 json파일로 저장한다.
LoadData() = json 파일로 저장되어 있는 덱의 상태를 읽어온다.
ApplyJsonToDeck() = json 파일의 정보를 읽어오고, 덱을 파일의 정보의 타워로 적용한다.

DeckSlot

덱의 상태를 받아 DeckTower를 관리하는 클래스
Droppable의 onDrop을 구독하여, 타워를 드롭할때 해당 타워를 덱에 배치하는 역할을 한다.
DeckTowerChange(PointerEventData eventData)
 = 드롭하는 타워가 덱에 이미 있는지 없는지를 판단하여 배치한다.

DeckTower

Draggable의 _onBeginDrag, _onDrag, _onEndDrag을 구독하여 타워를 드래그할때의 행동을 정한다(움직이는 기능만 추가했지만,
이펙트를 추가할 수 도 있다).
Init() 함수를 통해 다른 객체가 DeckTower의 towerData를 교체했을때 해당 towerData로 자신을 셋팅한다
(덱에 원하는 타워로 배치하려고 할때 다른 타워로 교체할때 바로바로 교체된 타워의 데이터로 셋팅).

DeckTowerList

덱의 타워의 이름을 string타입으로 저장한다.
Json 파일로 저장하고 읽어올때 이 객체를 사용한다.

GyyuScene

개인 씬도 만들었습니다. 테스트는 GyyuScene으로 들어가서 해보시면됩니다.

변경점

Draggable

UnityAction을 활용해서 사용하고자 하는 객체에서 드래그 할때의 행동을 구독하여 사용가능

Droppable

UnityAction을 활용해서 사용하고자 하는 객체에서 드롭 했을때의 행동을 구독하여 사용가능

Tower

Draggable과 Droppable을 UnityAction을 구독하는 형태로 변경함에 따라 드래그&드롭시 행동을 Tower 클래스에서 구현

RandomDiceCreate

기존의  원하는 타워를 선택해서 그 중에서 랜덤 생성하는 방식에서 덱정보를 읽어와서 랜덤 생성하는 방식으로 변경
TowerSettingToDeck() = 덱 정보가 저장되어 있는 DeckData.json 파일을 읽어와서 랜덤 생성에 적용

@yugd1211 yugd1211 linked an issue Nov 23, 2022 that may be closed by this pull request
@yugd1211 yugd1211 merged commit 7934ecb into main Dec 1, 2022
@yugd1211 yugd1211 deleted the 76-deckmanager-deckslot-decktower-deckdataconverter branch December 1, 2022 09:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DeckManager, DeckSlot, DeckTower, DeckDataConverter

4 participants