Beispiel #1
0
    public void Hide()
    {
        if (fromWeapon != null && string.IsNullOrEmpty(fromWeapon.WeaponSoundModel.ImpactSound) == false)
        {
            FMODUtil.PlayOnPosition(fromWeapon.WeaponSoundModel.ImpactSound, transform.position);
        }

        if (inAirLoop.isValid() == true)
        {
            inAirLoop.stop(FMOD.Studio.STOP_MODE.ALLOWFADEOUT);
            inAirLoop.release();
        }

        owningPlayer = -1;
        gameObject.SetActive(false);
        if (ignoringCollider)
        {
            Physics2D.IgnoreCollision(ignoringCollider, OwnCollider, false);
        }
        ignoringCollider = null;
    }
Beispiel #2
0
    public override void OnStartClient()
    {
        if (isServer)
        {
            return;
        }
        ShooterHealth         = shooterObject.GetComponent <Health>();
        SpriteRenderer.sprite = fromWeapon.BulletInfo.Sprite;

        if (fromWeapon != null && string.IsNullOrEmpty(fromWeapon.WeaponSoundModel.InAirLoop) == false)
        {
            inAirLoop = RuntimeManager.CreateInstance(fromWeapon.WeaponSoundModel.InAirLoop);
            inAirLoop.set3DAttributes(RuntimeUtils.To3DAttributes(transform));
            inAirLoop.start();
            FMODUtil.PlayOnPosition(fromWeapon.WeaponSoundModel.ImpactSound, transform.position);
        }

        gameObject.layer = layer;
        if (Player.LocalPlayer?.playerId == owningPlayer)
        {
            gameObject.SetActive(false);
        }
        else
        {
            /*
             * Debug.Log(velocity);
             * Body.velocity = velocity;
             */
            /*
             * Ssm.setPosition(transform.position, true);
             * StateMirror stateMirror = new StateMirror();
             * stateMirror.copyFromSmoothSync(Ssm);
             * stateMirror.velocity = velocity;
             * Debug.Log(Ssm.stateCount);
             * Ssm.addState(stateMirror);
             */
        }
    }
 public override void OnBulletImpacted(Vector3 position, Health inflicter, bool hitHealth)
 {
     FMODUtil.PlayOnPosition(fmodEvent, position);
 }