public void BeginAttract(TvForce tvForce) { isAttracted = true; mover.allowMovement = false; mover.Move(new Vector2(0, 0)); animator.SetBool("moving", false); this.tvForce = tvForce; tickRate = tvForce.tickRate; }
public void StopAttract() { print("Stopping attract"); tvForce = null; isAttracted = false; mover.allowMovement = true; rb.velocity = Vector2.zero; tickRate = 1f; }
public void Click() { if (!spriteRenderer.enabled) { return; } if (numClicks < 1) { GM.instance.audioManager.PlaySound("EmptyClick"); return; } animator.Play("Click"); GM.instance.audioManager.PlaySound("RemoteClick"); clickText.text = "Clicks " + numClicks; // Raycast remote range Vector2 firePos = firePoint.position; Vector2 dir = (firePos - (Vector2)transform.position).normalized; RaycastHit2D hit = Physics2D.Raycast(firePos, dir, range, whatToHit); Vector2 dist = (firePos - (Vector2)transform.position); print("magnitude " + dist.magnitude); if (hit.collider) { print("Hit collider"); numClicks--; TvForce tvForce = hit.collider.GetComponentInParent <TvForce>(); tvForce.ToggleTvForce(!tvForce.isOn); } else if (dist.magnitude < maxReceptionDist) { numClicks--; var tvForce = GetComponentInParent <Player>().tvForce; if (tvForce) { tvForce.ToggleTvForce(!tvForce.isOn); } } }