void GoBack() { Vector3 lerped = Vector3.Lerp(startpos, endpos, lv); lx = lerped.x; ly = lerped.y; lv += dl; if (lv > 1f) { selected = trayectory.nothing; } }
void GoForward() { Vector3 lerped = Vector3.Lerp(startpos, direction, lv); lx = lerped.x; ly = lerped.y; lv += dl; if (lv > 1f) { selected = trayectory.spyrog; } }
void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Hitbox") { bool right = mainCharacter.GetComponent <CustomController>().right; int r = 1; if (!right) { r = -1; } direction = r * this.transform.right + this.transform.up * 3f; //direction = direction; startpos = this.transform.position; selected = trayectory.gotohell; lv = 0f; } }
// Update is called once per frame void Update() { targetPos = mainCharacter.transform.position + new Vector3(0.0f, 0.1f, 0.0f); if (Input.GetKeyDown(KeyCode.X) && selected != trayectory.back) { startpos = this.transform.position; endpos = targetPos; selected = trayectory.back; lv = 0f; } switch (selected) { case trayectory.orbit: Oribt(); break; case trayectory.spyrog: Spirograph(); break; case trayectory.back: GoBack(); break; case trayectory.gotohell: GoForward(); break; default: break; } t += dt; transform.position = targetPos + new Vector3(lx, ly, 0.0f); }