Пример #1
0
        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);
Пример #3
0
        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);
        }
Пример #4
0
        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);
                }
            }
        }
Пример #5
0
        public void ShootEmitter()
        {
            CastProjectileMessage.SendToAll(gameObject, projectilePrefab, directional.CurrentDirection.Vector, default);

            SoundManager.PlayNetworkedAtPos(sound, registerTile.WorldPositionServer);
        }