Esempio n. 1
0
        public static ProjectileModule AddProjectileModuleToRawVolleyFrom(this Gun gun, Gun other, bool cloned = true, bool clonedProjectiles = true)
        {
            ProjectileModule defaultModule = other.DefaultModule;

            if (!cloned)
            {
                return(gun.AddProjectileModuleToRawVolley(defaultModule));
            }
            ProjectileModule projectileModule = ProjectileModule.CreateClone(defaultModule, false, -1);

            projectileModule.projectiles = new List <Projectile>(defaultModule.projectiles.Capacity);
            for (int i = 0; i < defaultModule.projectiles.Count; i++)
            {
                projectileModule.projectiles.Add((!clonedProjectiles) ? defaultModule.projectiles[i] : defaultModule.projectiles[i].ClonedPrefab());
            }
            return(gun.AddProjectileModuleToRawVolley(projectileModule));
        }