private void initCardDisplay(Card card) { resetDisplay(); if (cardCanBeDisplayed()) { var cardInfo = card.Template.CardInfo; cardName.text = cardInfo.Name; actionPoints.text = card.Template.ActionPts.ToString(); bool handled = true; GameState.GameStateType stateType = GameManager.Instance.Game.CurState.StateType; List <CardInfo.EffectInfo> cardEffectPair = null; switch (stateType) { case GameState.GameStateType.JurySelection: cardEffectPair = cardInfo.JurySelectionInfos; break; case GameState.GameStateType.TrialInChief: cardEffectPair = cardInfo.TrialInChiefInfos; break; case GameState.GameStateType.Summation: cardEffectPair = cardInfo.SummationInfos; break; default: handled = false; break; } if (handled) { int size = cardEffectPair.Count; for (int i = 0; i < size; ++i) { CardEventUsageFieldElement eventObj = GameObject.Instantiate(cardEventFieldElementPrefab); eventObj.gameObject.SetActive(true); eventObj.Init(card, stateType, i, cardEffectPair[i], (Game game, Player choosingPlayer) => { return(false); }); RectTransform rect = eventObj.GetComponent <RectTransform>(); rect.anchorMin = new Vector2(0, 1.0f - (float)(i + 1) / size); rect.anchorMax = new Vector2(1, 1.0f - (float)i / size); eventObj.transform.SetParent(eventFieldParent.transform, false); } } } }
private void updateDisplay(Card card) { resetDisplay(); var cardInfo = card.Template.CardInfo; typing.text = cardInfo.Typing; cardName.text = cardInfo.Name; notes.text = cardInfo.Notes; actionPoints.Init(card); GameState.GameStateType[] stateTypes = new GameState.GameStateType[] { GameState.GameStateType.JurySelection, GameState.GameStateType.TrialInChief, GameState.GameStateType.Summation }; List <CardInfo.EffectInfo>[] cardEffectInfos = new List <CardInfo.EffectInfo>[] { cardInfo.JurySelectionInfos, cardInfo.TrialInChiefInfos, cardInfo.SummationInfos }; List <CardTemplate.CardEffectPair>[] cardEffectPairs = new List <CardTemplate.CardEffectPair>[] { card.Template.SelectionEvents, card.Template.TrialEvents, card.Template.SummationEvents }; GameObject[] parentGOs = new GameObject[] { jurySelectionParent, trialInChiefParent, summationParent }; for (int j = 0; j < stateTypes.Length; ++j) { List <CardInfo.EffectInfo> infoList = cardEffectInfos[j]; List <CardTemplate.CardEffectPair> effectPairs = cardEffectPairs[j]; GameObject parentGO = parentGOs[j]; GameState.GameStateType stateType = stateTypes[j]; int size = infoList.Count; for (int i = 0; i < size; ++i) { CardEventUsageFieldElement eventObj = GameObject.Instantiate(cardEventFieldElementPrefab); eventObj.gameObject.SetActive(true); eventObj.Init(card, stateType, i, infoList[i], effectPairs[i].Selectable); RectTransform rect = eventObj.GetComponent <RectTransform>(); rect.anchorMin = new Vector2(0, 1.0f - (float)(i + 1) / size); rect.anchorMax = new Vector2(1, 1.0f - (float)i / size); eventObj.transform.SetParent(parentGO.transform, false); } } }