Beispiel #1
0
    public BoardCard ExecuteReturnBoardCard(SpawnBoardCardCommand command, Card card)
    {
        CommandHistory.Push(command);
        BoardCard boardCardToReturn = command.Execute(card);

        return(boardCardToReturn);
    }
Beispiel #2
0
 public Card(BoardCard prefab, CardPopup cardPopup, IAssetManagementService assetManagementService, ICard data,
             BoardCard boardCard)
 {
     UpdateData(data);
     _AssetManagementService = assetManagementService;
     _Prefab    = prefab;
     _CardPopup = cardPopup;
     BoardCard  = boardCard;
 }
Beispiel #3
0
        public BoardCard CreateBoardCard()
        {
            string plist      = _AssetManagementService.GetPlist(SpriteUrl);
            var    newCard    = Object.Instantiate(_Prefab);
            var    localScale = newCard.transform.localScale;

            localScale = new Vector3(localScale.x, localScale.y, localScale.z);
            newCard.transform.localScale = localScale;
            newCard.ParseCardJson(this, plist, _CardPopup);
            newCard.name = Name;
            BoardCard    = newCard;
            return(newCard);
        }
Beispiel #4
0
        public JsonResult BoardAddCard(int boardId, string cardHeader, string cardBody)
        {
            BoardCard boardCard = new BoardCard();

            boardCard.BoardId    = boardId;
            boardCard.CardHeader = cardHeader;
            boardCard.CardBody   = cardBody;
            boardCard.CreateDate = DateTime.Now.Date;

            // Save card

            return(Json(boardCard));
        }
 public BoardCard SpawnBoardCard(Card card)
 {
     if (CardTypesMatch(card.CardType))
     {
         _spawnedBoardCard = Instantiate(_boardCardPrefab, _spawnPosition.transform.position, _spawnPosition.transform.rotation);
         _spawnedBoardCard.SetTexture(card);
         _spaceFilled = true;
         return(_spawnedBoardCard);
     }
     else
     {
         return(null);
     }
 }
Beispiel #6
0
    public HandBoardCard(GameObject selfObject, BoardCard boardCard)
    {
        GameObject = selfObject;

        CardView = boardCard;

        _gameplayManager = GameClient.Get <IGameplayManager>();
        _soundManager    = GameClient.Get <ISoundManager>();
        _tutorialManager = GameClient.Get <ITutorialManager>();

        _playerController = _gameplayManager.GetController <PlayerController>();
        _cardsController  = _gameplayManager.GetController <CardsController>();

        _behaviourHandler = GameObject.GetComponent <OnBehaviourHandler>();

        _behaviourHandler.MouseUpTriggered += MouseUp;
        _behaviourHandler.Updating         += UpdatingHandler;
    }
Beispiel #7
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (TxtName.Text.Length == 0)
            {
                errormessage.Text = "Enter an naeme.";
                TxtName.Focus();
            }
            else if (TxtDescription.Text.Length == 0)
            {
                errormessage.Text = "Enter an description.";
                TxtDescription.Focus();
            }
            else
            {
                string name        = TxtName.Text;
                string description = TxtDescription.Text;
                var    status      = cmbStatus.SelectedValue;
                var    deadline    = dtdeadline.DisplayDate;

                var boardCard = new BoardCard
                {
                    Description = description,
                    Name        = name,
                    Status      = (Status)status,
                    Deadline    = deadline,
                    UserId      = Globals.LoggedInUser.Id,
                    CreatedDate = DateTime.Now,
                    UpdatedDate = DateTime.Now
                };
                errormessage.Text = "";
                _dbContext.Boards.Add(boardCard);
                _dbContext.SaveChanges();
                MessageBox.Show("Added Successfully");
                BoardCards boardCards = new BoardCards();
                boardCards.Show();
                this.Close();
            }
        }
Beispiel #8
0
        private void btnEdit_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                bool   isCreate = false;
                object item     = boardDataGrid.SelectedItem;

                int id = int.Parse((boardDataGrid.SelectedCells[0].Column.GetCellContent(item) as TextBlock).Text);

                BoardCard boardCard = _dbContext.Boards.FirstOrDefault(x => x.Id == id);
                if (boardCard == null)
                {
                    isCreate  = true;
                    boardCard = new BoardCard {
                        UserId = Globals.LoggedInUser.Id
                    };
                    boardCard.Deadline    = DateTime.Now;
                    boardCard.CreatedDate = DateTime.Now;
                    boardCard.UpdatedDate = DateTime.Now;
                }
                boardCard.Name        = (boardDataGrid.SelectedCells[1].Column.GetCellContent(item) as TextBlock).Text;
                boardCard.Description = (boardDataGrid.SelectedCells[2].Column.GetCellContent(item) as TextBlock).Text;
                if (isCreate)
                {
                    _dbContext.Boards.Add(boardCard);
                }
                _dbContext.SaveChanges();
                MessageBox.Show("Row Updated Successfully");
                this.boardDataGrid.Items.Clear();
                FillBoardCard();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }
            public static bool HasEffect(Card card, string PropertyName)
            {
                string property_STR = new PropertyEnumClass(PropertyName).Property;
                var boardCard = new BoardCard(card).ResultingBoardCard;

                return
                    boardCard.Mechanics.Any(x => String.Equals(x,
                        property_STR, StringComparison.OrdinalIgnoreCase));
            }
        private void ManageNeutralMinion(Card card, int maxMana, List<Card> HandCards)
        {
            //<= max mana
            var boardCard = new BoardCard(card);

            if (boardCard.ResultingBoardCard.Quality >= ValueReader.MinCardQualityToInstantAddMinion) //epic by default
                chosenCards.Add(card);
            else if (boardCard.ResultingBoardCard.Cost <= ValueReader.MaxManaToInstantAddNeutralMinion) // min insta add cost
                chosenCards.Add(card);
            else
            { //card quality not hight enough and mana to high too
                if (!ValueReader.AttendMinionValue)
                    chosenCards.Add(card);
                else if (boardCard.ResultingBoardCard.Cost >= ValueReader.MinManaCostToAttendValue)
                {
                    if ((ValueReader.OnlyAddMinionIfHasEffect && boardCard.HasEffect) ||
                        !ValueReader.OnlyAddMinionIfHasEffect)
                    {
                        var minionCard = new NeutralMinion(card);
                        NeutralMinion.Value resultingMinNeutralMinionValue =
                            minionCard.BoardCard.IsMaxManaCard && ValueReader.IncreaseMinMinionValueIfMaxCost
                            ?
                            ValueReader.IncreasedMinNeutralMinionValue
                            :
                            ValueReader.MinNeutralMinionValue;

                        int X_Config_Drop = ValueReader.ValueIgnorer.GetDrop(ValueReader.Lines.X_Drop);
                        int Y_Config_Drop = ValueReader.ValueIgnorer.GetDrop(ValueReader.Lines.Y_Drop);
                        int Z_Config_Drop = ValueReader.ValueIgnorer.GetDrop(ValueReader.Lines.Z_Drop);

                        if (minionCard.CardValue >= resultingMinNeutralMinionValue)
                            chosenCards.Add(card);
                        else if (card.Cost == X_Config_Drop &&
                            HandCards.Count(x => new NeutralMinion(x).BoardCard != null && x.Cost == Y_Config_Drop) > 0 &&
                            HandCards.Count(x => new NeutralMinion(x).BoardCard != null && x.Cost <= Z_Config_Drop) > 0 &&
                            ValueReader.ValueIgnorer.IgnoreValueIfCardIsX_DropEtc)
                        {
                            //card is X drop and hand contain Y drop and Z drop (or below)
                            if (
                                !ValueReader.ValueIgnorer.MakeIgnoringOnlyIfNotBadEffect
                                ||
                                (ValueReader.ValueIgnorer.MakeIgnoringOnlyIfNotBadEffect &&
                                !CardProperties.HasBadEffect(card))
                                )
                                chosenCards.Add(card);
                        }
                    }
                }
            }
        }
Beispiel #11
0
 public BoardCard GetCard(string cardId)
 {
     return(BoardCard.ConvertFrom(Read <Card>($"cards/{cardId}")));
 }
Beispiel #12
0
        private void ManageNeutralMinion(Card card, int maxMana, List<Card> HandCards)
        {
            //<= max mana
            var boardCard = new BoardCard(card);

            #region normalChecks

            if (boardCard.ResultingBoardCard.Quality >= ValueReader.MinCardQualityToInstantAddMinion) //epic by default
                    chosenCards.Add(card);
                else if (boardCard.ResultingBoardCard.Cost <= ValueReader.MaxManaToInstantAddNeutralMinion) // min insta add cost
                    chosenCards.Add(card);
                else
                { //card quality not hight enough and mana to high too
                    if (!ValueReader.AttendMinionValue)
                        chosenCards.Add(card);
                    else if (boardCard.ResultingBoardCard.Cost >= ValueReader.MinManaCostToAttendValue)
                    {
                        if ((ValueReader.OnlyAddMinionIfHasEffect && boardCard.HasEffect) ||
                            !ValueReader.OnlyAddMinionIfHasEffect)
                        {
                            var minionCard = new NeutralMinion(card);
                            NeutralMinion.Value resultingMinNeutralMinionValue =
                                minionCard.BoardCard.IsMaxManaCard && ValueReader.IncreaseMinMinionValueIfMaxCost
                                ?
                                ValueReader.IncreasedMinNeutralMinionValue
                                :
                                ValueReader.MinNeutralMinionValue;

                            if (minionCard.CardValue >= resultingMinNeutralMinionValue)
                                chosenCards.Add(card);
                        }
                    }
                }

                #endregion normalChecks
        }
        public void GivenATrelloServiceWhenGetSubtasksForCard()
        {
            var checklistItems = new List<ChecklistItem>
            {
                new ChecklistItem {Checked = true},
                new ChecklistItem {Checked = true},
                new ChecklistItem {Checked = true},
                new ChecklistItem {Checked = false}
            };
            var boardCard = new BoardCard
            {
                Checklists = new List<CardChecklist>
                {
                    new CardChecklist {ChecklistItems = checklistItems}
                }
            };

            var mockBoards = new Mock<IBoards>();
            mockBoards
                .Setup(b => b.WithId(It.IsAny<string>()))
                .Returns(new Board());

            var mockTrelloService = new Mock<ITrello>();
            mockTrelloService
                .SetupGet(s => s.Boards)
                .Returns(mockBoards.Object);

            var trelloBoardService = new TrelloBoardService(mockTrelloService.Object, "boardId");

            _result = trelloBoardService.GetSubtasksForCard(boardCard);
        }
 public BoardCard Execute(Card card)
 {
     _spawnedBoardCard = _boardCardSpawner.SpawnBoardCard(card);
     return(_spawnedBoardCard);
 }
 public void Execute()
 {
     _spawnedBoardCard = _boardCardSpawner.SpawnBoardCard(_card);
 }
 public void RemoveToken(BoardCard boardCardToRemove)
 {
     Destroy(boardCardToRemove.gameObject);
 }
        private void ManageNeutralMinion(Card card, int maxMana, List<Card> HandCards)
        {
            //<= max mana
            var boardCard = new BoardCard(card);

            if (boardCard.ResultingBoardCard.Quality >= ValueReader.MinCardQualityToInstantAddMinion) //epic by default
                chosenCards.Add(card);
            else if (boardCard.ResultingBoardCard.Cost <= ValueReader.MaxManaToInstantAddNeutralMinion) // min insta add cost
                chosenCards.Add(card);
            else
            { //card quality not hight enough and mana to high too
                if (!ValueReader.AttendMinionValue)
                    chosenCards.Add(card);
                else if (boardCard.ResultingBoardCard.Cost >= ValueReader.MinManaCostToAttendValue)
                {
                    if ((ValueReader.OnlyAddMinionIfHasEffect && boardCard.HasEffect) ||
                        !ValueReader.OnlyAddMinionIfHasEffect)
                    {
                        var minionCard = new NeutralMinion(card);
                        NeutralMinion.Value resultingMinNeutralMinionValue =
                            minionCard.BoardCard.IsMaxManaCard && ValueReader.IncreaseMinMinionValueIfMaxCost
                            ?
                            ValueReader.IncreasedMinNeutralMinionValue
                            :
                            ValueReader.MinNeutralMinionValue;

                        int X_Config_Drop = ValueReader.ValueIgnorer.GetXDrop;

                        if (minionCard.CardValue >= resultingMinNeutralMinionValue)
                            chosenCards.Add(card);
                        else if (card.Cost == X_Config_Drop &&
                            HandCards.Count(x => new NeutralMinion(x).BoardCard != null && x.Cost == X_Config_Drop - 1) > 0 &&
                            HandCards.Count(x => new NeutralMinion(x).BoardCard != null && x.Cost == X_Config_Drop - 2) > 0 &&
                            ValueReader.ValueIgnorer.IgnoreValueIfCardIsX_DropEtc)
                        {
                            //card is X drop and hand contain "x - 1 drop" and "x - 2 drop"
                            if (
                                !ValueReader.ValueIgnorer.MakeIgnoringOnlyIfNotBadEffect
                                ||
                                (ValueReader.ValueIgnorer.MakeIgnoringOnlyIfNotBadEffect &&
                                !CardProperties.HasBadEffect(card))
                                )
                            {
                                //add x drop
                                chosenCards.Add(card);

                                //add BEST x - 1 drop and x - 2 drop
                                var bestX_1Drop =
                                    HandCards.Where(x => new NeutralMinion(x).BoardCard != null && x.Cost == X_Config_Drop - 1).
                                    OrderBy(x => new NeutralMinion(x).CardValue).First();
                                var bestX_2Drop =
                                    HandCards.Where(x => new NeutralMinion(x).BoardCard != null && x.Cost == X_Config_Drop - 2).
                                    OrderBy(x => new NeutralMinion(x).CardValue).First();

                                if (!chosenCards.Contains(bestX_1Drop))
                                {
                                    chosenCards.Add(bestX_1Drop);
                                    blackList.Add(bestX_1Drop.Name);
                                }

                                if (!chosenCards.Contains(bestX_2Drop))
                                {
                                    chosenCards.Add(bestX_2Drop);
                                    blackList.Add(bestX_2Drop.Name);
                                }
                            }
                        }
                    }
                }
            }
        }