]> git.lizzy.rs Git - SuperMouseAdventure.git/blob - 2DGame/Assets/Scripts/Level_Elements/Lock.cs
key collecting v0.2
[SuperMouseAdventure.git] / 2DGame / Assets / Scripts / Level_Elements / Lock.cs
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4 using UnityEngine.SceneManagement;
5
6 public class Lock : MonoBehaviour
7 {
8     private KeyHolder keyHolder;
9
10     public SpriteRenderer spriteRenderer;
11     public Sprite unlockedLockSprite;
12
13     public bool doorOpen, waitingToOpen;
14
15     public bool isDoor;
16
17     // Start is called before the first frame update
18     void Start()
19     {
20         keyHolder = FindObjectOfType<KeyHolder>();
21     }
22
23     // Update is called once per frame
24     void Update()
25     {
26         if(waitingToOpen)
27         {
28             if(Vector3.Distance(keyHolder.followingKey.transform.position, transform.position) < 0.1f)
29             {
30                 waitingToOpen = false;
31
32                 doorOpen = true;
33
34                 //spriteRenderer.sprite = unlockedLockSprite;
35
36                 keyHolder.followingKey.gameObject.SetActive(false);
37                 keyHolder.followingKey = null;
38
39                 gameObject.SetActive(false);
40             }
41         }
42
43         if(isDoor)
44         {
45             if (doorOpen && Vector3.Distance(keyHolder.transform.position, transform.position) < 1f && Input.GetAxis("Vertical") > 0.1f)
46             {
47                 SceneManager.LoadScene(0);
48             }
49         }
50     }
51
52     private void OnTriggerEnter2D(Collider2D collision)
53     {
54         if(collision.tag == "Player")
55         {
56             if(keyHolder.followingKey != null)
57             {
58                 keyHolder.followingKey.followTarget = transform;
59                 waitingToOpen = true; 
60             }
61         }
62     }
63 }