Exemple #1
0
    // Use this for initialization
    void Start()
    {
        orbitCam = orbitCamera.GetComponent <OrbitCam>();

        //Get Current camera mode from save
        UpdateCameraState();
    }
    public void StartBuildMode()
    {
        if (!isActivated)
        {
            isActivated = true;
            isAnimating = true;

            //Turn off Player
            playerMovement.lockMovements = true;
            playerMovement.isThinking    = true;

            //Set Cursor as Target
            IsoCam   isoCam   = playerMovement.playerCamera.GetComponent <IsoCam>();
            OrbitCam orbitCam = playerMovement.playerCamera.GetComponent <OrbitCam>();

            if (isoCam != null)
            {
                isoCam.target = cameraTarget.transform;
            }
            else if (orbitCam != null)
            {
                orbitCam.target = cameraTarget.transform;
            }


            Vector3    playerPos  = player.transform.position + Vector3.up;
            WorldChunk localChunk = worldStateManager.IsInsideWorldChunk(playerPos);
            if (localChunk != null)
            {
                Vector3 newPos = SnapToGrid(playerPos, localChunk);
                newPos.y = Mathf.Clamp(newPos.y, 0.5f, 10.5f);

                cursor.transform.position = newPos;
                actualCursorPos           = cursor.transform.position;

                fluidCursor.transform.position  = newPos;
                cameraTarget.transform.position = newPos;
            }

            StartCoroutine(DoSwapAnimation());

            itemsPanel.SetActive(true);

            foreach (ItemHide itemHide in FindObjectsOfType <ItemHide>())
            {
                itemHide.UpdateAvailablilty();
            }

            ChangeSelection(currentSelection);

            foreach (PhysicsPrefab prefab in FindObjectsOfType <PhysicsPrefab>())
            {
                prefab.Reset();
                prefab.GetComponent <Rigidbody>().isKinematic = true;
            }

            SetupCursorObject();
        }
    }
Exemple #3
0
    // Use this for initialization
    void Start()
    {
        //~ sateliteController = GameManager.Instance.CameraManager.SateliteCamera.gameObject.GetComponent(typeof(SateliteController)) as SateliteController;
        //~ sateliteCam = GameManager.Instance.CameraManager.SateliteCamera.gameObject.GetComponent(typeof(SateliteCam)) as SateliteCam;
        _sensitivity = MouseSensitivity;
        if (_SateliteCam != null)
        {
            _SateliteCam = GameManager.Instance.CameraManager.SateliteCamera.GetComponent(typeof(SateliteCam)) as SateliteCam;
        }
        if (_OrbitCam != null)
        {
            _OrbitCam = GameManager.Instance.CameraManager.MainCamera.GetComponent(typeof(OrbitCam)) as OrbitCam;
        }

        CamMode = GameManager.Instance.CameraManager.CamMode;
    }
    public void EndBuildMode()
    {
        if (isActivated)
        {
            isActivated = false;
            isAnimating = true;

            //Turn off Player
            playerMovement.lockMovements = false;
            playerMovement.isThinking    = false;

            //Set Cursor as Target
            IsoCam   isoCam   = playerMovement.playerCamera.GetComponent <IsoCam>();
            OrbitCam orbitCam = playerMovement.playerCamera.GetComponent <OrbitCam>();

            if (isoCam != null)
            {
                isoCam.target = playerMovement.transform;
            }
            else if (orbitCam != null)
            {
                orbitCam.target = playerMovement.transform;
            }

            StartCoroutine(DoSwapAnimation());

            itemsPanel.SetActive(false);

            foreach (PhysicsPrefab prefab in FindObjectsOfType <PhysicsPrefab>())
            {
                prefab.GetComponent <Rigidbody>().isKinematic = false;
            }

            if (cursorObject != null)
            {
                Destroy(cursorObject);
            }
        }
    }