Skip to content

Instantly share code, notes, and snippets.

@Ddemon26
Created August 24, 2024 01:22
Show Gist options
  • Select an option

  • Save Ddemon26/34b21fa001d8008b4640def81a06721c to your computer and use it in GitHub Desktop.

Select an option

Save Ddemon26/34b21fa001d8008b4640def81a06721c to your computer and use it in GitHub Desktop.
using DG.Tweening;
using UnityEngine;
namespace TC._Project.Scripts.Utilities
{
public class MenuAnimator {
readonly RectTransform m_menu;
readonly float m_menuMoveSpeed;
readonly Vector3 m_originalPosition;
readonly Direction m_direction;
const float MOVE_TO_POSITION = -2000;
public MenuAnimator(
RectTransform menu,
float moveSpeed = 1.0f,
Direction direction = Direction.Down) {
m_originalPosition = menu.anchoredPosition;
m_menu = menu;
m_menuMoveSpeed = moveSpeed;
m_direction = direction;
}
public void ToggleMenu(bool show)
=> m_menu.DOAnchorPos(show ? m_originalPosition
: GetMoveToPosition(m_direction), m_menuMoveSpeed);
static Vector3 GetMoveToPosition(Direction direction = Direction.Down) {
return direction switch {
Direction.Up => new Vector3(0, MOVE_TO_POSITION, 0),
Direction.Down => new Vector3(0, -MOVE_TO_POSITION, 0),
Direction.Left => new Vector3(-MOVE_TO_POSITION, 0, 0),
Direction.Right => new Vector3(MOVE_TO_POSITION, 0, 0),
_ => Vector3.zero
};
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment