public override Part clone() { MechWeapon ret = new MechWeapon(); MechWeapon.copy(this, ret); return(ret); }
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); } }
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; }