public void FireBarrage() { for (int i = 0; i < barrageSize; i++) { newShot = Instantiate(fireResult, transform); newShot.transform.SetParent(null); inaccuracy = new Vector3(UnityEngine.Random.Range(-weaponAccuracy, weaponAccuracy), UnityEngine.Random.Range(-weaponAccuracy, weaponAccuracy), UnityEngine.Random.Range(-weaponAccuracy, weaponAccuracy)); newShot.transform.Rotate(inaccuracy); WeaponShotScript newScript = (WeaponShotScript)newShot.AddComponent(fireScript.GetType()); newScript.shotTarget = shotTarget; newScript.shotLifetime = shotLifetime; newScript.shotVelocity = shotVelocity; newScript.maxRange = maxRange; newScript.standardDamage = standardDamage; } }
// Start is called before the first frame update void Start() { thisWeapon = (TankyWeapon)GetComponent <TankyHealth>().ownPart; fireOffset = thisWeapon.firingOffset; refireRate = thisWeapon.weaponRateoffire; fireObject = thisWeapon.fireResult; maxRange = thisWeapon.maxRange; barrageSize = thisWeapon.barrageSize; barrageDelay = thisWeapon.barrageDelay; barrageCount = thisWeapon.barrageCount; standardDamage = thisWeapon.standardDamage; weaponAccuracy = thisWeapon.weaponAccuracy; shotLifetime = thisWeapon.shotLifetime; shotVelocity = thisWeapon.shotVelocity; firingObject = thisWeapon.firingObject; fireScript = thisWeapon.fireScript; fireScriptType = fireScript.GetType(); sinceLastShot = 0; }