コード例 #1
0
 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;
 }
コード例 #2
0
 public void StopAttract()
 {
     print("Stopping attract");
     tvForce             = null;
     isAttracted         = false;
     mover.allowMovement = true;
     rb.velocity         = Vector2.zero;
     tickRate            = 1f;
 }
コード例 #3
0
ファイル: Remote.cs プロジェクト: emelent/wgj-82
    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);
            }
        }
    }