public void Interact() { Transform player = GameObject.FindGameObjectWithTag("Player").GetComponent <Transform>(); if (open) { Close(); Debug.Log("Close local"); if (linkedDoorActive != null) { Debug.Log("Linked not null: " + linkedDoorActive.ID); linkedDoorActive.Close(); } } else { clockwise = Vector3.Dot(player.position - transform.position, transform.right) > 0; linkedDoorActive = clockwise ? linkedDoorClockwise : linkedDoorAnticlockwise; Open(); if (linkedDoorActive != null) { linkedDoorActive.clockwise = clockwise; linkedDoorActive.linkedDoorActive = clockwise ? linkedDoorActive.linkedDoorClockwise : linkedDoorActive.linkedDoorAnticlockwise; linkedDoorActive.Open(); } } }
//! Actions for when the State stops. /*! Disable the Camera inside state, the Canvas for UI and plays animation to close the left door. */ public override void OnStopRun() { cameraState.gameObject.SetActive(false); canvasUI.GetComponent <Canvas>().enabled = false; leftDoor.Close(); }