Beispiel #1
0
        public void Draw(Graphics g, MagicRegion magicRegion, CardVisualRegion visualRegion, int mouseX, int mouseY, bool isMouseIn)
        {
            MemMap.Draw(g);//画地图
            visualRegion.Draw(g);
            if (magicRegion.Active && isMouseIn)
            {
                magicRegion.Draw(g, RoundMark, mouseX, mouseY);
            }
            for (int i = 0; i < MonsterQueue.Count; i++)
            {
                LiveMonster monster = MonsterQueue[i];
                Color       color   = Color.White;
                if (isMouseIn)
                {
                    color = magicRegion.GetMonsterColor(monster, mouseX, mouseY);
                }
                monster.DrawOnBattle(g, color);//画怪物
            }

            for (int i = 0; i < MissileQueue.Count; i++)
            {
                MissileQueue[i].Draw(g);//画导弹
            }
            for (int i = 0; i < EffectQueue.Count; i++)
            {
                EffectQueue[i].Draw(g);//画特效
            }
            for (int i = 0; i < FlowWordQueue.Count; i++)
            {
                FlowWordQueue[i].Draw(g);//画飘字
            }
        }
Beispiel #2
0
 private void OnSelectCardChange()
 {
     magicRegion.Clear();
     if (leftSelectCard != null)
     {
         if (leftSelectCard.CardType == CardTypes.Monster)
         {
             var monsterConfig = ConfigData.GetMonsterConfig(leftSelectCard.CardId);
             magicRegion.Add(RegionTypes.Circle, monsterConfig.Range, Color.Magenta);
             var skillConfig = MonsterBook.GetAreaSkill(leftSelectCard.CardId);
             if (skillConfig != null)
             {
                 var type = BattleTargetManager.GetRegionType(skillConfig.Target[2]);
                 if (type != RegionTypes.None)
                 {
                     magicRegion.Add(type, skillConfig.Range, MagicRegion.GetTargetColor(skillConfig.Target[1]));
                 }
             }
         }
         else if (leftSelectCard.CardType == CardTypes.Spell)
         {
             var spellConfig = ConfigData.GetSpellConfig(leftSelectCard.CardId);
             var type        = BattleTargetManager.GetRegionType(spellConfig.Target[2]);
             if (type != RegionTypes.None)
             {
                 magicRegion.Add(type, spellConfig.Range, MagicRegion.GetTargetColor(spellConfig.Target[1]));
             }
         }
     }
 }