Exemplo n.º 1
0
    public void Spawn(int index, string name)
    {
        ChangeDeck deck = transform.GetChild(1).GetComponent <ChangeDeck>();

        deck.index     = index;
        deck.text.text = name;
    }
Exemplo n.º 2
0
        private bool ChangeCardTrigger(Player player = null)
        {
            if (ChangeDeck.Count == 0)
            {
                ChangeDeck = InitChangeDeck();
            }
            if (player == null)
            {
                while (true)
                {
                    Console.WriteLine("请输入使用机会卡的玩家ID:(Exit 退出)");
                    string playerId = Console.ReadLine().Trim();
                    if (string.Equals(playerId, "exit", StringComparison.OrdinalIgnoreCase))
                    {
                        return(false);
                    }
                    player = Players.FirstOrDefault(p => p.Id == playerId || string.Equals(p.Name, playerId, StringComparison.OrdinalIgnoreCase));
                    if (player == null)
                    {
                        Console.WriteLine("该玩家不存在。");
                        continue;
                    }
                    break;
                }
            }
            int cardNumber = PickChangeCard();

            Console.WriteLine($"触发的命运卡ID为:{cardNumber}");

            if (ChangeDeck.Contains(cardNumber))
            {
                ChangeDeck.Remove(cardNumber);
                ChangeUsed.Add(cardNumber);
                GameLogs changeCardTrigger = new GameLogs()
                {
                    ID                = GetLogID(),
                    Type              = LogEventType.ChangeCardTrigger,
                    PlayerName        = player.Name,
                    ChangeCardTrigger = cardNumber,
                    Info              = "触发命运卡",
                    Round             = Round,
                    currentPlayer     = currentPlayer
                };
                AddLog(changeCardTrigger);
                return(true);
            }
            else
            {
                return(false);
            }
        }