/// <summary> /// 建立抽牌堆 /// </summary> /// <param name="settings">遊戲設定</param> public DrawPile(GameSettings settings) { // NOTE: 各色牌都有 3張1 2張2,3,4 1張5 CardValueType[] values = { CardValueType.Value1, CardValueType.Value1, CardValueType.Value1, CardValueType.Value2, CardValueType.Value2, CardValueType.Value3, CardValueType.Value3, CardValueType.Value4, CardValueType.Value4, CardValueType.Value5 }; int cardNumber = ( int )settings.ColorCount * values.Length; CardIndexType[] indeies = new CardIndexType[cardNumber]; for (int count = 0; count < cardNumber; ++count) { indeies[count] = new CardIndexType(count); } GameBoard.RandomSort(indeies); Card[] tempCards = new Card[cardNumber]; for (int count = 0; count < cardNumber; ++count) { CardColorType color = ( CardColorType )(((count / 10) + 1) * 10); CardValueType number = values[count % 10]; tempCards[count] = new Card(new CardIdType(count), indeies[count], color, number); } GameBoard.RandomSort(tempCards); Pile = new Queue <Card>(tempCards); }
void NewCard(CardNumbeType CNT, CardColorType CCT) { GameObject GCard = Instantiate(objCard, this.transform); Card card = GCard.GetComponent <Card>(); Heaps.Add(card); card.SetCardSprite(CNT, CCT); }
public Card(CardIdType id, CardIndexType index, CardColorType color, CardValueType value) { this.Id = id; this.Index = index; this.Color = color; this.Value = value; this.Information = new CardInformation(); }
/// <summary> /// 提示此牌的顏色 /// </summary> /// <param name="promptColor">提示的顏色</param> /// <param name="realColor">牌的顏色</param> public void Prompt(CardColorType promptColor, CardColorType realColor) { if (promptColor == realColor) { this.Color = realColor; } else if (!ImpossiblePrompt.Contains(( PromptInformation )promptColor)) { ImpossiblePrompt.Add(( PromptInformation )promptColor); } }
public Texture GetWeaponTexture(CardColorType colorType) { int index = (int)colorType; if (this.weaponCardTextures.Length <= index) { return(null); } if (this.weaponCardTextures[index] == null) { return(null); } return(this.weaponCardTextures[index]); }
/// <summary> /// 傳遞訊息 /// 消耗 1個藍色傳達指示物,若已無未消耗藍色傳達指示物,則不可執行此行動。 /// 告訴另一玩家其手牌的線索 /// 提供線索須遵循以下原則: /// 只能就玩家手牌內的某種顏色或某種數字提供線索 /// </summary> /// <param name="color">提示的顏色</param> /// <param name="player">被提示的玩家</param> /// <param name="board">遊戲資訊</param> /// <returns>提示結果</returns> public PromptCardResult PromptCard(CardColorType color, IHanabiPlayer player, GameBoard board) { if (color == CardColorType.Unknown) { return(PromptCardResult.InvalidPrompt); } if (!board.Use()) { return(PromptCardResult.PromptEmpty); } player.PromptCard(color); return(PromptCardResult.Success); }
public void SetCardSprite(CardNumbeType cardNumbeType, CardColorType cardColorType) { if (cardColorType != CardColorType.NNull) { this.cardColorType = cardColorType; } if (cardNumbeType != CardNumbeType.NNull) { this.cardNumbeType = cardNumbeType; } string name = cardColorType.ToString() + (cardNumbeType.ToString()).Substring(1, cardNumbeType.ToString().Length - 1); Debug.Log(name); GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Textures/" + name); }
public void PromptCard(CardColorType color) { foreach (var card in Cards) { if (card.Color == color) { card.Information.Color = color; } else { card.Information.ImpossiblePrompt.Add(( PromptInformation )color); } } CheckIsLastTurn(); }
private void setCardColor() { if (this.EffectId == 65535) { this.CardColor = CardColorType.NormalMonster; } else if (this.Kind.Id < 32) { this.CardColor = CardColorType.EffectMonster; } else if (this.Kind.Id == 96 || this.Kind.Id == 128) { this.CardColor = CardColorType.Trap; } else if (this.Kind.Id == 160) { this.CardColor = CardColorType.Ritual; } else { this.CardColor = CardColorType.Magic; } }
public Texture GetWeaponTexture(CardColorType colorType) { object[] objArray1 = new object[] { colorType }; return(base.method_14 <Texture>("GetWeaponTexture", objArray1)); }
public CardColorService(CardColorType cardColor) { this.cardColor = cardColor; }