コード例 #1
0
        internal async Task DrawEventCard(Game game)
        {
            EventCard card = game.EventDeck[0];

            game.EventDeck.Remove(card);
            AddEventCard(card);
            await game.EventSystem.Call(EventEnum.DrawEventCard, game.ActivePlayerSeat(), this, card);
        }
コード例 #2
0
ファイル: Player.cs プロジェクト: Shedarshian/TouhouTrek
 private async Task SetEventCard(Game game, ChooseDirectionResponse response)
 {
     if (SaveEvent != null)
     {
         await SaveEvent.Use(game, response);
     }
     SaveEvent = EventCards[0];
     EventCards.RemoveAt(0);
 }
コード例 #3
0
ファイル: Player.cs プロジェクト: Shedarshian/TouhouTrek
 /// <summary>
 /// 失去一张事件卡
 /// 注意没有进弃牌堆
 /// </summary>
 /// <param name="game"></param>
 /// <param name="card"></param>
 /// <returns></returns>
 internal async Task DropEventCard(Game game, EventCard card)
 {
     if (card == SaveEvent)
     {
         //game.UsedEventDeck.Add(card);
         SaveEvent = null;
     }
     else
     {
         //game.UsedEventDeck.Add(card);
         EventCards.Remove(card);
     }
     card.Owner = null;
 }
コード例 #4
0
ファイル: Player.cs プロジェクト: Shedarshian/TouhouTrek
 internal Task UseEventCard(Game game, ChooseDirectionResponse response)
 {
     if (response.IfSet)
     {
         return(SetEventCard(game, response));
     }
     else
     {
         //默认玩家手上一定是一张事件卡,有其他情况再改
         EventCard card = EventCards.Find(c => c.Id == response.CardId);
         if (card != null)
         {
             return(card.Use(game, response));
         }
         else
         {
             Log.Error("未找到卡片(" + response.CardId + ")");
             return(Task.CompletedTask);
         }
     }
 }
コード例 #5
0
 void AddEventCard(EventCard card)
 {
     EventCards.Add(card);
     card.Owner = this;
 }