void FixedUpdate() { // Debug.Log(Boosters.isPlaying); //Debug.Log(currentHP); if (currentHP <= 0) { if (currentHP < 0) { currentHP = 0; } dead = true; if (dead == true && createdSpark == false) { createdSpark = true; Vector3 deathPos = this.gameObject.transform.position; GameObject E = Instantiate(deathSpark, deathPos, Quaternion.identity); E.transform.parent = gameObject.transform; StartCoroutine(Reload()); } } //if (isBoosting == true && Time.time > timeStampDeplete && currentEnergy > LC.consumptionRate) //{ // if (!AM.Playing("Boosters")) // { // AM.Play("Boosters"); // } // timeStampDeplete = Time.time + LC.consumptionRate; // currentEnergy -= 10; //} //else if (isBoosting == false && Time.time > timeStampCharge && currentEnergy < maxEnergy) //{ // if (AM.Playing("Boosters")) // { // AM.Stop("Boosters"); // } // currentEnergy += 10; // timeStampCharge = Time.time + TC.chargeRate; //} ////boosters and movement /// if (!dead) { if (isBoosting)// && currentEnergy > LC.consumptionRate) { if (!Boosters.isPlaying) { Boosters.Play(); } rb.MovePosition(rb.position + movement * LC.boosters * Time.fixedDeltaTime); //Debug.Log("Space"); //Anim.SetInteger("ArmorSet", -1); SRLegs.sprite = LC.part; Anim.speed = 0; } else { if (Boosters.isPlaying) { Boosters.Stop(); } rb.MovePosition(rb.position + movement * LC.walkSpd * Time.fixedDeltaTime); if (Anim.GetInteger("ArmorID") < 0) { Anim.SetInteger("ArmorID", 6); } if (movement != Vector2.zero) { Anim.speed = 1; } else { Anim.speed = 0; } } Vector2 lookDir = (Vector2)Player.transform.position - rb.position; float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f; rb.rotation = angle; } }
void FixedUpdate() { if (active) { //Debug.Log(currentHP); if (currentHP <= 0) { if (currentHP < 0) { currentHP = 0; } dead = true; if (dead == true && createdSpark == false) { createdSpark = true; Vector3 deathPos = this.gameObject.transform.position; GameObject E = Instantiate(deathSpark, deathPos, Quaternion.identity); E.transform.parent = gameObject.transform; //StartCoroutine(Reload()); } } if (inCannonRange && Time.time > timeStampturn) { Turn(); timeStampturn = Time.time + 0.5f; } if (!dead) { if (isBoosting && !overheating && Time.time > timeStampDeplete && currentEnergy > LC.consumptionRate) { timeStampDeplete = Time.time + LC.consumptionRate; //currentEnergy -= 10; } else if (isBoosting == false && Time.time > timeStampCharge && currentEnergy < maxEnergy) { currentEnergy += 10; timeStampCharge = Time.time + TC.chargeRate; } if (currentEnergy <= LC.consumptionRate) { overheating = true; } else if (currentEnergy >= maxEnergy / 4) { overheating = false; } if (isBoosting) { if (boosttimer <= 0.0f) { boosttimer = 0.2f; } } if (isBoosting || boosttimer > 0.0f) { boosttimer -= Time.deltaTime; if (!Boosters.isPlaying) { Boosters.Play(); } SRLegs.sprite = LC.part; Anim.speed = 0; } else { if (Boosters.isPlaying) { Boosters.Stop(); } if (Anim.GetInteger("ArmorID") < 0) { Anim.SetInteger("ArmorID", 12); } } float distance = Vector3.Distance(transform.position, Player.transform.position); //if (BR.near && !overheating) //{ // isBoosting = true; //} //else if (distance < 10f && !overheating) //{ // isBoosting = true; //} //else if (BR.near == false || overheating) //{ // isBoosting = false; //} // // movement = movement * -1; // //go back //} //else if (distance > 7f) //{ // backwards = false; // isBoosting = true; // // movement = movement; // //go back //} //if (inCannonRange) //{ // isBoosting = true; //} //else //{ // isBoosting = false; //} if (isBoosting) { if (Left) { Debug.Log("BoostL"); rb.MovePosition(rb.position + (movement + (Vector2)transform.right) * LC.boosters * Time.fixedDeltaTime); } else if (Right) { Debug.Log("BoostR"); rb.MovePosition(rb.position + (movement - (Vector2)transform.right) * LC.boosters * Time.fixedDeltaTime); } else { rb.MovePosition(rb.position + (movement) * LC.boosters * Time.fixedDeltaTime); } } else { if (Left) { rb.MovePosition(rb.position + (movement + (Vector2)transform.right) * LC.walkSpd * Time.fixedDeltaTime); } else if (Right) { rb.MovePosition(rb.position + (movement - (Vector2)transform.right) * LC.walkSpd * Time.fixedDeltaTime); } else { rb.MovePosition(rb.position + (movement) * LC.walkSpd * Time.fixedDeltaTime); } } if (movement != Vector2.zero) { Anim.speed = 1; } else { Anim.speed = 0; } Vector2 lookDir = (Vector2)Player.transform.position - rb.position; float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f; rb.rotation = angle; } } }
void FixedUpdate() { if (active) { //Debug.Log(currentHP); if (currentHP <= 0) { if (currentHP < 0) { currentHP = 0; } dead = true; if (dead == true && createdSpark == false) { createdSpark = true; Vector3 deathPos = this.gameObject.transform.position; GameObject E = Instantiate(deathSpark, deathPos, Quaternion.identity); E.transform.parent = gameObject.transform; StartCoroutine(Reload()); } } if (inCannonRange && Time.time > timeStampturn) { Turn(); timeStampturn = Time.time + 1f; } if (!dead) { if (isBoosting) { if (!Boosters.isPlaying) { Boosters.Play(); } SRLegs.sprite = LC.part; Anim.speed = 0; } else { if (Boosters.isPlaying) { Boosters.Stop(); } if (Anim.GetInteger("ArmorID") < 0) { Anim.SetInteger("ArmorID", 5); } } if (BR.near) { isBoosting = true; } float distance = Vector3.Distance(transform.position, Player.transform.position); if (distance < 7.25f) { backwards = true; if (BR.near == false) { isBoosting = false; } // movement = movement * -1; //go back } else if (distance > 15f) { backwards = false; isBoosting = true; // movement = movement; //go back } if (flagB.hittingWall) { backwards = false; } if (backwards) { movement = movement * -1; } if (isBoosting) { if (Left) { rb.MovePosition(rb.position + (movement + (Vector2)transform.right) * LC.boosters * Time.fixedDeltaTime); } else if (Right) { rb.MovePosition(rb.position + (movement - (Vector2)transform.right) * LC.boosters * Time.fixedDeltaTime); } } else { if (Left) { rb.MovePosition(rb.position + (movement + (Vector2)transform.right) * LC.walkSpd * Time.fixedDeltaTime); } else if (Right) { rb.MovePosition(rb.position + (movement - (Vector2)transform.right) * LC.walkSpd * Time.fixedDeltaTime); } } if (movement != Vector2.zero) { Anim.speed = 1; } else { Anim.speed = 0; } Vector2 lookDir = (Vector2)Player.transform.position - rb.position; float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f; rb.rotation = angle; } } }