void Update() { if (Input.GetKeyUp("q")) { if (PlayerInventory.HasTablet()) { if (this.solving) { Debug.Log("now trying to unsolve"); this.controller.GetComponent <CharacterController>().enabled = true; this.controller .GetComponent <FirstPersonController>() .enabled = true; this.solving = false; if (!PlayerInventory.GetPuzzle().IsComplete()) { PlayerInventory.GetPuzzle().SetEnabledKeys(false); PlayerInventory.GetPuzzle().ReleaseAllKeys(); PlayerInventory.GetPuzzle().ClearCurrentString(); } Hint.ClearHint(); this.character.transform.parent = this.controller.transform; PlayerInventory.GetTablet().transform.parent = this.character.transform; PlayerInventory.BackToWalkingView(); } else { this.controller.GetComponent <Rigidbody>().velocity = Vector3.zero; Debug.Log("now trying to solve"); this.controller.GetComponent <CharacterController>().enabled = false; this.controller .GetComponent <FirstPersonController>() .enabled = false; Cursor.lockState = CursorLockMode.None; this.solving = true; if (!PlayerInventory.GetPuzzle().IsComplete()) { PlayerInventory.GetPuzzle().SetEnabledKeys(true); } Hint.SetHint(PlayerInventory.GetPuzzle().buildUp, PlayerInventory.GetPuzzle().words); PlayerInventory.GetPuzzle().FillInHint(); PlayerInventory.SolvingView(); PlayerInventory.GetTablet().transform.parent = null; this.character.transform.parent = FindUtilities.TryFind( PlayerInventory.GetPuzzle().gameObject.transform.parent.gameObject, "Block").transform; } } } }
public void ExitPuzzle() { if (controller != null && BoardMutator.dragging == null) { PlayerInventory.BackToWalkingView(); if (PlayerInventory.HasTablet()) { PlayerInventory.ClearCurrent(); } controller.GetComponent <CharacterController>().enabled = true; Puzzle p = FindUtilities.TryFind( FindUtilities.TryFind(this.transform.parent.gameObject, "Pad"), "Puzzle") .GetComponent <Puzzle>(); if (!p.IsComplete()) { p.ReleaseAllKeys(); p.ClearCurrentString(); } p.SetEnabledKeys(false); if (transform.parent.tag != "Gift") { Light l = FindUtilities .TryFind(this.transform.parent.gameObject, "Light") .GetComponent <Light>(); if (p.HasLeftovers()) { l.TurnOn(); } else { l.TurnOff(); } } this.controller.GetComponent <FirstPersonController>().enabled = true; this.character.transform.parent = controller.transform; this.character.transform.localPosition = this.playerHead.localPosition; this.character.transform.localEulerAngles = this.playerHead.localEulerAngles; this.character.transform.localScale = this.playerHead.localScale; Hint.ClearHint(); this.controller.GetComponent <ZoomToTablet>().enabled = true; FindUtilities.TryFind(transform.parent.gameObject, "SubmitButton") .GetComponent <BoxCollider>().enabled = false; } }