Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityStandardAssets.Characters.FirstPerson;
- using UnityEngine.UI;
- using TMPro;
- using UnityEngine.SceneManagement;
- public class RaycastingScript : MonoBehaviour
- {
- public float distanceOfRay;
- public RaycastHit hitObject;
- public GameObject player;
- public TextMeshProUGUI UIPrompt;
- public FirstPersonController playerController;
- public Color highlightColor;
- public Color pressedColor;
- public GameObject mainMenuObject;
- private List<int> selectedIndices = new List<int>();
- public GameObject[] patchyFadeBox;
- public JettisonScript jettisonScript;
- public bool jettisonStored;
- public TextMeshPro jettisonToHighlight;
- public TextMeshPro storedJettison;
- TextMeshPro jettisonSubmitToHighlight;
- public MagnetiseScript magnetScript;
- TextMeshPro objToUnderline;
- public Animator lift;
- public Animator liftMove;
- public bool liftIsOpen;
- public GameObject doorBlocker;
- public TextMeshPro liftFloors;
- public int currentFloor = 1;
- public bool liftIsMoving = false;
- public PhotonScript photonScript;
- TextMeshPro photonToHighlight;
- public RadionScript radionScript;
- public DampenerScript dampenerScript;
- TextMeshPro dampToHighlight;
- public CarbonScript carbonScript;
- TextMeshPro carbonToHighlight;
- public SubspaceScript subspaceScript;
- TextMeshPro subspaceToUnderline;
- public TransmitScript transmitScript;
- TextMeshPro transmitToUnderline;
- public PrefireScript prefireScript;
- TextMeshPro prefireToHighlight;
- public TerminateScript terminateScript;
- TextMeshPro terminateToUnderline;
- TextMeshPro returnToUnderline;
- public ThelaronScript thelaronScript;
- TextMeshPro thelaronToHighlight;
- public bool audioHighlight;
- public PuzzleAudioManager puzzleAudio;
- public EventHandler eventHandler;
- public AudioSource liftDoorsSFX;
- public AudioSource liftMoveSFX;
- public AudioClip[] liftOpenCloseSFX;
- void Start()
- {
- player = GameObject.FindWithTag("Player");
- doorBlocker.SetActive(false);
- UIPrompt.enabled = false;
- }
- void Update()
- {
- Debug.DrawRay(this.transform.position, this.transform.forward * distanceOfRay, Color.red);
- if (!playerController.enabled)
- {
- return;
- }
- if (Physics.Raycast(this.transform.position, this.transform.forward, out hitObject, distanceOfRay))
- {
- if(hitObject.collider == null)
- {
- UIPrompt.enabled = false;
- return;
- }
- else if (hitObject.collider.gameObject.tag == "JettisonMove")
- {
- jettisonToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- JettisonMove();
- if (!audioHighlight && !jettisonScript.jettisonSolved && !eventHandler.suppressInterfaceAudio && hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>() != storedJettison)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "JettisonSubmit")
- {
- jettisonSubmitToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- JettisonSubmit();
- if (!audioHighlight && !jettisonScript.jettisonSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "MagnetBypass")
- {
- objToUnderline = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- MagnetBypass();
- if (!audioHighlight && !magnetScript.magnetSolved && !eventHandler.suppressInterfaceAudio && !magnetScript.passwordSolved)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "MagnetInit")
- {
- objToUnderline = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- MagnetInit();
- if (!audioHighlight && !magnetScript.magnetSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "MagnetColor")
- {
- MagnetColor();
- if (!audioHighlight && !magnetScript.magnetSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "MagnetCommand")
- {
- objToUnderline = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- MagnetCommand();
- if (!audioHighlight && !magnetScript.magnetSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "OpenLift")
- {
- OpenLift();
- }
- else if (hitObject.collider.gameObject.tag == "CloseLift")
- {
- CloseLift();
- }
- else if (hitObject.collider.gameObject.tag == "PhotonButton")
- {
- photonToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- PhotonButton();
- if(!audioHighlight && !photonScript.photonSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "PhotonSubmit")
- {
- photonToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- PhotonSubmit();
- if (!audioHighlight && !photonScript.photonSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "RadionButton")
- {
- objToUnderline = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- RadionButton();
- if (!audioHighlight && !radionScript.radionSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "DampenerButton")
- {
- if(!dampenerScript.dampenerActive)
- {
- return;
- }
- dampToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- DampenerButton();
- if (!audioHighlight && !dampenerScript.dampenerSolved && !eventHandler.suppressInterfaceAudio && !hitObject.collider.gameObject.GetComponent<DampenerButtons>().buttonPressed)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "CarbonButton")
- {
- carbonToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- CarbonButton();
- if (!audioHighlight && !carbonScript.carbonSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "CarbonSubmit")
- {
- carbonToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- CarbonSubmit();
- if (!audioHighlight && !carbonScript.carbonSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "SubspaceButton")
- {
- subspaceToUnderline = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- SubspaceButton();
- if (!audioHighlight && !subspaceScript.subspaceSolved && !eventHandler.suppressInterfaceAudio && !hitObject.collider.gameObject.GetComponent<SubspaceButtonScript>().clicked && !hitObject.collider.gameObject.GetComponent<SubspaceButtonScript>().resetting)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "TransmitArray")
- {
- transmitToUnderline = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- TransmitArray();
- if (!audioHighlight && !transmitScript.transmitSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "PrefireButton")
- {
- prefireToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- PrefireButton();
- if (!audioHighlight && !prefireScript.prefireSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "PrefireSubmit")
- {
- prefireToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- PrefireSubmit();
- if (!audioHighlight && !prefireScript.prefireSolved && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "TerminateButton")
- {
- terminateToUnderline = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- TerminateButton();
- if (!audioHighlight && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "ReturnToMenu")
- {
- returnToUnderline = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- ReturnToMenu();
- if (!audioHighlight && !eventHandler.suppressInterfaceAudio)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- else if (hitObject.collider.gameObject.tag == "ThelaronButton")
- {
- if (!hitObject.collider.gameObject.GetComponent<ThelaronButtons>().clicked)
- {
- thelaronToHighlight = hitObject.collider.gameObject.GetComponent<TextMeshPro>();
- ThelaronButton();
- if (!audioHighlight && !thelaronScript.thelaronSolved && !eventHandler.suppressInterfaceAudio && !hitObject.collider.gameObject.GetComponent<ThelaronButtons>().clicked)
- {
- puzzleAudio.ObjectHighlight();
- }
- audioHighlight = true;
- }
- }
- else
- {
- audioHighlight = false;
- UIPrompt.enabled = false;
- if (objToUnderline != null)
- {
- objToUnderline.fontStyle = FontStyles.Normal;
- objToUnderline = null;
- }
- if (dampToHighlight != null && !dampToHighlight.GetComponent<DampenerButtons>().buttonPressed)
- {
- dampToHighlight.color = dampenerScript.startColor;
- dampToHighlight = null;
- }
- if (!photonScript.photonSolved)
- {
- if (photonToHighlight != null)
- {
- photonToHighlight.color = dampenerScript.startColor;
- photonToHighlight = null;
- }
- }
- if (!jettisonScript.jettisonSolved)
- {
- if (jettisonToHighlight != null)
- {
- jettisonToHighlight.color = dampenerScript.startColor;
- jettisonToHighlight = null;
- }
- if(jettisonSubmitToHighlight != null)
- {
- jettisonSubmitToHighlight.color = dampenerScript.startColor;
- jettisonSubmitToHighlight = null;
- }
- }
- if (storedJettison != null && jettisonStored && !jettisonScript.jettisonSolved)
- {
- storedJettison.color = pressedColor;
- }
- if (!carbonScript.carbonSolved)
- {
- if (carbonToHighlight != null)
- {
- carbonToHighlight.color = dampenerScript.startColor;
- carbonToHighlight = null;
- }
- }
- if (subspaceToUnderline != null)
- {
- subspaceToUnderline.fontStyle = FontStyles.Normal;
- subspaceToUnderline = null;
- }
- if (transmitToUnderline != null)
- {
- transmitToUnderline.fontStyle = FontStyles.Normal;
- transmitToUnderline = null;
- }
- if (!prefireScript.prefireSolved)
- {
- if (prefireToHighlight != null)
- {
- prefireToHighlight.color = dampenerScript.startColor;
- prefireToHighlight = null;
- }
- }
- if (terminateToUnderline != null)
- {
- terminateToUnderline.fontStyle = FontStyles.Normal;
- terminateToUnderline = null;
- }
- if (returnToUnderline != null)
- {
- returnToUnderline.fontStyle = FontStyles.Normal;
- returnToUnderline = null;
- }
- if (!thelaronScript.thelaronSolved)
- {
- if (thelaronToHighlight != null)
- {
- thelaronToHighlight.color = dampenerScript.startColor;
- thelaronToHighlight = null;
- }
- }
- }
- }
- else
- {
- UIPrompt.enabled = false;
- return;
- }
- }
- void JettisonMove()
- {
- if (jettisonScript.jettisonSolved || !jettisonScript.jettisonActive || hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>() == storedJettison)
- {
- return;
- }
- for (int i = 0; i < 9; i++)
- {
- jettisonScript.displayedLetters[i].color = dampenerScript.startColor;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = highlightColor;
- if (storedJettison != null)
- {
- storedJettison.color = pressedColor;
- }
- if (Input.GetMouseButtonDown(0) == true)
- {
- if (!jettisonStored)
- {
- puzzleAudio.ObjectClick();
- storedJettison = hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>();
- jettisonScript.storedMesh = hitObject.collider.gameObject.GetComponentInChildren<JettisonMove>().buttonMesh;
- jettisonScript.storedCharacter = hitObject.collider.gameObject.GetComponentInChildren<JettisonMove>().buttonLabel;
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = pressedColor;
- jettisonStored = true;
- jettisonScript.UpdateColors();
- }
- else
- {
- puzzleAudio.ObjectAltClick();
- storedJettison = null;
- jettisonScript.storedMesh.GetComponentInChildren<JettisonMove>().buttonLabel = hitObject.collider.gameObject.GetComponentInChildren<JettisonMove>().buttonLabel;
- hitObject.collider.gameObject.GetComponentInChildren<JettisonMove>().buttonLabel = jettisonScript.storedCharacter;
- jettisonScript.storedMesh = null;
- jettisonScript.storedCharacter = "";
- jettisonStored = false;
- jettisonScript.UpdateColors();
- }
- }
- }
- void JettisonSubmit()
- {
- if (jettisonScript.jettisonSolved || !jettisonScript.jettisonActive)
- {
- return;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = highlightColor;
- if (Input.GetMouseButtonDown(0) == true)
- {
- jettisonScript.CheckAnswer();
- }
- }
- void MagnetBypass()
- {
- if (magnetScript.magnetSolved || !magnetScript.magnetActive || magnetScript.passwordSolved)
- {
- return;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().fontStyle = FontStyles.Underline;
- if (Input.GetMouseButtonDown(0) == true)
- {
- puzzleAudio.ObjectAltClick();
- if (objToUnderline != null)
- {
- objToUnderline.fontStyle = FontStyles.Normal;
- objToUnderline = null;
- }
- magnetScript.frontPage.SetActive(false);
- magnetScript.bypassScreen.SetActive(true);
- magnetScript.bypass = true;
- }
- }
- void MagnetInit()
- {
- if (magnetScript.magnetSolved || !magnetScript.magnetActive)
- {
- return;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().fontStyle = FontStyles.Underline;
- if (Input.GetMouseButtonDown(0) == true)
- {
- puzzleAudio.ObjectAltClick();
- if (objToUnderline != null)
- {
- objToUnderline.fontStyle = FontStyles.Normal;
- objToUnderline = null;
- }
- if (magnetScript.passwordSolved)
- {
- magnetScript.frontPage.SetActive(false);
- magnetScript.initiateScreen.SetActive(true);
- magnetScript.magnetInit = true;
- }
- else
- {
- magnetScript.EarlyClick();
- }
- }
- }
- void MagnetColor()
- {
- if (magnetScript.magnetSolved || !magnetScript.magnetActive)
- {
- return;
- }
- if (Input.GetMouseButtonDown(0) == true)
- {
- puzzleAudio.ObjectClick();
- hitObject.collider.gameObject.GetComponentInChildren<MagnetiseColorScript>().currentlyDisplayedColor = (hitObject.collider.gameObject.GetComponentInChildren<MagnetiseColorScript>().currentlyDisplayedColor + 1) % 3;
- hitObject.collider.gameObject.GetComponentInChildren<MagnetiseColorScript>().block.material = hitObject.collider.gameObject.GetComponentInChildren<MagnetiseColorScript>().cyclingColors[hitObject.collider.gameObject.GetComponentInChildren<MagnetiseColorScript>().currentlyDisplayedColor];
- }
- }
- void MagnetCommand()
- {
- if (magnetScript.magnetSolved || !magnetScript.magnetActive)
- {
- return;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().fontStyle = FontStyles.Underline;
- if (Input.GetMouseButtonDown(0) == true)
- {
- puzzleAudio.ObjectAltClick();
- magnetScript.commandLine.text = "";
- magnetScript.command = true;
- if (objToUnderline != null)
- {
- objToUnderline.fontStyle = FontStyles.Normal;
- objToUnderline = null;
- }
- }
- }
- void OpenLift()
- {
- if (liftIsMoving || liftIsOpen)
- {
- UIPrompt.enabled = false;
- return;
- }
- UIPrompt.enabled = true;
- UIPrompt.text = "Call Lift";
- if (Input.GetMouseButtonDown(0) == true)
- {
- if (!liftIsOpen)
- {
- UIPrompt.enabled = false;
- lift.SetTrigger("open");
- liftIsOpen = true;
- liftDoorsSFX.clip = liftOpenCloseSFX[0];
- liftDoorsSFX.Play();
- StartCoroutine(TimerClose());
- }
- }
- }
- void CloseLift()
- {
- if (liftIsMoving)
- {
- UIPrompt.enabled = false;
- return;
- }
- bool tempDamaged = false;
- UIPrompt.enabled = true;
- UIPrompt.text = "Move Lift";
- if (Input.GetMouseButtonDown(0) == true)
- {
- if (liftIsOpen)
- {
- if(lift.GetBool("damaged"))
- {
- tempDamaged = true;
- lift.SetBool("damaged", false);
- }
- lift.SetTrigger("close");
- liftIsOpen = false;
- liftDoorsSFX.clip = liftOpenCloseSFX[1];
- liftDoorsSFX.Play();
- }
- liftIsMoving = true;
- StartCoroutine(MoveLift(tempDamaged));
- }
- }
- void PhotonButton()
- {
- if (photonScript.photonSolved || !photonScript.photonActive)
- {
- return;
- }
- for (int i = 0; i < 4; i++)
- {
- photonScript.buttons[i].GetComponent<TextMeshPro>().color = dampenerScript.startColor;
- }
- photonScript.centralNumberText.color = dampenerScript.startColor;
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = highlightColor;
- if (Input.GetMouseButtonDown(0) == true)
- {
- puzzleAudio.ObjectClick();
- int direction = hitObject.collider.gameObject.GetComponentInChildren<PhotonButton>().direction;
- photonScript.ChangeNumber(direction);
- }
- }
- void PhotonSubmit()
- {
- if (photonScript.photonSolved || !photonScript.photonActive)
- {
- return;
- }
- for (int i = 0; i < 4; i++)
- {
- photonScript.buttons[i].GetComponent<TextMeshPro>().color = dampenerScript.startColor;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = highlightColor;
- if (Input.GetMouseButtonDown(0) == true)
- {
- photonScript.CheckAnswer();
- }
- }
- void RadionButton()
- {
- if (radionScript.radionSolved || !radionScript.radionActive)
- {
- return;
- }
- hitObject.collider.gameObject.GetComponent<TextMeshPro>().fontStyle = FontStyles.Underline;
- if (Input.GetMouseButtonDown(0) == true)
- {
- radionScript.ActivateClock();
- }
- }
- void DampenerButton()
- {
- if (hitObject.collider.gameObject.GetComponent<DampenerButtons>().buttonPressed)
- {
- return;
- }
- if (dampenerScript.dampenerSolved || !dampenerScript.dampenerActive)
- {
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = dampenerScript.startColor;
- return;
- }
- for (int i = 0; i < 4; i++)
- {
- if (!dampenerScript.buttons[i].GetComponent<DampenerButtons>().buttonPressed)
- {
- dampenerScript.buttons[i].color = dampenerScript.startColor;
- }
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = highlightColor;
- if (Input.GetMouseButtonDown(0) == true)
- {
- hitObject.collider.gameObject.GetComponent<DampenerButtons>().buttonPressed = true;
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = pressedColor;
- string containedLetter = hitObject.collider.gameObject.GetComponent<DampenerButtons>().containedLetter;
- dampenerScript.ButtonPush(containedLetter);
- }
- }
- void CarbonButton()
- {
- if (carbonScript.carbonSolved || !carbonScript.carbonActive)
- {
- return;
- }
- for (int i = 0; i < 8; i++)
- {
- carbonScript.buttons[i].button.color = dampenerScript.startColor;
- }
- carbonScript.submitText.color = dampenerScript.startColor;
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = highlightColor;
- if (Input.GetMouseButtonDown(0) == true)
- {
- puzzleAudio.ObjectClick();
- hitObject.collider.gameObject.GetComponent<CarbonButton>().SwitchColor();
- }
- }
- void CarbonSubmit()
- {
- if (carbonScript.carbonSolved || !carbonScript.carbonActive)
- {
- return;
- }
- for (int i = 0; i < 8; i++)
- {
- carbonScript.buttons[i].button.color = dampenerScript.startColor;
- }
- carbonScript.submitText.color = dampenerScript.startColor;
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = highlightColor;
- if (Input.GetMouseButtonDown(0) == true)
- {
- carbonScript.CheckAnswer();
- }
- }
- void SubspaceButton()
- {
- for (int i = 0; i < 6; i++)
- {
- subspaceScript.buttons[i].button.fontStyle = FontStyles.Normal;
- }
- if (subspaceScript.subspaceSolved || !subspaceScript.subspaceActive || hitObject.collider.gameObject.GetComponent<SubspaceButtonScript>().clicked)
- {
- return;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().fontStyle = FontStyles.Underline;
- if (Input.GetMouseButtonDown(0) == true && hitObject.collider.gameObject.GetComponent<SubspaceButtonScript>().button.enabled == true)
- {
- int gridLocation = hitObject.collider.gameObject.GetComponent<SubspaceButtonScript>().buttonLocation;
- string symbolColor = hitObject.collider.gameObject.GetComponent<SubspaceButtonScript>().selectedColorNames[hitObject.collider.gameObject.GetComponent<SubspaceButtonScript>().currentlyDisplaying];
- hitObject.collider.gameObject.GetComponent<SubspaceButtonScript>().clicked = true;
- if (subspaceScript.currentAnswer < 5)
- {
- puzzleAudio.ObjectClick();
- hitObject.collider.gameObject.GetComponent<SubspaceButtonScript>().SelectedFlicker();
- }
- subspaceScript.CheckAnswer(gridLocation, symbolColor);
- }
- }
- void TransmitArray()
- {
- if (transmitScript.transmitSolved || !transmitScript.transmitActive)
- {
- return;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().fontStyle = FontStyles.Underline;
- if (Input.GetMouseButtonDown(0) == true)
- {
- puzzleAudio.ObjectAltClick();
- if (transmitToUnderline != null)
- {
- transmitToUnderline.fontStyle = FontStyles.Normal;
- transmitToUnderline = null;
- }
- transmitScript.EnterTransmission();
- }
- }
- void PrefireButton()
- {
- if (prefireScript.prefireSolved || !prefireScript.prefireActive)
- {
- return;
- }
- for (int i = 0; i < 4; i++)
- {
- prefireScript.buttons[i].button.color = dampenerScript.startColor;
- }
- prefireScript.submitText.color = dampenerScript.startColor;
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = highlightColor;
- if (Input.GetMouseButtonDown(0) == true)
- {
- if (prefireToHighlight != null)
- {
- prefireToHighlight.color = dampenerScript.startColor;
- prefireToHighlight = null;
- }
- string leftRight = hitObject.collider.gameObject.GetComponentInChildren<PrefireButtonScript>().leftRight;
- string direction = hitObject.collider.gameObject.GetComponentInChildren<PrefireButtonScript>().direction;
- prefireScript.Move(leftRight, direction);
- }
- }
- void PrefireSubmit()
- {
- if (prefireScript.prefireSolved || !prefireScript.prefireActive)
- {
- return;
- }
- for (int i = 0; i < 4; i++)
- {
- prefireScript.buttons[i].button.color = dampenerScript.startColor;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = highlightColor;
- if (Input.GetMouseButtonDown(0) == true)
- {
- if (prefireToHighlight != null)
- {
- prefireToHighlight.color = dampenerScript.startColor;
- prefireToHighlight = null;
- }
- prefireScript.CheckAnswer();
- }
- }
- void TerminateButton()
- {
- if(!terminateScript.timerScript.clockOn && !EventHandler.trainingMode)
- {
- return;
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().fontStyle = FontStyles.Underline;
- if (Input.GetMouseButtonDown(0) == true)
- {
- puzzleAudio.ObjectAltClick();
- if (terminateToUnderline != null)
- {
- terminateToUnderline.fontStyle = FontStyles.Normal;
- terminateToUnderline = null;
- }
- terminateScript.TerminateRun();
- audioHighlight = false;
- Debug.Log(MissionPlayData.mission);
- }
- }
- void ReturnToMenu()
- {
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().fontStyle = FontStyles.Underline;
- if (Input.GetMouseButtonDown(0) == true)
- {
- if(EndlessTimerScript.endlessBoolForLogging)
- {
- int endMode = PlayerPrefs.GetInt("CurrentlyDisplayedEndlessMode");
- if(endMode == 0)
- {
- if(SerializableMissionData.bestTimeFloat > SaveSystem.GetFloat("slowFloat"))
- {
- SaveSystem.SetString("slow", SerializableMissionData.bestTime);
- SaveSystem.SetFloat("slowFloat", SerializableMissionData.bestTimeFloat);
- }
- }
- else if(endMode == 1)
- {
- if (SerializableMissionData.bestTimeFloat > SaveSystem.GetFloat("mediumFloat"))
- {
- SaveSystem.SetString("medium", SerializableMissionData.bestTime);
- SaveSystem.SetFloat("mediumFloat", SerializableMissionData.bestTimeFloat);
- }
- }
- else if(endMode == 2)
- {
- if (SerializableMissionData.bestTimeFloat > SaveSystem.GetFloat("fastFloat"))
- {
- SaveSystem.SetString("fast", SerializableMissionData.bestTime);
- SaveSystem.SetFloat("fastFloat", SerializableMissionData.bestTimeFloat);
- }
- }
- EndlessTimerScript.endlessBoolForLogging = false;
- }
- puzzleAudio.ObjectAltClick();
- mainMenuObject.SetActive(false);
- distanceOfRay = 3f;
- playerController.enabled = false;
- StartCoroutine(PatchyFade());
- StartCoroutine(puzzleAudio.PermanentFadeOut());
- }
- }
- public IEnumerator PatchyFade()
- {
- for(int i = 0; i < 60; i++)
- {
- int index = UnityEngine.Random.Range(0, 60);
- while(selectedIndices.Contains(index))
- {
- index = UnityEngine.Random.Range(0, 60);
- }
- selectedIndices.Add(index);
- patchyFadeBox[index].SetActive(true);
- float delay = UnityEngine.Random.Range(0.01f, 0.05f);
- yield return new WaitForSeconds(delay);
- }
- selectedIndices.Clear();
- SceneManager.LoadScene("Menu");
- }
- void ThelaronButton()
- {
- if (thelaronScript.thelaronSolved || !thelaronScript.thelaronActive)
- {
- return;
- }
- for(int i = 0; i < 20; i++)
- {
- int index = UnityEngine.Random.Range(0, 5);
- if(!thelaronScript.buttons[i].GetComponent<ThelaronButtons>().clicked)
- {
- thelaronScript.buttons[i].color = thelaronScript.potentialColors[index];
- }
- }
- hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>().color = thelaronScript.solveColor;
- if (Input.GetMouseButtonDown(0) == true)
- {
- hitObject.collider.gameObject.GetComponentInChildren<ThelaronButtons>().clicked = true;
- thelaronScript.ClickedLetter(hitObject.collider.gameObject.GetComponentInChildren<TextMeshPro>());
- if (thelaronToHighlight != null)
- {
- thelaronToHighlight.color = thelaronScript.solveColor;
- thelaronToHighlight = null;
- }
- }
- }
- IEnumerator TimerClose()
- {
- int counter = 0;
- while(counter != 10)
- {
- yield return new WaitForSeconds(1f);
- if(!liftIsOpen)
- {
- break;
- }
- counter++;
- }
- if(liftIsOpen)
- {
- lift.SetTrigger("close");
- liftIsOpen = false;
- liftDoorsSFX.clip = liftOpenCloseSFX[1];
- liftDoorsSFX.Play();
- }
- }
- IEnumerator MoveLift(bool tempDamaged)
- {
- doorBlocker.SetActive(true);
- yield return new WaitForSeconds(2f);
- liftMoveSFX.Play();
- liftMove.SetTrigger("move");
- if(currentFloor == 1)
- {
- StartCoroutine(LiftFloorsUp());
- }
- else if(currentFloor == 50)
- {
- StartCoroutine(LiftFloorsDown());
- }
- yield return new WaitForSeconds(5f);
- if(tempDamaged)
- {
- lift.SetBool("damaged", true);
- tempDamaged = false;
- }
- lift.SetTrigger("open");
- liftDoorsSFX.clip = liftOpenCloseSFX[0];
- liftDoorsSFX.Play();
- liftIsOpen = true;
- liftIsMoving = false;
- doorBlocker.SetActive(false);
- StartCoroutine(TimerClose());
- }
- IEnumerator LiftFloorsUp()
- {
- while(currentFloor < 40)
- {
- yield return new WaitForSeconds(0.06f);
- currentFloor++;
- liftFloors.text = currentFloor.ToString();
- }
- while(currentFloor < 45)
- {
- yield return new WaitForSeconds(0.15f);
- currentFloor++;
- liftFloors.text = currentFloor.ToString();
- }
- while (currentFloor < 50)
- {
- yield return new WaitForSeconds(0.175f);
- currentFloor++;
- liftFloors.text = currentFloor.ToString();
- }
- }
- IEnumerator LiftFloorsDown()
- {
- while (currentFloor > 10)
- {
- yield return new WaitForSeconds(0.06f);
- currentFloor--;
- liftFloors.text = currentFloor.ToString();
- }
- while (currentFloor > 5)
- {
- yield return new WaitForSeconds(0.15f);
- currentFloor--;
- liftFloors.text = currentFloor.ToString();
- }
- while (currentFloor > 1)
- {
- yield return new WaitForSeconds(0.175f);
- currentFloor--;
- liftFloors.text = currentFloor.ToString();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement