示例#1
0
 /// <summary>
 /// Called when a bullet was fired.
 /// </summary>
 public void OnFiredSingleShot()
 {
     --remainingBullets;
     NetworkWeaponAnimator.OnSingleShotFired();
     FMODUtil.PlayOnTransform(weapon.WeaponSoundModel.ShootSound, transform);
     BulletCountChanged?.Invoke(remainingBullets);
 }
示例#2
0
 public void RpcOnRevived()
 {
     player.Collider2D.isTrigger = false;
     player.gameObject.layer     = LayerDict.Instance.GetPlayerLayer();
     FMODUtil.PlayOnTransform(reviveSound, transform);
     OnRevived?.Invoke();
 }
示例#3
0
    private IEnumerator Dash()
    {
        FMODUtil.PlayOnTransform(dashSound, transform);
        Dashing = true;
        yield return(new WaitForSeconds(dashDuration));

        Dashing   = false;
        dashTimer = dashCooldown;
    }
示例#4
0
 private void RpcOnDied()
 {
     OnDied?.Invoke();
     FMODUtil.PlayOnTransform(diedSound, transform);
     if (!isServer)
     {
         GetComponent <IDieable>().Die();
     }
 }
示例#5
0
 /// <summary>
 /// Called when the weapon has reloaded.
 /// </summary>
 public void OnReloaded()
 {
     remainingBullets = weapon.MagazineSize;
     NetworkWeaponAnimator.OnStoppedReload();
     if (isLocalPlayer)
     {
         FMODUtil.PlayOnTransform(weapon.WeaponSoundModel.ReloadSound, transform);
     }
     BulletCountChanged?.Invoke(remainingBullets);
 }
示例#6
0
    /// <summary>
    /// Called when the current health amount changed.
    /// </summary>
    /// <param name="prevHealth">The previous health amount.</param>
    /// <param name="currentHealth">The current health amount.</param>
    private void OnCurrentChanged(int prevHealth, int currentHealth)
    {
        CurrentChanged?.Invoke(prevHealth, currentHealth);
        CurrentChangedAsPercentage?.Invoke((float)currentHealth / (float)max);

        if (prevHealth > currentHealth)
        {
            FMODUtil.PlayOnTransform(hitSound, transform);
        }
    }
示例#7
0
    private void RpcItemPickedUp(Pickable pickable)
    {
        switch (pickable.PickableType)
        {
        case PickableType.Consumable:
        case PickableType.Item:
            FMODUtil.PlayOnTransform(itemPickUpSound, transform);
            break;

        case PickableType.Weapon:
            FMODUtil.PlayOnTransform(((Weapon)pickable).WeaponSoundModel.EquipSound, transform);
            break;
        }
    }
示例#8
0
 private IEnumerator WeaponCanNotShoot(string eventName)
 {
     FMODUtil.PlayOnTransform(eventName, transform);
     yield return(new WaitForSeconds(0.5f));
 }