Example #1
0
    protected override void InitializeTweakables()
    {
        type = Tweakable.MakeTweakable(
            this,
            TweakableType.Dropdown,
            "Shield Type");

        strength = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Shield Strength");

        rechargeTime = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Recharge Time");
        rechargeTime.unit = "s";

        tweakables.Add(type);
        tweakables.Add(strength);
        tweakables.Add(rechargeTime);

        strength.MaxNetPower      = 35;
        rechargeTime.MaxNetPower  = 25;
        type.automaticCalculation = false;
        type.dropdownLabels.Add("Shield Generator");
        type.dropdownLabels.Add("Deflector Shield");
    }
Example #2
0
    protected override void InitializeTweakables()
    {
        agility = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Agility");

        averageThrust = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Thrust");

        maxThrust = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Maximum Thrust");
        maxThrust.unit = "%";

        energyEfficiency = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Energy Efficiency");
        energyEfficiency.unit = "%";

        maxThrust.scaleMin             = false;
        maxThrust.MaxCost              = 20;
        energyEfficiency.MaxDesignCost = 15;
        energyEfficiency.MaxCost       = 15;
        energyEfficiency.MaxNetPower   = 1;
        energyEfficiency.scaleMin      = false;
        tweakables.Add(agility);
        tweakables.Add(averageThrust);
        tweakables.Add(maxThrust);
        tweakables.Add(energyEfficiency);
    }
Example #3
0
    protected override void InitializeTweakables()
    {
        range = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Range");
        resolution = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Resolution");

        tweakables.Add(range);
        tweakables.Add(resolution);
    }
Example #4
0
    protected override void InitializeTweakables()
    {
        caliber = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Caliber");
        caliber.unit = "mm";

        reload = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Reload Time");
        reload.unit = "s";

        turrets = Tweakable.MakeTweakable(
            this,
            TweakableType.Dropdown,
            "Turret Setup");

        weaponType = Tweakable.MakeTweakable(
            this,
            TweakableType.Dropdown,
            "Weapon Type");

        tweakables.Add(weaponType);
        tweakables.Add(turrets);
        tweakables.Add(caliber);
        tweakables.Add(reload);

        caliber.MaxCost              = 25;
        caliber.MaxWeight            = 30;
        reload.ReverseScaling        = true; //because reloading faster is worth more;
        reload.MaxNetPower           = 25;
        turrets.automaticCalculation = false;
        turrets.dropdownLabels.Add("Centerline Mounted");
        turrets.dropdownLabels.Add("Single Turret");
        turrets.dropdownLabels.Add("Dual Turret");
        turrets.dropdownLabels.Add("Triple Turret");
        turrets.dropdownLabels.Add("Quadruple Turret");
        weaponType.dropdownLabels.Add("Laser");
        weaponType.dropdownLabels.Add("Railgun");
        weaponType.automaticCalculation = false;
    }
Example #5
0
    public override Part Clone()
    {
        Shield           part          = (Shield)MemberwiseClone();
        List <Tweakable> newTweakables = new List <Tweakable>();

        part.Manufacturer = Manufacturer;
        foreach (Tweakable t in tweakables)
        {
            Tweakable newt = Tweakable.MakeTweakable(
                part,
                t.tweakableType,
                t.tweakableName);
            newt.Value          = t.Value;
            newt.dropdownLabels = new List <string>(t.dropdownLabels);
            newTweakables.Add(newt);
        }
        part.tweakables = newTweakables;
        part.UpdateProperties();
        return(part);
    }
Example #6
0
    protected override void InitializeTweakables()
    {
        tracking = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Tracking");

        accuracy = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Accuracy");
        range = Tweakable.MakeTweakable(
            this,
            TweakableType.Slider,
            "Range");
        tweakables.Add(tracking);
        tweakables.Add(accuracy);
        tweakables.Add(range);
        tracking.MaxCost       = 20;
        accuracy.MaxDesignCost = 20;
        range.MaxWeight        = 30;
    }