public void InitializeShip(ShipController ship, int color)
    {
        ship.SetHealth(health);
        ship.SetDamage(damage);
        ship.SetSpeed(speed);
        ship.SetShield(shield);
        ship.SetImage(GameManager.ImagePooler.GetShipSkin((shipSkin * 4) + color), color);
        ship.GetPlayer().Write(Converter.ToChar(Command.COLOR).ToString() + color);
        Ability ability;

        switch (abilityType)
        {
        case AbilityType.CIRCLEFIRE:
            //--------------------------ATENTION (abilitylevel for circle fire is always 5)-----------------------------//
            ability = new CircleFire(/*abilityLevel*/ 5, ship);
            break;

        case AbilityType.SHIELDRECOVERY:
            ability = new ShieldRecovery(ship.GetAttribute(AttributeType.SHIELD), 3);
            break;

        case AbilityType.FREEZEENGINE:
            ability = new DisableControllAbility(4, ship);
            break;

        case AbilityType.DESTROYSHIELD:
            ability = new DestroyShieldAbility(2, ship);
            break;

        default:
            return;
        }
        ship.SetAbility(ability);
    }
    public override void Trigger(GameObject target)
    {
        ShipController controller = target.GetComponent <ShipController>();

        if (controller == null)
        {
            return;
        }

        CircleFire fire = new CircleFire(lasersCount, controller);

        fire.Trigger();
    }