예제 #1
0
    // Use this for initialization
    void Start()
    {
        mainCamera             = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera> ();
        cameraSwitchViewScript = mainCamera.GetComponent <CameraSwitchView> ();
        rigidBody       = GetComponent <Rigidbody> ();
        raycastDistance = GetComponent <Collider> ().bounds.extents.y + 0.05f;

        GameManager.Instance.OnTopView  += () => StartCoroutine(PouiToTopPosition());
        GameManager.Instance.OnSideView += () => StartCoroutine(PouiToSidePosition());
    }
예제 #2
0
    // Use this for initialization
    void Start()
    {
        player = GameObject.FindGameObjectWithTag("Player");
        sideScrollingParent = transform.parent;
        cameraSwitchScript  = GetComponent <CameraSwitchView> ();

        rigiBodyParent = sideScrollingParent.GetComponent <Rigidbody> ();

        SubscribeEvents();
    }
예제 #3
0
    // Use this for initialization
    void Start()
    {
        //DontDestroyOnLoad (GameManager.Instance);

        Cursor.visible   = false;
        Cursor.lockState = CursorLockMode.Confined;

        StartCoroutine(OnTopViewEvent());
        StartCoroutine(OnSideViewEvent());

        player               = GameObject.FindGameObjectWithTag("Player");
        mainCamera           = GameObject.FindGameObjectWithTag("MainCamera");
        cameraSwitchScript   = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <CameraSwitchView>();
        cameraFollowScript   = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <CameraFollow>();
        playerMovementScript = player.GetComponent <PlayerMovement> ();
    }
예제 #4
0
    IEnumerator LoadPreviousCheckpointCoroutine()
    {
        ClearEvents();

        SceneManager.UnloadScene(1);

        yield return(SceneManager.LoadSceneAsync(1, LoadSceneMode.Additive));

        Cursor.lockState = CursorLockMode.None;

        yield return(new WaitForSeconds(0.001f));

        Cursor.lockState = CursorLockMode.Confined;

        ProjectilesSpawnManager.Instance.StopProjectileRandom();
        ProjectilesSpawnManager.Instance.DestroyProjectiles();

        for (int i = 0; i < simpleCollectibles.Count; i++)
        {
            simpleCollectibles [i].SetActive(false);
        }

        for (int i = 0; i < preciousCollectibles.Count; i++)
        {
            preciousCollectibles [i].SetActive(false);
        }

        preciousCollectiblesTemp.Clear();

        preciousCount    -= preciousCountTemp;
        preciousCountTemp = 0;
        preciousScoreTemp = 0;

        Vector3 position = new Vector3(checkpointsList [checkpointsList.Count - 1].position.x, checkpointsList [checkpointsList.Count - 1].position.y + 4, checkpointsList [checkpointsList.Count - 1].position.z);

        Debug.Log("Checkpoint Loaded : " + checkpointsList[checkpointsList.Count - 1].ToString());

        player = GameObject.FindGameObjectWithTag("Player");
        player.transform.position = position;
        player.SetActive(true);

        mainCamera = GameObject.FindGameObjectWithTag("MainCamera");
        mainCamera.transform.parent.transform.position = new Vector3(position.x, 0, 0);

        cameraFollowScript.SubscribeEvents();

        cameraSwitchScript = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <CameraSwitchView>();

        if (checkpointsList [checkpointsList.Count - 1].GetComponent <Checkpoint> ().viewStateOnSpawn == ViewState.Top && GameManager.Instance.viewState != checkpointsList [checkpointsList.Count - 1].GetComponent <Checkpoint> ().viewStateOnSpawn)
        {
            mainCamera.transform.position = cameraFollowScript.sidePosition;
            mainCamera.transform.rotation = Quaternion.Euler(new Vector3(0, 0, 0));
            ToTop();
            GameObject.FindGameObjectWithTag("Poui").GetComponent <PouiMovement> ().StartCoroutine("PouiToTopPosition");
        }

        if (checkpointsList [checkpointsList.Count - 1].GetComponent <Checkpoint> ().viewStateOnSpawn == ViewState.Side && GameManager.Instance.viewState != checkpointsList [checkpointsList.Count - 1].GetComponent <Checkpoint> ().viewStateOnSpawn)
        {
            mainCamera.transform.position = cameraFollowScript.topPosition;
            mainCamera.transform.rotation = Quaternion.Euler(new Vector3(65, 0, 0));
            ToSide();
            GameObject.FindGameObjectWithTag("Poui").GetComponent <PouiMovement> ().StartCoroutine("PouiToSidePosition");
        }

        Cursor.lockState = CursorLockMode.None;

        yield return(new WaitForSeconds(0.001f));

        Cursor.lockState = CursorLockMode.Confined;

        yield return(new WaitForSeconds(delayBeforeResume));

        gameState = GameState.Playing;
    }