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); }
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; }
//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); }
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); } }
public override void SetValue(object value) { mValue = (AutoProjectile)value; }