public override bool CastSpellServer(ConnectedPlayer caster, Vector3 clickPosition) { Vector3Int casterWorldPos = caster.Script.WorldPos; Vector2 castVector = clickPosition - casterWorldPos; CastProjectileMessage.SendToAll(caster.GameObject, projectilePrefab, castVector, default); return(true); }
private void ShootAtDirection(Vector2 rotationToShoot, OnHitDetectData data) { var range = -1f; if (data.BulletObject.TryGetComponent <ProjectileRangeLimited>(out var rangeLimited)) { range = rangeLimited.CurrentDistance; } CastProjectileMessage.SendToAll(gameObject, data.BulletObject.GetComponent <Bullet>().PrefabName, rotationToShoot, default, range);
private void ShootAtDirection(Vector2 rotationToShoot) { if (hasPower == false || turretState == TurretState.Off) { return; } SoundManager.PlayNetworkedAtPos(bulletSound, registerTile.WorldPosition, sourceObj: gameObject); CastProjectileMessage.SendToAll(gameObject, bulletName, rotationToShoot, default); }
private void ShootParticleAccelerator() { var damageIntegrity = particleAcceleratorBulletPrefab.GetComponent <ProjectileDamageIntegrity>(); damageData.SetDamage(10 * ((int)CurrentState - 3)); damageIntegrity.damageData = damageData; foreach (var connectedPart in connectedParts) { if (connectedPart.ShootsBullet) { CastProjectileMessage.SendToAll(connectedPart.gameObject, particleAcceleratorBulletPrefab, orientation.Vector, default); } } }
public void ShootEmitter() { CastProjectileMessage.SendToAll(gameObject, projectilePrefab, directional.CurrentDirection.Vector, default); SoundManager.PlayNetworkedAtPos(sound, registerTile.WorldPositionServer); }