Пример #1
0
    private void Shoot()
    {
        SetRandomCurrTarget();
        if (_currTarget == null)
        {
            return;
        }
        GameObject go = Instantiate(_autoProjectilePrefab);

        go.transform.position = _shootingPoint.position;
        AutoProjectile projectile = go.GetComponent <AutoProjectile>();

        projectile.Init(_projectileLayer, _projectileSpeed, _currTarget.transform);
    }
Пример #2
0
    public void Init(AutoProjectile projectile)
    {
        _bt = GetComponent <BehaviorTree>();

        SharedGameObject gameObject = (SharedGameObject)_bt.GetVariable("gameObject");

        gameObject.Value = projectile.gameObject;

        SharedAutoProjectile autoProjectile = (SharedAutoProjectile)_bt.GetVariable("autoProjectile");

        autoProjectile.Value = projectile;

        _bt.enabled = true;
    }
Пример #3
0
    //Damage the asteroid
    void OnTriggerEnter2D(Collider2D collider)
    {
        AutoProjectile autoLaser = collider.gameObject.GetComponent <AutoProjectile> ();

        if (autoLaser)
        {
            setHealth -= autoLaser.GetDamage();
            autoLaser.Hit();
            if (setHealth <= 0)
            {
                destroyAsteroid();
            }
        }
    }
    private void Shoot()
    {
        if (_currTarget == null)
        {
            return;
        }
        isAttack = true;
        _currTarget.GetComponent <DamagableEnemy>().IsAttacked = true;
        GameObject go = Instantiate(_autoProjectilePrefab);

        go.transform.position = _shootingPoint.position;
        AutoProjectile projectile = go.GetComponent <AutoProjectile>();

        projectile.Init(_projectileLayer, _projectileSpeed, _currTarget.transform);
    }
Пример #5
0
 public void Attack(bool fireArrow)
 {
     if(!_targetBallista)
         fireArrow = false;
     if(!fireArrow || !_targetBallista.gameObject.activeInHierarchy)
     {
         AutoProjectile projectile = Instantiate(_projectilePrefab);
         projectile.transform.position = _instantiatedBallista.transform.position;
         projectile.Fire(_target, _initialAngle);
     }
     else
     {
         AutoProjectile projectile = Instantiate(_fireArrowPrefab);
         projectile.transform.position = _instantiatedBallista.transform.position;
         projectile.Fire(_targetBallista, _initialAngle * 2);
     }
 }
Пример #6
0
 public override void SetValue(object value)
 {
     mValue = (AutoProjectile)value;
 }