public virtual void freeze(float dur) { FreezeTime = Time.time + dur; if (Frozen) { return; } Frozen = true; foreach (Animator anim in this.GetComponentsInChildren <Animator>()) { anim.enabled = false; //May not apply to all animators } Am.am.sound(Am.am.M.chooseSound(Am.am.M.FreezeSound1, Am.am.M.FreezeSound2, Am.am.M.FreezeSound3, Am.am.M.FreezeSound4)); //FreezeSprite.enabled = true; rbodtype = MyRigidbody.bodyType; usedgrav = this.MyRigidbody.gravityScale; if (rbodtype == RigidbodyType2D.Dynamic) { MyRigidbody.bodyType = RigidbodyType2D.Dynamic; } this.MyRigidbody.velocity = new Vector2(0f, 0f); this.MyRigidbody.gravityScale = 1f; MyFreezeFlare.Play(true); MyFreezeDust.Play(true); MyFreezeSparkles.Play(true); }
public void unfreeze() { if (!Frozen) { return; } foreach (Animator anim in this.GetComponentsInChildren <Animator>()) { anim.enabled = true; //May not apply to all animators } usedgrav = this.MyRigidbody.gravityScale = usedgrav; Frozen = false; MyFreezeDust.Stop(true); if (FreezeSprite != null) { FreezeSprite.enabled = false; } MyRigidbody.bodyType = rbodtype; }