Пример #1
0
    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;
        }
    }
Пример #2
0
    // 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;
    }