Example #1
0
        /// <inheritdoc />
        public IProjectile SpawnProjectile(ProjectileType projectileType, Vector3 position, Quaternion initRotation, IPlayer player, Vector3 movement)
        {
            var newProjectile = projectileType.ShootProjectile(GetNewID(entities), this, player, position, initRotation, movement);

            if (newProjectile != null)
            {
                RegisterEntity(newProjectile);
                projectiles.Add(newProjectile.ID, newProjectile);
            }

            return(newProjectile);
        }
Example #2
0
        /// <inheritdoc />
        public IProjectile SpawnProjectile(ProjectileType projectileType, Vector3 position, Quaternion initRotation, IPlayer player, IRangeTarget target)
        {
            IProjectile newProjectile;

            try {
                newProjectile = projectileType.ShootProjectile(GetNewID(entities), this, player, position, initRotation, target);
            }
            catch (CreationException) {
                return(null);
            }
            //Could not spawn projectile, maybe out of range
            if (newProjectile == null)
            {
                return(null);
            }


            RegisterEntity(newProjectile);
            projectiles.Add(newProjectile.ID, newProjectile);

            return(newProjectile);
        }