private void OnTriggerEnter(Collider col) { if (col.gameObject.CompareTag("key")) { PickUpKey(col.gameObject); if (denseReward) { AddReward(0.1f); } Destroy(col.gameObject); } if (col.gameObject.CompareTag("orb")) { PickUpOrb(col.gameObject); } if (col.gameObject.CompareTag("fake")) { Destroy(col.gameObject); } if (col.gameObject.CompareTag("doorZone")) { DoorLogic doorController = col.transform.GetComponent <DoorLogic>(); if (doorController) { doorController.TryOpenDoor(this); } } }
void AttemptOpenDoor(DoorLogic door) { var doorColor = door.m_Color; if (m_KeyHolder.Has(doorColor)) { door.AttemptOpen(); } }
private void OnTriggerExit(Collider col) { if (col.gameObject.CompareTag("doorZone")) { DoorLogic doorController = col.transform.GetComponent <DoorLogic>(); if (doorController) { doorController.TryCloseDoor(this); } } }
public DoorPlanningState(DoorLogic door) { Name = door.gameObject.name; if (door.Button.IsPressed) { ExpectedPosition = door.OpenPosition; } else { ExpectedPosition = door.ClosedPosition; } }
void ResetAll() { GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject enemy in enemies) { Enemy script = enemy.GetComponent <Enemy>(); script.Reset(); } GameObject[] doors = GameObject.FindGameObjectsWithTag("Door"); foreach (GameObject door in doors) { DoorLogic script = door.GetComponent <DoorLogic>(); script.Reset(); } }
void FindLinkedDoors() { var thisPosition = m_cTransform.position; var thisIndex = new Vector2Int((int)thisPosition.x, (int)thisPosition.y); //Indexes to look for. var rightIndex = thisIndex + Vector2Int.right; var leftIndex = thisIndex + Vector2Int.left; var upIndex = thisIndex + Vector2Int.up; var downIndex = thisIndex + Vector2Int.down; //Save the elements so we don't have to keep finding them. var rightElement = m_TileGrid.Get(rightIndex); var leftElement = m_TileGrid.Get(leftIndex); var upElement = m_TileGrid.Get(upIndex); var downElement = m_TileGrid.Get(downIndex); //Find right... if (rightElement.m_Type == TileType.DOOR && rightElement.m_TileColor == m_ColorCode.m_TileColor) { var doorTileLogic = rightElement.m_GameObject.GetComponent <DoorTileLogic>(); var createdDoor = doorTileLogic.GetCreatedDoor(); m_LinkedDoorRight = createdDoor.GetComponent <DoorLogic>(); } //Find left... if (leftElement.m_Type == TileType.DOOR && leftElement.m_TileColor == m_ColorCode.m_TileColor) { var doorTileLogic = leftElement.m_GameObject.GetComponent <DoorTileLogic>(); var createdDoor = doorTileLogic.GetCreatedDoor(); m_LinkedDoorLeft = createdDoor.GetComponent <DoorLogic>(); } //Find up... if (upElement.m_Type == TileType.DOOR && upElement.m_TileColor == m_ColorCode.m_TileColor) { var doorTileLogic = upElement.m_GameObject.GetComponent <DoorTileLogic>(); var createdDoor = doorTileLogic.GetCreatedDoor(); m_LinkedDoorUp = createdDoor.GetComponent <DoorLogic>(); } //Find down... if (downElement.m_Type == TileType.DOOR && downElement.m_TileColor == m_ColorCode.m_TileColor) { var doorTileLogic = downElement.m_GameObject.GetComponent <DoorTileLogic>(); var createdDoor = doorTileLogic.GetCreatedDoor(); m_LinkedDoorDown = createdDoor.GetComponent <DoorLogic>(); } }
void Start() { anim = GetComponent <Animator>(); coll = GetComponent <BoxCollider2D>(); audio = GetComponent <AudioSource>(); if (exit) { DoorLogic dl = exit.GetComponent <DoorLogic>(); dl.exit = this.gameObject; } if (!player) { player = GameObject.FindGameObjectsWithTag("Player")[0]; } SetAnimationColour(); OpenOrClosed(open); }
// Use this for initialization void Start() { CorrectButtonScript = CorrectButton.GetComponent <ButtonPress> (); DoorScript = Door.GetComponent <DoorLogic> (); }
void OnTriggerEnter2D(Collider2D collider) { if (!leftPlayer) { leftPlayer = true; return; } if (genericHitNoise) { audio.PlayOneShot(genericHitNoise, genericHitNoiseVolume); } GameObject other = collider.gameObject; switch (other.tag) { case "Door": DoorLogic dl = other.GetComponent <DoorLogic>(); if (dl.colour == this.colour) { dl.Open(); Die(); } else { if (bounceOnWrongDoors) { this.Bounce(); } else { Die(); } } break; case "Player": CharacterControl cc = other.GetComponent <CharacterControl>(); cc.Damaged(); Die(); break; case "Enemy": if (hitEnemyNoise) { audio.PlayOneShot(hitEnemyNoise, hitEnemyNoiseVolume); } ICanDie icd = other.GetComponent <ICanDie>(); if (icd) { icd.Hit(damage); } Die(); break; case "Projectile": // do nothing break; default: if (hitWallNoise) { audio.PlayOneShot(hitWallNoise, hitWallNoiseVolume); } Die(); break; } }
private bool roomDone = false; // will stop the update function of constantly calling doors.openPath() private void Start() { doors = this.GetComponent <DoorLogic>(); }