void OnTriggerStay(Collider obj) { // enters range to use an object. Certain objects take priority over others if (obj.tag == "Door" && !canTakeKey && !canOpenChest) { MazeDoor door = obj.gameObject.GetComponent <MazeDoor>(); if (door.doorOpen) { interactText.text = "Press E to close Door"; } else { interactText.text = "Press E to open Door"; } canToggleDoor = true; } if (obj.tag == "Chest") { Chest chest = obj.gameObject.GetComponent <Chest>(); if (chest.chestOpen || chest.chestOpening) { canOpenChest = false; } } }
public void openTheDoor() { MazeDoor otherDoor = mazeDoor.otherCell.GetEdge(mazeDoor.direction.GetOpposite()) as MazeDoor; if (otherDoor != null) { Animator otherAnim = otherDoor.gameObject.GetComponent <Animator>(); if (otherAnim != null && otherAnim.GetBool("isOpen") != true) { //... the enemy should take damage. otherAnim.SetBool("isOpen", true); otherDoor.isOpen = true; } } Animator anim = gameObject.GetComponent <Animator>(); //If the EnemyHealth component exist... if (anim != null && anim.GetBool("isOpen") != true) { //... the enemy should take damage. anim.SetBool("isOpen", true); mazeDoor.isOpen = true; } audioSource.Play(); }
private MazeDoor CreateDoor(MazeCell cell, MazeDirection direction) { MazeDoor door = Instantiate(doorPrefab) as MazeDoor; door.Initialize(cell, direction); return(door); }
public void Show() { if (!isActiveAndEnabled) { gameObject.SetActive(true); foreach (MazeCellEdge edge in edges) { if (edge is MazeDoor && edge.otherCell.isActiveAndEnabled) { //edge.gameObject.SetActive(false); MazeDoor door = edge as MazeDoor; for (int i = 0; i < door.transform.childCount; i++) { Transform child = door.transform.GetChild(i); if (child == door.hinge) { child.gameObject.SetActive(false); } } } if (edge is MazeWall && wallBetween.Contains(edge.otherCell)) { //edge.otherCell.gameObject.SetActive(true); //MazeCellEdge e = edge.otherCell.GetEdge(MazeDirections.GetOpposite(edge.direction)); // never used //e.gameObject.SetActive(false); } } } }
public void Unlock() { for (int i = 0; i < edges.Length; i++) { if (edges[i] is MazeDoor) { MazeDoor door = edges[i] as MazeDoor; door.Unlock(); } } }
void OnTriggerStay(Collider obj) { // enters range to use an object. Certain objects take priority over others if (obj.tag == "Door") { MazeDoor door = obj.gameObject.GetComponent <MazeDoor>(); if (door.doorOpen) { interactText.text = "Press E to close Door"; } else { interactText.text = "Press E to open Door"; } canToggleDoor = true; } }
public override void Initialize(MazeCell thisCell, MazeCell thatCell, MazeDirection direction) { base.Initialize(thisCell, thatCell, direction); MazeDoor opositeDoor = OtherSideOfDoor; if (opositeDoor != null) { isMirrored = true; hinge.localScale = new Vector3(-1f, 1f, 1f); Vector3 pos = hinge.localPosition; pos.x = -pos.x; hinge.localPosition = pos; } for (int i = 0; i < transform.childCount; i++) { Transform child = transform.GetChild(i); if (child != hinge) { child.GetComponent <Renderer> ().material = thisCell.room.settings.wallMaterial; } } }
private void CreatePassage(MazeCell cell, MazeCell otherCell, MazeDirection direction) { MazeDoor passage = Instantiate(doorPrefab) as MazeDoor; passage.Initialize(cell, otherCell, direction); }
// Use this for initialization void Start() { mazeDoor = GetComponentInParent <MazeDoor>(); }
void Start() { mazeDoor = gameObject.GetComponent <MazeDoor>(); }
public void Initialize (MazeCell cell, MazeDirection direction, MazeDoor door) { base.Initialize (cell, direction); this.controlledDoor = door; }