Ejemplo n.º 1
0
    private void OnProjectileDestroyed(ProjectilePipelineParameters param)
    {
        var velocity     = param.projectile.Velocity;
        var baseRotation = velocity.Rotation();
        var spawnPos     = param.projectile.Position + Vector2.ClampMagnitude(velocity, Constants.COLLISION_CORRECTION_EPS);
        var spawnParam   = new ProjectileSpawnParameters(spawnPos, baseRotation, velocity.magnitude, _settings.ttl, param.inheritableModules, param.inheritableModules, param.projectile.IsDummy);

        _factory.Create(spawnParam);
        spawnParam.rotation = baseRotation + _settings.spreadAngle;
        _factory.Create(spawnParam);
        spawnParam.rotation = baseRotation - _settings.spreadAngle;
        _factory.Create(spawnParam);
    }
Ejemplo n.º 2
0
 private void StopTimer(ProjectilePipelineParameters parameters)
 {
     UnsubscribeLoop();
 }
Ejemplo n.º 3
0
 private void StartTimer(ProjectilePipelineParameters parameters)
 {
     FixedTravelTime = 0.0f;
     SubscribeLoop();
 }