Esempio n. 1
0
 public void TeleportPlayer(Transform player)
 {
     if (isActive)
     {
         SaveablePrefabRoot root = player.parent.GetComponent <SaveablePrefabRoot>();
         SaveablePrefabRoot boat = player.GetComponent <PlayerSailor>().boat?.GetComponent <SaveablePrefabRoot>();
         if (boat != null)
         {
             root.transform.GetChild(0).position = new Vector3(spawnPosition.x, spawnPosition.y + 3, spawnPosition.z); // new Vector3(234, 4, -128);-317 0.5 127.5
             boat.transform.eulerAngles          = spawnRotation;                                                      // new Vector3(0, 180, 0);
                                                                                                                       // boat.getComponent<Boat>().SetSailsTo(0);
             boat.GetComponent <WaterRigidBody>().Velocity = Vector3.zero;
             boat.transform.position = spawnPosition;
             SceneSwitcher.EnterScene(nextSceneName, saveCurrent, loadNext, root, boat);
         }
     }
 }
Esempio n. 2
0
    public static void EndGame()
    {
        GameObject          player = GameManager.Player;
        InterfaceController interfaceController = player.GetComponent <InterfaceController>();
        GameObject          admiral             = FindGameObjectWithTag("Admiral");

        admiral.GetComponent <DialogTrigger>().DisableInteraction();
        player.transform.parent.GetComponent <EndGameMusic>().PlayMusic();
        Transform cam = Camera.main.transform;

        interfaceController.Clear();
        GameManager.FreezePlayer();
        MonoBehaviour m = player.GetComponent <MonoBehaviour>();

        m.DoDelayed(0.25f, delegate
        {
            Vector3 observationPosition = new Vector3(23.68f, 27.49f, -27.52f);
            Vector3 observationEuler    = new Vector3(90.00001f, 0, 38.817f);

            m.StartCoroutine(SmoothTransformation <Vector3> .SmoothRotateAngleEuler(cam.eulerAngles, observationEuler, 4f, v => cam.eulerAngles = v));
            m.StartCoroutine(
                SmoothTransformation <Vector3> .SmoothRotateEuler(cam.position, observationPosition, 4f, v => cam.position = v, () =>
            {
                interfaceController.DoDelayed(5f, delegate
                {
                    admiral.GetComponent <IntroAdmiral>().JumpInWater();
                });
                Vector3 observationPosition2 = new Vector3(95, 255.7f, -116.1f);
                Vector3 observationEuler2    = new Vector3(51.937f, -38.817f, 0);
                m.StartCoroutine(SmoothTransformation <Vector3> .SmoothRotateAngleEuler(cam.eulerAngles, observationEuler2, 16f, v => cam.eulerAngles = v));
                m.StartCoroutine(
                    SmoothTransformation <Vector3> .SmoothRotateEuler(cam.position, observationPosition2, 17.8f, v => cam.position = v, delegate
                {
                    SceneSwitcher.EnterScene("MenueScene", false, false);
                }));
            })
                );
        });
    }
Esempio n. 3
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.S))
     {
         if (dir)
         {
             SceneSwitcher.EnterScene("SmallTestScene", true, true);
         }
         else
         {
             if (count == 0)
             {
                 SceneSwitcher.EnterScene("EmptyScene", true, true, saveableObject);
             }
             else
             {
                 SceneSwitcher.EnterScene("EmptyScene", true, true);
             }
         }
         dir = !dir;
         count++;
     }
 }