public override void SetCurrentDirection(EDirection dir) { switch (dir) { case EDirection.Left: CurrentDirection.x = -1; bShouldInvertX = true; if (currentCorpse != null) { CharacterAnimator.SetAnimation(EAnimation.Drag, bShouldInvertX, false); currentCorpse.GetComponent <SpriteRenderer>().flipX = bShouldInvertX; currentCorpse.transform.localPosition = CorpseMarkerInvert.transform.localPosition; AudioManager.Instance.SourceBodyDrag.mute = false; } else { CharacterAnimator.SetAnimation(EAnimation.Move, bShouldInvertX, false); AudioManager.Instance.SourceBodyDrag.mute = true; } break; case EDirection.Right: CurrentDirection.x = 1; bShouldInvertX = false; if (currentCorpse != null) { CharacterAnimator.SetAnimation(EAnimation.Drag, bShouldInvertX, false); currentCorpse.GetComponent <SpriteRenderer>().flipX = bShouldInvertX; currentCorpse.transform.localPosition = CorpseMarker.transform.localPosition; AudioManager.Instance.SourceBodyDrag.mute = false; } else { CharacterAnimator.SetAnimation(EAnimation.Move, bShouldInvertX, false); AudioManager.Instance.SourceBodyDrag.mute = true; } break; case EDirection.Up: break; case EDirection.Down: break; case EDirection.Neutral: CharacterAnimator.SetAnimation(EAnimation.Idle, bShouldInvertX, false); CurrentDirection.x = 0; AudioManager.Instance.SourceBodyDrag.mute = true; break; } }
private void FinishCorpseRevival (Corpse collectedCorpse){ WorldObject wo = collectedCorpse.GetComponent<WorldObject>(); if (wo){ wo.ReviveWO(); } }