Exemple #1
0
    public override ProjectileInfo Clone()
    {
        GrenadeBulletInfo info = base.Clone() as GrenadeBulletInfo;

        info.OnHitVeclocityMultiplier = OnHitVeclocityMultiplier;
        info.HopUpFactor   = HopUpFactor;
        info.ExplosionInfo = ExplosionInfo;
        return(info);
    }
Exemple #2
0
 void ReinitProjectileStatistics()
 {
     _projectileStatistics = new Dictionary <ProjectileType, ProjectileInfo>();
     #region pistol
     {
         PistolBulletInfoBilder pistolBuilder = new PistolBulletInfoBilder();
         PistolBulletInfo       pistolInfo    = pistolBuilder
                                                .MakeNew()
                                                .SetType(ProjectileType.PistolBullet)
                                                .SetInitialSpeed(_avatarCardStatistics[CardStatistics.ProjectileSpeed])
                                                .SetCollisionLayer("Friendly Projectile")
                                                .SetDamage(_avatarCardStatistics[CardStatistics.Damage])
                                                .Create();
         SetProjectileInfo(ProjectileType.PistolBullet, pistolInfo);
     }
     #endregion
     #region grenade
     {
         GrenadeBulletInfoBuilder grenadeBuilder = new GrenadeBulletInfoBuilder();
         GrenadeBulletInfo        grenadeInfo    = grenadeBuilder
                                                   .MakeNew()
                                                   .SetType(ProjectileType.Grenade)
                                                   .SetInitialSpeed((float)_avatarCardStatistics[CardStatistics.BallisticProjectileSpeed] * 1.2f)
                                                   .SetCollisionLayer("Friendly Projectile")
                                                   .SetOnHitVeclocityMultiplier(new Vector2(0.6f, 1.0f))
                                                   .SetHopUpFactor(0.12f)
                                                   //.SetDamage(10) Tego nie uzywamy, to zalatwia ExplosionInfo
                                                   .SetExplosionInfo(new ExplosionInfo(
                                                                         (float)_avatarCardStatistics[CardStatistics.ExplosionRange] * 1.0f,
                                                                         ExplosionPropagationMethod.Square,
                                                                         //ExplosionPropagationMethod.Constant,
                                                                         (float)_avatarCardStatistics[CardStatistics.ExplosionForce] * 1.0f,
                                                                         (float)_avatarCardStatistics[CardStatistics.Damage] * 1.5f,
                                                                         InGameTag.FriendlyExplosion
                                                                         ))
                                                   .Create();
         SetProjectileInfo(ProjectileType.Grenade, grenadeInfo);
     }
     #endregion
     #region shotgun
     {
         ShotgunBulletInfoBilder shotgunBuilder = new ShotgunBulletInfoBilder();
         ShotgunBulletInfo       shotgunInfo    = shotgunBuilder
                                                  .MakeNew()
                                                  .SetType(ProjectileType.ShotgunPellet)
                                                  .SetInitialSpeed((float)_avatarCardStatistics[CardStatistics.ProjectileSpeed] * 1.4f)
                                                  .SetCollisionLayer("Friendly Projectile")
                                                  .SetDamage(Mathf.FloorToInt((float)_avatarCardStatistics[CardStatistics.Damage] / 4.0f))
                                                  .Create();
         SetProjectileInfo(ProjectileType.ShotgunPellet, shotgunInfo);
     }
     #endregion
 }