您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
46 行
1.4 KiB
46 行
1.4 KiB
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.AddressableAssets;
|
|
using UnityEngine.AddressableAssets.ResourceLocators;
|
|
using UnityEngine.ResourceManagement.AsyncOperations;
|
|
|
|
namespace UnityRoyale
|
|
{
|
|
[CreateAssetMenu(fileName = "NewDeck", menuName = "Unity Royale/Deck Data")]
|
|
public class DeckData : ScriptableObject
|
|
{
|
|
public AssetLabelReference[] labelsToInclude; //set by designers
|
|
|
|
private CardData[] cards; //the deck of actual cards, needs to be shuffled
|
|
private int currentCard = 0;
|
|
|
|
public void CardsRetrieved(List<CardData> cardDataDownloaded)
|
|
{
|
|
//load the actual cards data into an array, ready to use
|
|
int totalCards = cardDataDownloaded.Count;
|
|
cards = new CardData[totalCards];
|
|
for(int c=0; c<totalCards; c++)
|
|
{
|
|
cards[c] = cardDataDownloaded[c];
|
|
}
|
|
}
|
|
|
|
public void ShuffleCards()
|
|
{
|
|
//TODO: shuffle cards
|
|
}
|
|
|
|
//returns the next card in the deck. You probably want to shuffle cards first
|
|
public CardData GetNextCardFromDeck()
|
|
{
|
|
//advance the index
|
|
currentCard++;
|
|
if(currentCard >= cards.Length)
|
|
currentCard = 0;
|
|
|
|
return cards[currentCard];
|
|
}
|
|
}
|
|
}
|