Exemplo n.º 1
0
    public static void Create(Vector3 spawnPosition, Enemy enemy, int damageAmount)
    {
        Transform arrowTransform = Instantiate(GameAssets.i.pfProjectileArrow, spawnPosition, Quaternion.identity);

        ProjectileArrow projectileArrow = arrowTransform.GetComponent <ProjectileArrow>();

        projectileArrow.Setup(enemy, damageAmount);
    }
Exemplo n.º 2
0
    public override void Fire(float attackPower)
    {
        GameObject      projectileGO = (GameObject)Instantiate(projectilePrefab, transform.position, transform.rotation);
        ProjectileArrow p            = projectileGO.GetComponent <ProjectileArrow>();

        p.SetHitInfo(DetermineHitStrength(attackPower));
        p.SetMissileInfo(attackPower, minMissileSpeed, maxMissileSpeed, minRange, maxRange);
        int upgradeLevel = GetUpgradeLevel();

        p.canPierce = (upgradeLevel > 1);
        p.canSlow   = (upgradeLevel > 2);
        p.canCrit   = (upgradeLevel > 3);
        owner.StopAttack();
    }
Exemplo n.º 3
0
    private void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            //CMDebug.TextPopupMouse("Click!");
            //ProjectileArrow.Create(projectileShootFromPosition, UtilsClass.GetMouseWorldPosition());
        }

        shootTimer -= Time.deltaTime;

        if (shootTimer <= 0f)
        {
            shootTimer = shootTimerMax;

            Enemy enemy = GetClosestEnemy();
            if (enemy != null)
            {
                // Enemy in range!
                ProjectileArrow.Create(projectileShootFromPosition, enemy, Random.Range(damageAmount - 5, damageAmount + 5));
            }
        }
    }