public static PFTable.Card GetRandomCard() { int randCardId = UnityEngine.Random.Range(PFConst.MonsterCardIdBegin, PFConst.MonsterCardIdEnd); PFTable.Card cardTable = PFTable.GetCard(randCardId); return(cardTable); }
public static PFTable.ECardApplyTarget GetApplyTarget(int cardId) { PFTable.Card cardTable = PFTable.GetCard(cardId); if (cardTable != null) { return(cardTable.applyTarget); } return(PFTable.ECardApplyTarget.Invalid); }
public static int GetCost(int cardTableId) { PFTable.Card cardTable = PFTable.GetCard(cardTableId); if (cardTable != null) { return(cardTable.cost); } return(PFNumber.InvalidCost); }
public static PFTable.ECardPoolType GetCardType(int cardId) { PFTable.Card cardTable = PFTable.GetCard(cardId); if (cardTable != null) { return(cardTable.cardPoolType); } return(PFTable.ECardPoolType.Invalid); }
public static List <APFCardUI> Create_DeckCards(GameObject cardParent, List <int> deckCardIdList, int bgFrameWidth) { APFCardUI card_original = Resources.Load <APFCardUI>(PFPrefabPath.Card); if (card_original == null) { StringBuilder sbLog = new StringBuilder(""); sbLog.AppendFormat("{0} 경로에 카드프리팹이 없습니다.", PFPrefabPath.Card); Debug.LogError(sbLog.ToString()); return(null); } int cardWidth = card_original.GetCardWidth(); int cardCount = deckCardIdList.Count; int cardTotalWidth = cardWidth * cardCount; float createPosX = (bgFrameWidth - cardTotalWidth) / 2; createPosX += cardWidth / 2; List <APFCardUI> newInstanceList = new List <APFCardUI>(cardCount); for (int i = 0; i < cardCount; ++i) { int cardId = deckCardIdList[i]; PFTable.Card cardTable = PFTable.GetCard(cardId); if (cardTable != null) { Vector3 createPos = new Vector3(createPosX, 0.0f, 0.0f); APFCardUI newCardInstance = PFUtil.Instantiate(card_original, cardParent, createPos); newCardInstance.Init(cardTable); newInstanceList.Add(newCardInstance); createPosX += cardWidth; } else { StringBuilder sbLog = new StringBuilder(""); sbLog.AppendFormat("카드테이블 id: {0} 카드정보가 없습니다", cardId); Debug.LogError(sbLog.ToString()); return(null); } } return(newInstanceList); }
public void UpdateUI_CardList(List <int> cardList) { PFUtil.DestroyChild(CardListGrid.gameObject, false); if (cardList == null) { return; } for (int i = 0; i < cardList.Count; ++i) { APFCardUI pfCard = PFUtil.Instantiate <APFCardUI>(PFPrefabPath.Card, CardListGrid.gameObject, Vector3.zero); pfCard.Init(PFTable.GetCard(cardList[i])); } CardListGrid.repositionNow = true; }
public static int GetDamage(APFCharacterController attackerCharCtrl, int cardTableId) { if (attackerCharCtrl != null) { int characterTableId = attackerCharCtrl.CharacterTableId; PFTable.Character charTable = PFTable.GetCharacter(characterTableId); PFTable.Card cardTable = PFTable.GetCard(cardTableId); if (charTable != null && cardTable != null) { float atkRateSum = attackerCharCtrl.GetCardEffectSum(ECardEffect.AtkRate); float atkRatio = charTable.atkRatio + atkRateSum; float fDamage = atkRatio * cardTable.damage; int iDamage = (int)fDamage;//소수점이 발생하면 버린다. return(iDamage); } } return(0); }