// Update is called once per frame void Update() { switch (currentState) { case (coverState.Open): break; case (coverState.Closing): openAmount -= Time.deltaTime / openTime; if (openAmount <= 0) { openAmount = 0; currentState = coverState.Closed; } RotateCovers(); break; case (coverState.Closed): break; case (coverState.Opening): openAmount += Time.deltaTime / openTime; if (openAmount >= 1) { openAmount = 1; currentState = coverState.Open; } RotateCovers(); break; } }
// Use this for initialization void Start() { audioSource = GetComponent <AudioSource>(); openAmount = 0; _covers = new Cover[covers.Length]; currentState = coverState.Closed; for (int c = 0; c < covers.Length; c++) { _covers[c] = new Cover(); _covers[c].transform = covers[c]; _covers[c].closedRot = covers[c].transform.rotation; _covers[c].transform.Rotate(172, 0, 0); _covers[c].openRot = covers[c].transform.rotation; _covers[c].transform.Rotate(-172, 0, 0); } //Open(); }
public void Close() { currentState = coverState.Closing; audioSource.Play(); }
public void Open() { currentState = coverState.Opening; audioSource.Play(); }