Example #1
0
        private void SelectCard(int cardId)
        {
            for (int i = 0; i < 10; i++)
            {
                virtualRegion.SetRegionKey(i + 1, 0);
                virtualRegion.SetRegionDecorator(i + 1, 0, "");//回复默认状态
            }

            var dropList = CardPieceBook.GetDropListByCardId(cardId);

            for (int i = 0; i < Math.Min(10, dropList.Count); i++)
            {
                virtualRegion.SetRegionKey(i + 1, dropList[i].ItemId);
                virtualRegion.SetRegionDecorator(i + 1, 0, string.Format("{0:0.0}%", (float)(dropList[i].Rate) / 100));
            }

            Invalidate(new Rectangle(67, 37 + yCount * cardHeight, cardWidth * xCount - 4, 71));
        }
Example #2
0
        public void OnDie()
        {
            GhostTime = 0.01f;//开始死亡
            BattleManager.Instance.MemMap.GetMouseCell(Position.X, Position.Y).UpdateOwner(-Id);
            if (Avatar.MonsterConfig.Type == (int)CardTypeSub.Hero)
            {
                if (!IsLeft)
                {
                    if (Rival is HumanPlayer)
                    {
                        UserProfile.Profile.OnKillMonster(Avatar.MonsterConfig.Star, Avatar.MonsterConfig.Type, Avatar.MonsterConfig.Type);
                    }
                }
                OwnerPlayer.IsAlive = false;
            }
            else
            {
                if (!IsLeft)
                {
                    if (Rival is HumanPlayer)
                    {
                        if (BattleManager.Instance.StatisticData.Items.Count < GameConstants.MaxDropItemGetOnBattle)
                        {
                            int itemId = CardPieceBook.CheckPieceDrop(Avatar.Id, peakDamagerLuk);
                            if (itemId > 0)
                            {
                                BattleManager.Instance.StatisticData.AddItemGet(itemId);
                                BattleManager.Instance.FlowWordQueue.Add(new FlowItemInfo(itemId, Position, 20, 50), true);
                            }
                            UserProfile.Profile.OnKillMonster(Avatar.MonsterConfig.Star, Avatar.MonsterConfig.Type, Avatar.MonsterConfig.Type);
                        }
                    }
                }
                BattleManager.Instance.StatisticData.GetPlayer(!IsLeft).Kill++;
            }

            SkillManager.CheckRemoveEffect();
            var rival = Rival as Player;

            rival.OnKillMonster(Avatar.Id, Level, Avatar.MonsterConfig.Star, Position);

            MakeSound(false);
        }
Example #3
0
        private void DropItemViewerForm_Click(object sender, EventArgs e)
        {
            if (tar != -1)
            {
                sel = tar;

                HItemConfig  itemConfig = ConfigData.GetHItemConfig(items[tar]);
                const string stars      = "★★★★★★★★★★";
                itemDesStr = string.Format("{0}({2}){1}", itemConfig.Name, itemConfig.Descript, stars.Substring(10 - itemConfig.Rare));
                Invalidate(new Rectangle(65, cardHeight * yCount + 37 + 21, 500, 20));

                nlClickLabel1.ClearLabel();
                int[] cardIds = CardPieceBook.GetCardIdsByItemId(items[tar]);
                foreach (int cid in cardIds)
                {
                    var name = CardConfigManager.GetCardConfig(cid).Name;
                    nlClickLabel1.AddLabel(name, cid);
                }
                nlClickLabel1.Invalidate();
            }
        }