Пример #1
0
 private void OnPull(NetStream stream)
 {
     if (sound != null)
     {
         sound.PlayOneShot();
     }
 }
Пример #2
0
    public void Shatter(float impact, Vector3 pos)
    {
        float num = impact / unityImpact;

        if (num > compressTreshold)
        {
            num = (num - compressTreshold) / compressRatio + compressTreshold;
        }
        if (num > limitTreshold)
        {
            num = limitTreshold;
        }
        if (shatter != null)
        {
            shatter.PlayOneShot(pos, num);
        }
        if (audioShatter != null)
        {
            if (showDebug)
            {
                Debug.Log(base.name + " Audio Shatter Playing ");
            }
            audioShatter.Play();
        }
    }
Пример #3
0
    public override void Process()
    {
        base.Process();
        bool flag = Mathf.Abs(input.value) >= threshold;

        if (flag == isOn)
        {
            return;
        }
        isOn = flag;
        if (isOn)
        {
            remainingBurstTime = burstDuration;
            if (whistleSound != null)
            {
                whistleSound.PlayOneShot();
            }
        }
        if (hissSound != null)
        {
            if (isOn && !hissSound.isPlaying)
            {
                hissSound.Play(forceLoop: true);
            }
            if (!isOn && hissSound.isPlaying)
            {
                hissSound.Stop();
            }
        }
    }
Пример #4
0
 internal void Hide()
 {
     isVisible = false;
     offSound.PlayOneShot();
     inTransition    = true;
     transitionSpeed = -2f;
 }
Пример #5
0
    private void Apply(FireworkState newState, float newPhase, bool manageLifetime = false)
    {
        life = newPhase;
        if (newState != state)
        {
            state = newState;
            if (state == FireworkState.Shot)
            {
                visual.SetActive(value: true);
                flyParticles.enableEmission = true;
                light.range = 5f;
                if (life <= 0.5f)
                {
                    shootSound.PlayOneShot(Fireworks.instance.transform.position);
                }
            }
            else if (state == FireworkState.Exploded)
            {
                visual.SetActive(value: false);
                flyParticles.enableEmission = false;
                if (life <= 0.5f)
                {
                    explodeParticles.Emit(128);
                    explodeSound.PlayOneShot(base.transform.position);
                }
            }
        }
        float num = (state != FireworkState.Exploded) ? 5f : Mathf.Lerp(50f, 0f, life * 10f);

        if (light.range != num)
        {
            light.range = num;
        }
    }
Пример #6
0
 internal void Show()
 {
     isVisible = true;
     base.gameObject.SetActive(value: true);
     rect.localScale = new Vector3(0f, 1f, 1f);
     inTransition    = true;
     transitionSpeed = 2f;
     onSound.PlayOneShot();
 }
Пример #7
0
 private void HandGrab(bool left)
 {
     grab.PlayOneShot((!left) ? rightHand.position : leftHand.position, Random.Range(0.5f, 1.5f), Random.Range(0.95f, 1.05f));
     if (NetGame.isServer || ReplayRecorder.isRecording)
     {
         NetStream netStream = identity.BeginEvent(evtHandGrab);
         netStream.Write(left);
         identity.EndEvent();
     }
 }
Пример #8
0
    protected override void UpdateLimitJoint()
    {
        if (release != oldRelease)
        {
            oldRelease = release;
            if (limitJoint != null)
            {
                UnityEngine.Object.Destroy(limitJoint);
            }
            if (!release)
            {
                currentTooth = Mathf.FloorToInt(Mathf.Clamp(GetValue(), minValue, maxValue) / toothDegrees);
            }
            oldRelease = release;
        }
        if (release)
        {
            base.UpdateLimitJoint();
            return;
        }
        float value = GetValue();
        int   num   = Mathf.FloorToInt(Mathf.Clamp(value, minValue, maxValue) / toothDegrees);

        if (num > currentTooth)
        {
            currentTooth = num;
            if (sound != null)
            {
                sound.PlayOneShot();
            }
            if (limitJoint != null)
            {
                UnityEngine.Object.Destroy(limitJoint);
            }
        }
        else if ((ReplayRecorder.isPlaying || NetGame.isClient) && num != currentTooth)
        {
            currentTooth = num;
            if (limitJoint != null)
            {
                UnityEngine.Object.Destroy(limitJoint);
            }
        }
        if (limitJoint == null)
        {
            float num2 = (float)num * toothDegrees;
            float num3 = num2 + 2f * toothDegrees;
            if (num3 > maxValue)
            {
                num3 = maxValue;
            }
            limitJoint = CreateLimitJoint(num2 - value, num3 - value);
        }
        limitUpdateValue = value;
    }
Пример #9
0
    private void SignalChanged(float val)
    {
        if (triggerSignal.boolValue == isOn)
        {
            return;
        }
        isOn = triggerSignal.boolValue;
        float time = Time.time;

        if (lastSoundTime + minDelay > time)
        {
            return;
        }
        if (isOn && (onClip != null || onSound != null))
        {
            if (onSound != null)
            {
                onSound.PlayOneShot();
            }
            else
            {
                GetComponent <AudioSource>().PlayOneShot(onClip, onVolume);
            }
            lastSoundTime = time;
        }
        else if (playOnOff && !isOn && (offClip != null || onClip != null || offSound != null || onSound != null))
        {
            if (offSound != null)
            {
                offSound.PlayOneShot();
            }
            else if (onSound != null)
            {
                onSound.PlayOneShot();
            }
            else
            {
                GetComponent <AudioSource>().PlayOneShot((!(offClip != null)) ? onClip : offClip, offVolume);
            }
            lastSoundTime = time;
        }
    }
Пример #10
0
 internal void Hide()
 {
     pendingPlay = -1f;
     if (!(playingScreen != this))
     {
         isVisible = false;
         offSound.PlayOneShot();
         inTransition    = true;
         transitionSpeed = -2f;
         MusicManager.instance.Resume();
         StopXBAudio();
         RemoveSubtitles();
     }
 }
Пример #11
0
 private void UpdateWind()
 {
     if (!GrabManager.IsGrabbedAny(windlass.gameObject))
     {
         if (timeReleased > 1f)
         {
             SetState(CatapultState.Idle);
             return;
         }
         timeReleased += Time.fixedDeltaTime;
     }
     else
     {
         timeReleased = 0f;
     }
     if (armed)
     {
         WriteWindlass();
         WriteArm();
         return;
     }
     ReadWindlass();
     if (windlassAngle < bottomWindlassAngle)
     {
         SetArmed(value: true);
         ratchetSound.PlayOneShot();
     }
     else if (windlassAngle < currentTooth - toothStep)
     {
         float pitch = 0.5f + 0.5f * Mathf.InverseLerp(topWindlassAngle, bottomWindlassAngle, windlassAngle);
         ratchetSound.PlayOneShot(1f, pitch);
         currentTooth -= toothStep;
     }
     WriteArm();
     PullBackWindlass();
     PullDownTrigger();
 }
Пример #12
0
 private void SignalChanged(float value)
 {
     if (base.enabled && value > treshold)
     {
         CGShift component = jointToBreak.GetComponent <CGShift>();
         if (component != null)
         {
             component.ResetCG();
         }
         Object.Destroy(jointToBreak);
         base.enabled = false;
         if (sound != null)
         {
             sound.PlayOneShot();
         }
     }
 }
Пример #13
0
 internal void Show()
 {
     if (playingScreen != null || isVisible || inTransition)
     {
         pendingPlay = 1f;
         return;
     }
     pendingPlay     = -1f;
     isVisible       = true;
     playingScreen   = this;
     inTransition    = true;
     transitionSpeed = 0.8f;
     MusicManager.instance.Pause();
     onSound.PlayOneShot();
     lockedVOAndSubtitles = true;
     currentLine          = null;
     SubtitleManager.instance.ClearSubtitle();
 }
Пример #14
0
    public void Crack(float impact, Vector3 pos)
    {
        float num = impact / unityImpact;

        if (num > compressTreshold)
        {
            num = (num - compressTreshold) / compressRatio + compressTreshold;
        }
        if (crack != null)
        {
            crack.PlayOneShot(pos, num);
        }
        if (audioCrack != null)
        {
            if (showDebug)
            {
                Debug.Log(base.name + " Audio Crack Playing ");
            }
            SignalScriptNode1 component = GetComponent <SignalScriptNode1>();
            component.sendSignal.value = 1f;
        }
    }
Пример #15
0
 private void UpdateTrigger()
 {
     if (!GrabManager.IsGrabbedAny(release.gameObject))
     {
         SetState(CatapultState.Idle);
     }
     else
     {
         if (!(release.angle < -5f))
         {
             return;
         }
         shoot = true;
         speed = 0f;
         for (int i = 0; i < Human.all.Count; i++)
         {
             Human human = Human.all[i];
             bool  flag  = human.groundManager.IsStanding(arm.gameObject);
             if (human.ragdoll.partLeftHand.sensor.grabBody == release.GetComponent <Rigidbody>() && (flag || human.ragdoll.partRightHand.sensor.grabBody == arm.GetComponent <Rigidbody>()))
             {
                 human.ragdoll.partLeftHand.sensor.ReleaseGrab(1f);
             }
             if (human.ragdoll.partRightHand.sensor.grabBody == release.GetComponent <Rigidbody>() && (flag || human.ragdoll.partLeftHand.sensor.grabBody == arm.GetComponent <Rigidbody>()))
             {
                 human.ragdoll.partRightHand.sensor.ReleaseGrab(1f);
             }
             human.ragdoll.ToggleHeavyArms(human.ragdoll.partLeftHand.sensor.grabBody == arm.GetComponent <Rigidbody>(), human.ragdoll.partRightHand.sensor.grabBody == arm.GetComponent <Rigidbody>());
             if (flag)
             {
                 StatsAndAchievements.UnlockAchievement(Achievement.ACH_SIEGE_HUMAN_CANNON);
             }
         }
         SetState(CatapultState.Fire);
         releaseSound.PlayOneShot();
     }
 }
Пример #16
0
    public void FixedUpdate()
    {
        if (ReplayRecorder.isPlaying || NetGame.isClient)
        {
            return;
        }
        bool flag  = GrabManager.IsGrabbedAny(release.body.gameObject);
        bool flag2 = GrabManager.IsGrabbedAny(ratchet.body.gameObject);

        if (!firing && flag && !flag2 && release.GetValue() > release.centerValue && catapultAngle < arm.maxValue - 10f)
        {
            hasHuman = false;
            for (int i = 0; i < Human.all.Count; i++)
            {
                Human human = Human.all[i];
                bool  flag3 = human.groundManager.IsStanding(arm.body.gameObject);
                bool  flag4 = human.grabManager.IsGrabbed(arm.body.gameObject);
                if (flag3 || flag4)
                {
                    human.ReleaseGrab(release.body.gameObject);
                    hasHuman = true;
                    human.ragdoll.ToggleHeavyArms(human.ragdoll.partLeftHand.sensor.grabBody == arm.body.GetComponent <Rigidbody>(), human.ragdoll.partRightHand.sensor.grabBody == arm.body.GetComponent <Rigidbody>());
                }
                if (flag3)
                {
                    StatsAndAchievements.UnlockAchievement(Achievement.ACH_SIEGE_HUMAN_CANNON);
                }
            }
            firing    = true;
            fireTime  = 0f;
            fireStart = catapultAngle;
            if (releaseSound != null)
            {
                releaseSound.PlayOneShot();
            }
            ratchet.release = true;
            release.SetTarget(release.maxValue);
        }
        if (firing && catapultAngle == arm.maxValue)
        {
            firing = false;
            arm.anchor.GetComponent <Rigidbody>().isKinematic = false;
            ratchet.release = false;
            release.SetTarget(release.minValue);
            releaseArmIn = 0.12f;
        }
        if (releaseArmIn > 0f)
        {
            releaseArmIn -= Time.fixedDeltaTime;
            if (releaseArmIn <= 0f)
            {
                for (int j = 0; j < Human.all.Count; j++)
                {
                    Human human2 = Human.all[j];
                    human2.ReleaseGrab(arm.body.gameObject, 0.1f);
                    human2.ragdoll.ReleaseHeavyArms();
                }
            }
        }
        if (firing)
        {
            fireTime     += Time.fixedDeltaTime;
            catapultAngle = Mathf.Clamp(fireStart + initialAcceleration * fireTime * fireTime / 2f + accelerationAcceleration * fireTime * fireTime * fireTime / 3f, arm.minValue, arm.maxValue);
            arm.SetTarget(catapultAngle);
            ratchet.SetValue(Mathf.Lerp(ratchet.minValue, ratchet.maxValue, Mathf.InverseLerp(arm.maxValue, arm.minValue, catapultAngle)));
        }
        else
        {
            catapultAngle = Mathf.Lerp(arm.maxValue, arm.minValue, Mathf.InverseLerp(ratchet.minValue, ratchet.maxValue, ratchet.GetValue()));
            arm.SetTarget(catapultAngle);
        }
        float num = 1f;

        if (firing)
        {
            num = ((!hasHuman) ? 1.5f : 2f);
        }
        else if (GrabManager.IsGrabbedAny(base.gameObject) && !flag && !flag2)
        {
            num = 0.2f;
        }
        Rigidbody component  = GetComponent <Rigidbody>();
        Rigidbody component2 = arm.body.GetComponent <Rigidbody>();

        if (component.mass != num * initialMass)
        {
            component.mass  = num * initialMass;
            component2.mass = num * armMass;
        }
    }
Пример #17
0
 private void OnBeep(NetStream stream)
 {
     sound.PlayOneShot();
 }
Пример #18
0
 public void PlaySound(Vector3 pos)
 {
     sound.PlayOneShot(pos);
 }