private void Update() { if ((Input.GetMouseButtonDown(0) || Input.touchCount > 0) && cubeToPlace != null && allCubes != null && !EventSystem.current.IsPointerOverGameObject()) { #if !UNITY_EDITOR if (Input.GetTouch(0).phase != TouchPhase.Began) { return; } #endif if (!firstCube) { firstCube = true; foreach (GameObject obj in canvasStartPage) { Destroy(obj); } } GameObject newCube = Instantiate( cubeToCreate, cubeToPlace.position, Quaternion.identity) as GameObject; newCube.transform.SetParent(allCubes.transform); nowCube.SetVector(cubeToPlace.position); allCubePositions.Add(nowCube.GetVector()); allCubesRb.isKinematic = true; allCubesRb.isKinematic = false; SpawnPositions(); MoveCameraChangeBG(); } if (!IsLose && allCubesRb.velocity.magnitude > 0.1f) { Destroy(cubeToPlace.gameObject); IsLose = true; StopCoroutine(showCubePlace); } mainCam.localPosition = Vector3.MoveTowards(mainCam.localPosition, new Vector3(mainCam.localPosition.x, camMoveToPosition, mainCam.localPosition.z), camMoveSpeed); }
private void Update() { if ((Input.GetMouseButtonDown(0) || Input.touchCount > 0) && cubeToPlace != null && !EventSystem.current.IsPointerOverGameObject()) { #if !UNITY_EDITOR if (Input.GetTouch(0).phase != TouchPhase.Began) { return; } #endif if (!_firstCube) { _firstCube = true; foreach (var obj in canvasStartPage) { Destroy(obj); } } var newCube = Instantiate(cubeToCreate, cubeToPlace.position, Quaternion.identity) as GameObject; newCube.transform.SetParent(allCubes.transform); _currentCube.SetVector(cubeToPlace.position); _allCubePositions.Add(_currentCube.GetVector()); //Update kinematic physics behavior _allCubesBody.isKinematic = true; _allCubesBody.isKinematic = false; SpawnPositions(); } if (_isLose || _allCubesBody.velocity.magnitude != 0.1f) { return; } Destroy(cubeToPlace.gameObject); _isLose = true; StopCoroutine(_showCubePosition); }
private void Update() { if ((Input.GetMouseButtonDown(0) || Input.touchCount > 0) && CubeToPlace != null && AllCubes != null && !EventSystem.current.IsPointerOverGameObject()) { #if !UNITY_EDITOR if (Input.GetTouch(0).phase != TouchFace.Began) { return; } #endif if (!firstCube) { firstCube = true; foreach (GameObject obj in canvasStartPage) { Destroy(obj); } } GameObject createCube = null; if (possibleCubesToCreate.Count == 1) { createCube = possibleCubesToCreate[0]; } else { createCube = possibleCubesToCreate[UnityEngine.Random.Range(0, possibleCubesToCreate.Count)]; } GameObject NewCube = Instantiate(createCube, CubeToPlace.position, Quaternion.identity) as GameObject; NewCube.transform.SetParent(AllCubes.transform); nowCube.SetVector(CubeToPlace.position); allCubesPositions.Add(nowCube.GetVector()); Instantiate(vfx, CubeToPlace.position, Quaternion.identity); AllCubesRb.isKinematic = true; AllCubesRb.isKinematic = false; SpawnPositions(); MoveCameraChangeBg(); } if (!IsLose && AllCubesRb.velocity.magnitude > 0.1f) { Destroy(CubeToPlace.gameObject); IsLose = true; StopCoroutine(showCubePlace); } mainCam.localPosition = Vector3.MoveTowards(mainCam.localPosition, new Vector3(mainCam.localPosition.x, camMoveToTPosition, mainCam.localPosition.z), camMoveSpeed * Time.deltaTime); if (Camera.main.backgroundColor != toCameraColor) { Camera.main.backgroundColor = Color.Lerp(Camera.main.backgroundColor, toCameraColor, Time.deltaTime / 1.5f); } }