private BoomerangBullet SpawnBullet() { BoomerangBullet boomerangBullet = null; PoolObjectType poolObjType = PoolObjectType.BoomerangProjectile; GameObject boomerangObject = ObjectPool.Instance.GetObject(poolObjType); if (boomerangObject) { boomerangBullet = boomerangObject.GetComponent <BoomerangBullet>(); if (boomerangBullet) { boomerangBullet.transform.position = bulletSpawnPoint.position; boomerangBullet.transform.forward = transform.forward; boomerangBullet.transform.rotation = Quaternion.Euler(0f, boomerangBullet.transform.rotation.eulerAngles.y, 0f); boomerangBullet.Initialize(boomerangSpeed, damage, timeUntilBoomerangDestroyed, rayDistanceMultiplier, raycastLayermask, maxDistance, maxBounces); if (wielderStats.gameObject.CompareTag(Strings.Tags.PLAYER)) { boomerangBullet.SetShooterType(false); } else { boomerangBullet.SetShooterType(true); } } } return(boomerangBullet); }
public virtual void Shoot(DamageData damageData) { Vector3 DirShoot = damageData.Direction; BoomerangBullet bull = pool.Spawn(id_bullet, PositionStartAttack, MathQ.DirectionToQuaternion(DirShoot)) as BoomerangBullet; SetUpDamageData(damageData); bull.StartUp(damageData); }
private BoomerangBullet Shoot() { SFXManager.Instance.Play(shootSFX, transform.position); PoolObjectType poolObjType = PoolObjectType.VFXBoomerangShoot; GameObject vfx = ObjectPool.Instance.GetObject(poolObjType); if (vfx) { vfx.transform.SetParent(transform); vfx.transform.position = bulletSpawnPoint.position; vfx.transform.rotation = transform.rotation; } BoomerangBullet bullet = SpawnBullet(); launcherAnimator.SetTrigger("Fire"); projectileAnimator.SetTrigger("Fire"); return(bullet); }
public override void FireBullet(Vector3 firePos, Vector3 fireDirection) { if (canFire() == false) { return; } FireDelayOn(); PlayFireAnim(); useBullet(); SoundManager.Instance.PlaySoundEffect("Boomerang"); if (loadObject != null) { GameObject makeObj = GameObject.Instantiate(loadObject, TemporaryObjects.Instance.transform); if (makeObj != null) { BoomerangBullet bounceBullet = makeObj.GetComponent <BoomerangBullet>(); bounceBullet.Initialize(firePos, fireDirection, damage); } } }