48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
[RequireComponent(typeof(AudioSource))]
|
|
public class TutorialController : MonoBehaviour {
|
|
public KeyCode ToggleKey;
|
|
public bool Toggled = true;
|
|
public float AnimationLerpFactor = 10f;
|
|
public AudioClip[] OpenClips;
|
|
public AudioClip[] CloseClips;
|
|
|
|
private RectTransform Rect;
|
|
private AudioSource Audio;
|
|
|
|
private void Awake() {
|
|
Rect = GetComponent<RectTransform>();
|
|
Audio = GetComponent<AudioSource>();
|
|
}
|
|
|
|
private void Start() {
|
|
Rect.anchoredPosition = new Vector2(-100, -100);
|
|
}
|
|
|
|
private void Update() {
|
|
if (Input.GetKeyDown(ToggleKey)) {
|
|
Toggled = !Toggled;
|
|
if (Toggled) {
|
|
Audio.PlayOneShot(GetRandomClip(OpenClips));
|
|
} else {
|
|
Audio.PlayOneShot(GetRandomClip(CloseClips));
|
|
}
|
|
}
|
|
|
|
Vector2 Pos = Rect.anchoredPosition;
|
|
Pos.y = Mathf.Lerp(Pos.y, Toggled ? -100 : (Rect.rect.height + 10), AnimationLerpFactor * Time.deltaTime);
|
|
Rect.anchoredPosition = Pos;
|
|
}
|
|
|
|
private AudioClip GetRandomClip(AudioClip[] clips) {
|
|
if (clips.Length > 0) {
|
|
return clips[Random.Range(0, clips.Length)];
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
}
|