// Start is called before the first frame update void Start() { transform.position = new Vector3(0, 0, transform.position.z); transform.localScale = CameraMovement.CameraRect().size * 5f; SetHeight(-3.9f); targetHeight = -3.9f; sr = GetComponent <SpriteRenderer>(); }
// Update is called once per frame void Update() { Rect rect = CameraMovement.CameraRect(); float yPos = transform.position.y; yPos = Mathf.Clamp(yPos, rect.yMin + 1.2f, rect.yMax - 1.2f); transform.position = new Vector3(transform.position.x, yPos, transform.position.z); }
public void SetHeight(float y) { height = y; Rect camera = CameraMovement.CameraRect(); float yPos = (y + camera.yMin) * 0.5f; transform.position = new Vector3(transform.position.x, yPos, transform.position.z); transform.localScale = new Vector3(transform.localScale.x, Mathf.Abs(camera.yMin - y - 1f), transform.localScale.z); Director.GetInstance().waterHeight = y + 0.25f; }
private void Update() { ScoreBar.GetInstance().SetLives(lives); Rect cameraRect = CameraMovement.CameraRect(); if ((transform.position.y < cameraRect.yMin || transform.position.x < cameraRect.xMin) && state == State.ALIVE) { Die(); } }
// Start is called before the first frame update void Start() { instance = this; distanceGenerated = CameraMovement.CameraRect().center.x; platforms = new List <RenderedPlatform>(); foreach (GameObject platform in startingPlatforms) { platforms.Add(new RenderedPlatform(platform)); } groundedPlatforms.Sort(new LengthCompare()); }
// Update is called once per frame void Update() { Rect rect = CameraMovement.CameraRect(); GameObject player = GameObject.FindGameObjectWithTag("Player"); if (player != null && !shattering && PlayerGG.GetInstance().state == PlayerGG.State.ALIVE && (Mathf.Abs(transform.position.x - player.transform.position.x) < distance || transform.position.y > rect.yMax)) { shattering = true; StartCoroutine(Shatter()); } }
IEnumerator ShatterSky() { GameObject player = GameObject.FindGameObjectWithTag("Player"); while (true) { Rect rect = CameraMovement.CameraRect(); float xPos = UnityEngine.Random.Range((rect.xMin + rect.xMax) * 0.5f, rect.xMax); GameObject go = Instantiate(shatters[UnityEngine.Random.Range(0, shatters.Count)], new Vector3(xPos, rect.yMax + 7f, transform.position.z), transform.rotation); go.transform.eulerAngles = new Vector3(0f, 0f, 90f); Vector3 pos = go.transform.position; go.AddComponent <ShatterPlatform>(); yield return(new WaitForSeconds(UnityEngine.Random.Range(1.4f, 2.2f))); } }
IEnumerator CleanupFragments() { while (true) { yield return(new WaitForSeconds(10f)); Rect rect = CameraMovement.CameraRect(); foreach (GameObject go in GameObject.FindGameObjectsWithTag("Fragment")) { // check for cleanup: if the fragment is 10 units away if (Mathf.Abs(go.transform.position.x - rect.xMax) > 10f && Mathf.Abs(go.transform.position.x - rect.xMin) > 10f || Mathf.Abs(go.transform.position.y - rect.yMax) > 10f && Mathf.Abs(go.transform.position.y - rect.yMin) > 10f) { Destroy(go); } } } }
GameObject FindRespawnPlatform() { Director director = Director.GetInstance(); List <GameObject> platforms = director.GetPlatforms().ToList(); float cameraVelocity = Camera.main.GetComponent <CameraMovement>().speed.x; Rect cameraRect = CameraMovement.CameraRect(); foreach (GameObject platform in platforms) { //check that it's on screen and that it will still be on screen after respawn if (platform.transform.position.x - (1.5 * respawnTime * cameraVelocity) > cameraRect.xMin) { return(platform); } } //if nothing found, just pack last element and pray Debug.Log("WARNING: No suitable respawn platform, f**k it...."); return(platforms[platforms.Count - 1]); }
// Start is called before the first frame update void Start() { // scale PlatformBottom downwards Rect rect = CameraMovement.CameraRect(); Transform bot = transform.Find("PlatformBottom"); if (bot != null) { bottom = bot.gameObject; bottom.transform.position = new Vector3(bottom.transform.position.x, (rect.yMin + transform.position.y) * 0.5f, bottom.transform.position.z); SpriteRenderer sr = bottom.GetComponent <SpriteRenderer>(); float spriteScale = transform.localScale.y * sr.sprite.rect.height / sr.sprite.pixelsPerUnit; bottom.transform.localScale = new Vector3(bottom.transform.localScale.x, Mathf.Abs(rect.yMin - transform.position.y) / spriteScale, bottom.transform.localScale.z); } UpdateClimateEvents(); }
// Update is called once per frame void Update() { //get camera pose Rect cameraView = CameraMovement.CameraRect(); //create batch of platforms whenever camera is within given distance of the end of the last run if (cameraView.xMax + LOOKAHEAD_DISTANCE > distanceGenerated) { //generate run of new platforms float targetDistance = distanceGenerated + RUN_LENGTH; while (distanceGenerated < targetDistance) { RenderedPlatform platform = (Random.value > 0.65) ? GenerateStaticHeightPlatform(cameraView) : (ClimateEvents.GetInstance().waterLevel ? GenerateStaticHeightPlatform(cameraView) : GenerateVariableHightPlatform(cameraView)); distanceGenerated = platform.upperRight.x; platforms.Add(platform); } } //discard old platforms for (int i = 0; i < platforms.Count; i++) { if (platforms[i].obj == null) { platforms.RemoveAt(i); i--; continue; } if (platforms[i].obj.transform.position.x + (platforms[i].width / 2) < cameraView.xMin) { Destroy(platforms[i].obj); platforms.RemoveAt(i); i--; } } }
// Start is called before the first frame update void Start() { transform.position = new Vector3(0, 0, transform.position.z); transform.localScale = CameraMovement.CameraRect().size * 1f; r = GetComponent <Renderer>(); }
// Start is called before the first frame update void Start() { float xPos = CameraMovement.CameraRect().xMin + GetComponent <SpriteRenderer>().bounds.extents.y; transform.position = new Vector3(xPos, transform.position.y, transform.position.z); }
// Update is called once per frame protected virtual void Update() { if (!inputEnabled) { UpdateAnimation(true); return; } playerInput.UpdateInput(); body.gravityScale = gravity; body.drag = 0f; bool grounded = Grounded(); if (squat) { squatCount++; //Debug.Log(squatCount); } //Tests Grounded() //if (grounded) //{ // sr.color = new Color(sr.color.r, sr.color.g, sr.color.b, 1f); //} //else //{ // sr.color = new Color(sr.color.r, sr.color.g, sr.color.b, 0.5f); //} int hDirection = (playerInput.xmovement < 0 && Movable()) ? -1 : (playerInput.xmovement > 0 && Movable()) ? 1 : 0; float windSpeed = 0f; if (ClimateEvents.GetInstance().wind&& !grounded) { windSpeed = -3f; } Director.GetInstance().xVelocity = Mathf.Abs(horizontalSpeed) + GetCameraSpeed() * 0.6f + windSpeed; if (hDirection < 0) { body.velocity = new Vector2(horizontalSpeed * playerInput.xmovement + GetCameraSpeed() * 0.6f + windSpeed, body.velocity.y); } else if (hDirection > 0) { body.velocity = new Vector2(horizontalSpeed * playerInput.xmovement + GetCameraSpeed() * 0.6f + windSpeed, body.velocity.y); } else { if (grounded) { body.velocity = new Vector2(0, body.velocity.y); } else { body.velocity = new Vector2(GetCameraSpeed() * 0.6f, body.velocity.y); } } animator.SetBool("Jumpsquat", playerInput.up && Jumpable()); if (playerInput.up && Jumpable()) { if (!squat) { squat = true; } } if (playerInput.up) { body.gravityScale = gravity * 0.5f; } if (squatCount == SQUATLENGTH) { squat = false; squatCount = 0; body.velocity = new Vector2(body.velocity.x, jumpSpeed); // Change jump height based on if key is held //if (Input.GetKeyDown("up")) //{ // body.velocity = new Vector2(body.velocity.x, jumpSpeed); //} //else //{ // body.velocity = new Vector2(body.velocity.x, (int) 0.5 * jumpSpeed); //} } // animate with blend tree //animator.SetFloat("VelocityX", hDirection); if (hDirection != 0) { //animator.SetFloat("FacingX", hDirection); facingX = hDirection; } //animator.SetFloat("VelocityY", Mathf.Sign(body.velocity.y)); //animator.SetBool("Grounded", grounded); if (hDirection > 0) { sr.flipX = false; } else if (hDirection < 0) { sr.flipX = true; } if (body.velocity.y < MAXFALLSPEED) { body.velocity = new Vector2(body.velocity.x, MAXFALLSPEED); } if (transform.position.x > CameraMovement.CameraRect().xMax) { transform.position = new Vector3(CameraMovement.CameraRect().xMax, transform.position.y, transform.position.z); } UpdateAnimation(grounded); }
// Start is called before the first frame update void Start() { transform.position += (Vector3)CameraMovement.CameraRect().size; }
// Start is called before the first frame update void Start() { transform.position = new Vector3(0, 0, transform.position.z); transform.localScale = CameraMovement.CameraRect().size * 1.05f; }