Exemplo n.º 1
0
    // Use this for initialization

    public void Initialize(DeckController controller, HandType handType)
    {
        deckController = controller;
        handOwner      = handType;
        deckView       = deckController.gameObject.GetComponent <DeckView>();
        gameCards      = new List <GameCard> ();
    }
Exemplo n.º 2
0
        internal async void CaptureScreenshot(bool deckOnly)
        {
            var selectedDeck = DeckPickerList.SelectedDecks.FirstOrDefault();

            if (selectedDeck == null)
            {
                return;
            }
            Log.Info("Creating screenshot of " + selectedDeck.GetSelectedDeckVersion().GetDeckInfo());

            var deck   = selectedDeck.GetSelectedDeckVersion();
            var cards  = 35 * deck.Cards.Count;
            var height = (deckOnly ? 0 : 124) + cards;
            var width  = 219;

            DeckView control = new DeckView(deck, deckOnly);

            control.Measure(new Size(width, height));
            control.Arrange(new Rect(new Size(width, height)));
            control.UpdateLayout();
            Log.Debug($"Screenshot: {control.ActualWidth} x {control.ActualHeight}");

            RenderTargetBitmap bmp = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Pbgra32);

            bmp.Render(control);
            var encoder = new PngBitmapEncoder();

            encoder.Frames.Add(BitmapFrame.Create(bmp));

            await SaveOrUploadScreenshot(encoder, deck.Name);
        }
Exemplo n.º 3
0
        private void RefillBtn_Click(object sender, EventArgs e)
        {
            foreach (EncounterCard card in fDeck.Cards)
            {
                card.Drawn = false;
            }

            DeckView.Invalidate();
            update_card_list();
        }
Exemplo n.º 4
0
        public DeckViewForm(List <EncounterCard> cards)
        {
            InitializeComponent();

            DeckView.SetCards(cards);

            Browser.DocumentText = "";

            update_stats();
        }
Exemplo n.º 5
0
        private void RefreshBtn_Click(object sender, EventArgs e)
        {
            if ((SelectedCard != null) && (SelectedCard.Drawn))
            {
                SelectedCard.Drawn = false;

                DeckView.Invalidate();
                update_card_list();
            }
        }
Exemplo n.º 6
0
        private void DuplicateBtn_Click(object sender, EventArgs e)
        {
            if (SelectedCard != null)
            {
                EncounterCard card = SelectedCard.Copy();
                fDeck.Cards.Add(card);

                DeckView.Invalidate();
                update_card_list();
            }
        }
Exemplo n.º 7
0
    /*
     *
     * //add to any place:
     * //  onTryAnswerSend += onTryAnswer;
     * public delegate void TryAnswerCallback(int _answerId);
     * // Event declaration
     * public event TryAnswerCallback onTryAnswerSend;
     * void onTryAnswer(int _answerId)
     * {
     *  Debug.Log("onTryAnswer called.");
     * }
     *
     * public void tryAnswer(int _id)
     * {
     *  if (onTryAnswerSend != null)
     *      onTryAnswerSend(_id);
     * }
     */

    private void doStartNewGame(int _invalidWantPosID)
    {
        isEndGameState = 0;
        collider.size  = new Vector2(0, 0);
        stopWinAnimation();

        DeckModel thisDeckModel = deck.GetComponent <DeckModel>();
        DeckView  thisDeckView  = deck.GetComponent <DeckView>();

        thisDeckModel.Shuffle();
        thisDeckView.ShowCards(_invalidWantPosID);
    }
Exemplo n.º 8
0
        private void RemoveBtn_Click(object sender, EventArgs e)
        {
            if (SelectedCard != null)
            {
                if (fDeck.Cards.Contains(SelectedCard))
                {
                    fDeck.Cards.Remove(SelectedCard);
                }

                DeckView.Invalidate();
                update_card_list();
            }
        }
Exemplo n.º 9
0
        private void CreatureList_ItemDrag(object sender, ItemDragEventArgs e)
        {
            if (SelectedCreature != null)
            {
                if (DoDragDrop(SelectedCreature, DragDropEffects.Copy) == DragDropEffects.Copy)
                {
                    EncounterCard card = new EncounterCard();
                    card.CreatureID = SelectedCreature.ID;

                    fDeck.Cards.Add(card);

                    DeckView.Invalidate();
                    update_card_list();
                }
            }
        }
Exemplo n.º 10
0
        void update_card_list()
        {
            CardList.BeginUpdate();
            CardList.ShowGroups = true;

            List <ListViewItem> item_list = new List <ListViewItem>();

            if (DeckView.IsCellSelected)
            {
                foreach (EncounterCard card in fDeck.Cards)
                {
                    if (!DeckView.InSelectedCell(card))
                    {
                        continue;
                    }

                    item_list.Add(add_card(card));
                }

                if (item_list.Count == 0)
                {
                    CardList.ShowGroups = false;

                    ListViewItem lvi = new ListViewItem("(no cards)");
                    lvi.ForeColor = SystemColors.GrayText;

                    item_list.Add(lvi);
                }
            }
            else
            {
                CardList.ShowGroups = false;

                ListViewItem lvi = new ListViewItem("(no cell selected)");
                lvi.ForeColor = SystemColors.GrayText;

                item_list.Add(lvi);
            }

            CardList.Items.Clear();
            CardList.Items.AddRange(item_list.ToArray());
            CardList.EndUpdate();

            ViewBtn.Enabled = (item_list.Count != 0);
        }
        public static RenderTargetBitmap Generate(Deck deck, bool cardsOnly)
        {
            var height = CardHeight * deck.GetSelectedDeckVersion().Cards.Count;

            if (!cardsOnly)
            {
                height += InfoHeight;
            }
            var control = new DeckView(deck, cardsOnly);

            control.Measure(new Size(ScreenshotWidth, height));
            control.Arrange(new Rect(new Size(ScreenshotWidth, height)));
            control.UpdateLayout();
            Log.Debug($"Screenshot: {control.ActualWidth} x {control.ActualHeight}");
            var bmp = new RenderTargetBitmap(ScreenshotWidth, height, Dpi, Dpi, PixelFormats.Pbgra32);

            bmp.Render(control);
            return(bmp);
        }
Exemplo n.º 12
0
        private void ViewBtn_Click(object sender, EventArgs e)
        {
            List <EncounterCard> cards = new List <EncounterCard>();

            foreach (EncounterCard card in fDeck.Cards)
            {
                if (!DeckView.InSelectedCell(card))
                {
                    continue;
                }

                cards.Add(card);
            }

            if (cards.Count != 0)
            {
                DeckViewForm dlg = new DeckViewForm(cards);
                dlg.ShowDialog();
            }
        }
Exemplo n.º 13
0
 // Use this for initialization
 public void Initialize(DeckController controller, HandType handType)
 {
     deckController = controller;
     handOwner = handType;
     deckView = deckController.gameObject.GetComponent<DeckView>();
     gameCards = new List<GameCard> ();
 }
Exemplo n.º 14
0
 public CommandShuffleDeck(CommandShuffleDeckMessage message)
 {
     this.caller = ClientScene.FindLocalObject(message.callerNetId).GetComponent <Player>();
     this.deck   = ClientScene.FindLocalObject(message.deckNetId).GetComponent <DeckView>();
     this.Multi  = message.multi;
 }
Exemplo n.º 15
0
 public CommandShuffleDeck(Player caller, DeckView deck)
 {
     this.caller = caller;
     this.deck   = deck;
 }
Exemplo n.º 16
0
    private void ToggleView(int cardIdx)
    {
        DeckView deckView = Dealer.GetComponent <DeckView>();

        deckView.Toggle(cardIdx, true);
    }
Exemplo n.º 17
0
    private void ShowDealerHand()
    {
        DeckView cardView = Dealer.GetComponent <DeckView>();

        cardView.ShowHand();
    }
Exemplo n.º 18
0
 private void DeckView_DeckOrderChanged(object sender, EventArgs e)
 {
     update_stats();
     DeckView.Focus();
 }
Exemplo n.º 19
0
        void update_creature_list()
        {
            CreatureList.BeginUpdate();
            CreatureList.ShowGroups = true;

            List <ListViewItem> item_list = new List <ListViewItem>();

            if (DeckView.IsCellSelected)
            {
                List <ICreature> creatures = new List <ICreature>();
                foreach (Creature c in Session.Creatures)
                {
                    creatures.Add(c);
                }
                foreach (CustomCreature cc in Session.Project.CustomCreatures)
                {
                    creatures.Add(cc);
                }

                foreach (ICreature c in creatures)
                {
                    EncounterCard card = new EncounterCard();
                    card.CreatureID = c.ID;

                    if (!DeckView.InSelectedCell(card))
                    {
                        continue;
                    }

                    ListViewItem lvi = new ListViewItem(c.Name);
                    lvi.Tag = c;

                    string cat_name = (c.Category != "") ? c.Category : "Miscellaneous Creatures";
                    lvi.Group = CreatureList.Groups[cat_name];

                    item_list.Add(lvi);
                }

                if (item_list.Count == 0)
                {
                    CreatureList.ShowGroups = false;

                    ListViewItem lvi = new ListViewItem("(no creatures)");
                    lvi.ForeColor = SystemColors.GrayText;

                    item_list.Add(lvi);
                }
            }
            else
            {
                CreatureList.ShowGroups = false;

                ListViewItem lvi = new ListViewItem("(no cell selected)");
                lvi.ForeColor = SystemColors.GrayText;

                item_list.Add(lvi);
            }

            CreatureList.Items.Clear();
            CreatureList.Items.AddRange(item_list.ToArray());
            CreatureList.EndUpdate();
        }
Exemplo n.º 20
0
 private void LevelBox_ValueChanged(object sender, EventArgs e)
 {
     fDeck.Level = (int)LevelBox.Value;
     DeckView.Invalidate();
 }