Exemplo n.º 1
0
    ///////////////////////////////////////////////////////////
    // performs a highly customizable explosion impact on the
    // camera and current weapon
    ///////////////////////////////////////////////////////////
    public void DoBomb(Vector3 positionForce, float minRollForce, float maxRollForce,
                       Vector2 earthQuakeForce, float earthQuakeTime, float earthQuakeWeaponShakeFactor,
                       float earthQuakeCameraRollFactor, Vector3 weaponPositionForce,
                       Vector3 weaponRotationForce)
    {
        AddForce2(positionForce);

        float roll = Random.Range(minRollForce, maxRollForce);

        if (Random.value > 0.5f)
        {
            roll = -roll;
        }
        AddRollForce(roll);

        DoEarthQuake(earthQuakeForce.x, earthQuakeForce.y, earthQuakeTime,
                     earthQuakeWeaponShakeFactor, earthQuakeCameraRollFactor);

        CurrentWeapon.AddForce(weaponPositionForce, weaponRotationForce);
    }
Exemplo n.º 2
0
 ///////////////////////////////////////////////////////////
 // helper method to make the ground shake as if a large
 // dinosaur or mech is approaching. great for bosses!
 ///////////////////////////////////////////////////////////
 public void DoStomp(float force)
 {
     AddForce2(new Vector3(0.0f, -1.0f, 0.0f) * force);
     CurrentWeapon.AddForce(Vector3.zero, new Vector3(-0.25f, 0.0f, 0.0f) * force);
 }