Exemple #1
0
    public override Part clone()
    {
        MechWeapon ret = new MechWeapon();

        MechWeapon.copy(this, ret);
        return(ret);
    }
Exemple #2
0
    public override void GameInit()
    {
        base.GameInit();

        foreach (KeyValuePair <Part.slot, Part> p in parts)
        {
            try
            {
                p.Value.GameInit();
            }
            catch (Exception e)
            {
                Debug.Log("this is a Part object");
            }
        }

        if (null != this.parts[Part.slot.weapon1])
        {
            this.activeWeapon = (MechWeapon)this.parts[Part.slot.weapon1];
        }
        else if (null != this.parts[Part.slot.weapon2])
        {
            this.activeWeapon = (MechWeapon)this.parts[Part.slot.weapon2];
        }
        else
        {
            throw new IndexOutOfRangeException("no weapons found for mech " + this);
        }
    }
Exemple #3
0
    protected static void copy(MechWeapon src, MechWeapon tgt)
    {
        Part.copy(src, tgt);
        tgt.iconSprite = Sprite.Instantiate(src.iconSprite);

        tgt.damage       = src.damage;
        tgt.shieldDamage = src.shieldDamage;
        tgt.range        = src.range;
        tgt.accuracy     = src.accuracy;
        tgt.maxHeat      = src.maxHeat;
        tgt.currentHeat  = src.currentHeat;

        tgt.maxAmmo     = src.maxAmmo;
        tgt.currentAmmo = src.currentAmmo;

        tgt.armorPierce  = src.armorPierce;
        tgt.shieldBypass = src.shieldBypass;
    }