public void OpenPanel(WindowPanel backButtonPanel, SlideDiretion dir = SlideDiretion.Left) { slideDirection = dir; SetState(false, true); backButtonPanel.slideDirection = dir; backButtonPanel.SetState(true, true); }
public void BackButton(WindowPanel backButtonPanel, SlideDiretion dir = SlideDiretion.Left) { if (GUILayout.Button("◄", GUILayout.Width(60), GUILayout.Height(35))) { slideDirection = dir; SetState(false, true); backButtonPanel.slideDirection = dir; backButtonPanel.SetState(true, true); } }
void HandleOrigin() { float percent = Mathf.Clamp01((Time.realtimeSinceStartup - slideStart) / slideDuration); Vector2 size = GetSize(); SlideDiretion dir = openDirection; if (goingBack) { dir = closeDirection; } if (open) { switch (dir) { case SlideDiretion.Left: origin.x = Mathf.SmoothStep(size.x, 0f, percent); origin.y = 0f; break; case SlideDiretion.Right: origin.x = Mathf.SmoothStep(-size.x, 0f, percent); origin.y = 0f; break; case SlideDiretion.Up: origin.x = 0f; origin.y = Mathf.SmoothStep(size.y, 0f, percent); break; case SlideDiretion.Down: origin.x = 0f; origin.y = Mathf.SmoothStep(-size.y, 0f, percent); break; } } else { switch (dir) { case SlideDiretion.Left: origin.x = Mathf.SmoothStep(0f, -size.x, percent); origin.y = 0f; break; case SlideDiretion.Right: origin.x = Mathf.SmoothStep(0f, size.x, percent); origin.y = 0f; break; case SlideDiretion.Up: origin.x = 0f; origin.y = Mathf.SmoothStep(0f, -size.y, percent); break; case SlideDiretion.Down: origin.x = 0f; origin.y = Mathf.SmoothStep(0f, -size.y, percent); break; } } }