示例#1
0
 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;
             }
         }
     }
 }
示例#2
0
 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;
     }
 }