Exemplo n.º 1
0
        public void AddCardReason(IMonster mon, AddCardReason reason)
        {
            string effName = "";

            switch (reason)
            {
            case Frag.AddCardReason.DrawCardBySkillOrSpell:
                effName = "flycard";
                break;

            case Frag.AddCardReason.GetCertainCard:
                goto case Frag.AddCardReason.DrawCardBySkillOrSpell;

            case Frag.AddCardReason.Discover:
                effName = "flycard2";
                break;

            case Frag.AddCardReason.RandomCard:
                effName = "flycard3";
                break;
            }

            if (IsLeft && !string.IsNullOrEmpty(effName))
            {
                Point startPoint = new Point(BattleManager.Instance.MemMap.StageWidth / 2, BattleManager.Instance.MemMap.StageHeight / 2);
                if (mon != null)
                {
                    startPoint = mon.Position;
                }
                BattleManager.Instance.EffectQueue.Add(new UIEffect(EffectBook.GetEffect(effName), startPoint,
                                                                    new Point(BattleManager.Instance.MemMap.StageWidth / 2, BattleManager.Instance.MemMap.StageHeight), 16, true));
            }
        }
Exemplo n.º 2
0
        public void DrawNextNCard(IMonster mon, int n, AddCardReason reason)
        {
            var cardCount = Cards.LeftCount;

            for (int i = 0; i < n; i++)
            {
                CardManager.GetNextCard();
            }

            AddCardReason(mon, reason);

            if (CardLeftChanged != null && cardCount != Cards.LeftCount)
            {
                CardLeftChanged();
            }
        }