private void FixedUpdate() { //print(movement); Upgradable speedUpgrade = FindUpgradable("Speed"); if (isFreezing) { rb.velocity = movement * freezingMovementSpeed * speedUpgrade.GetScaler(); } else if (isMining) { rb.velocity = movement * miningMovementSpeed * speedUpgrade.GetScaler(); } else { rb.velocity = movement * movementSpeed * speedUpgrade.GetScaler(); } }
private void Update() { // get WASD movement movement = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")); // rotate to look at mouse Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); Vector2 dir = ((Vector2)ray.origin - (Vector2)transform.position).normalized; float angle = -Mathf.Atan2(-dir.y, dir.x) * Mathf.Rad2Deg; transform.rotation = Quaternion.Euler(0, 0, angle); // freeze gun Upgradable costUpgrade = FindUpgradable("Cost"); float upgradedGunCost = freezeGunCost * costUpgrade.GetScaler(); float upgradeCircleCost = freezeCircleCost * costUpgrade.GetScaler(); //print(upgradedGunCost); if (Input.GetMouseButtonDown(0) && freezePower > upgradedGunCost) { freezeCone.GetComponent <ParticleSystem>().Play(); isFreezing = true; audioController.Play("Freeze gun"); } // start freezing if (Input.GetMouseButton(0) && isFreezing) { freezePower -= freezeGunCost; } // when using freeze gun if (Input.GetMouseButtonUp(0) || freezePower <= 0) { freezeCone.GetComponent <ParticleSystem>().Stop(); isFreezing = false; audioController.Stop("Freeze gun"); } // end freezing // freeze cone if (Input.GetMouseButtonUp(1) && freezePower > upgradeCircleCost) { //print((Vector2)ray.origin); audioController.Play("Freeze circle"); freezePower -= freezeCircleCost; GameObject freezeCircle = Instantiate(freezeCirclePrefab, (Vector2)ray.origin, Quaternion.identity); Destroy(freezeCircle, freezeCircleTime); } // spawn freeze circle // health UI healthBar.fillAmount = health / maxHealth; canvas.transform.rotation = Quaternion.identity; //print(health); // freeze power bar freezePowerBar.fillAmount = freezePower / maxFreezePower; // update power up texts foreach (Upgradable upgradable in upgradables) { upgradable.text.text = "LV: " + upgradable.GetLV().ToString(); } // death if (health <= 0) { SceneManager.LoadSceneAsync("Gameover"); audioController.Stop(); audioController.Play("Player death"); } // mining sound if (isMining && !audioController.IsPlaying("Mine")) { audioController.Play("Mine"); } if (!isMining && audioController.IsPlaying("Mine")) { audioController.Stop("Mine"); } }