public override void PrepareFight(Mage mage, Ai ai, PanelMage myPanel, PanelMage enemy)
 {
     Mage        = mage;
     Ai          = ai;
     MyPanel     = myPanel;
     EnemysPanel = enemy;
 }
    void OnTriggerEnter(Collider other)
    {
        PanelMage pm = other.gameObject.transform.parent.GetComponent <PanelMage>();

        if (pm != null)
        {
            pm.TakeDamage(Spell.AfterHitParams[AfterHitParam.Damage]);
            BlowUp();
        }
        PanelMinigame pmini = other.gameObject.GetComponent <PanelMinigame>();

        if (pmini != null)
        {
            if (pmini.LeftCollider == other || pmini.RightCollider == other)
            {
                Direction.x = -Direction.x;
                if (Bounced)
                {
                    BlowUp();
                }
                Bounced = true;
            }

            if (pmini.TopCollider == other || pmini.BottomCollider == other)
            {
                BlowUp();
            }
        }
        Bullet b = other.GetComponent <Bullet>();

        if (b != null)
        {
            BlowUp();
            b.BlowUp();
        }

        PanelFounder pf = other.transform.parent.GetComponent <PanelFounder>();

        if (pf != null)
        {
            BlowUp();
            Debug.Log("bonus found");
            pf.TakeBy(Caster);
        }
    }
 public abstract void PrepareFight(Mage mage, Ai ai, PanelMage myPanel, PanelMage enemy);