本節目標
開啟抽卡皮膚之後,顯示三張可以抽取的卡牌,點選選擇卡牌之後將卡牌新增到牌堆中,然後遊戲勝利皮膚隱藏抽卡按鈕
實現方法
新增卡牌的 UI Document
需要給 Card 也新增turnbutton
樣式,這樣滑鼠移動過去的時候會有放大的效果
抽卡皮膚除錯佈局
除錯的時候,我們可以把 Project 裡面額 CardTemplate.uxml 新增到 Container 裡面看看效果,等除錯沒問題了再把它們刪掉
開啟抽卡皮膚的時候新增卡牌
遊戲勝利的時候,點選選擇卡牌按鈕,會觸發PickCardEvent
事件
UIManager 在收到PickCardEvent
事件之後,會呼叫UIManager.OnPickCardEvent
方法,然後會將pickCardPanel
顯示出來
pickCardPanel
在OnEnable
的時候,會往Container
裡面新增三張卡牌
其中CardManager
裡面新增了一個新方法GetNewCardData()
,它的實現內容如下所示。這段程式碼的意思是獲取一個隨機的卡牌資料,但是資料內容不能和上一張卡牌資料一致
PickCardManager
也新增了InitCard
方法,它會根據傳遞過來的CardDataSO
資料,將資料賦值到對應的UI元件上面去
當卡牌被點選的時候,會將當前點選的卡牌禁用,並讓另外兩張卡牌啟用
點選確定按鈕之後,會透過cardManager
往牌庫中新增卡牌,並廣播finishPickCardEvent
事件
CardManager.UnlockCard
程式碼如下
finishPickCardEvent
被GameWinPanel
、UIManager
監聽
GameWinPanel
在收到finishPickCardEvent
事件之後,會呼叫GameWinPanel.OnFinishPickCardEvent
,然後它就會把pickCardButton
隱藏掉
UIManager
在收到finishPickCardEvent
事件之後,會呼叫UIManager.OnFinishPickCardEvent
,然後它會把pickCardPanel
隱藏掉
專案相關程式碼
程式碼倉庫:https://gitee.com/nbda1121440/DreamOfTheKingdom.git
標籤:20240312_2012