void UpdateDirection() { Vector3 direction; if (m_MovementModel.IsDead()) { Animator.SetFloat("DirectionX", 0); Animator.SetFloat("DirectionY", -1); Animator.SetBool("IsMoving", false); return; } if (m_MovementModel.IsPushing()) { direction = m_MovementModel.GetPushingDirection(); } else { direction = m_MovementModel.GetDirection(); } if (direction != Vector3.zero) { if (direction.x > 0 && direction.y == 0) { Animator.SetFloat("DirectionX", 1); Animator.SetFloat("DirectionY", 0); } else if (direction.x < 0 && direction.y == 0) { Animator.SetFloat("DirectionX", -1); Animator.SetFloat("DirectionY", 0); } else if (direction.x == 0 && direction.y > 0) { Animator.SetFloat("DirectionX", 0); Animator.SetFloat("DirectionY", 1); } else if (direction.x == 0 && direction.y < 0) { Animator.SetFloat("DirectionX", 0); Animator.SetFloat("DirectionY", -1); } else if ((direction.x > 0 && direction.y > 0) || (direction.x > 0 && direction.y < 0)) { Animator.SetFloat("DirectionX", 1); Animator.SetFloat("DirectionY", 0); } else if ((direction.x < 0 && direction.y > 0) || (direction.x < 0 && direction.y < 0)) { Animator.SetFloat("DirectionX", -1); Animator.SetFloat("DirectionY", 0); } } Animator.SetBool("IsMoving", m_MovementModel.IsMoving()); }
void CheckMoveBackToPlayer() { if (movementModel.GetCameraDirection() != Vector2.zero) { resetCamera = false; } if (resetCamera) { transform.position = Vector2.MoveTowards((Vector2)transform.position, (Vector2)movementModel.gameObject.transform.position, Time.deltaTime * 5f); if ((Vector2)transform.position == (Vector2)movementModel.gameObject.transform.position) { resetCamera = false; if (movementModel.IsDead()) { movementModel.GetComponentInChildren <SpriteRenderer>().enabled = true; movementModel.SetIsDead(false); } } } }