Beispiel #1
0
    void OnTriggerStay2D(Collider2D other)
    {
        ATPT_BrushSprite brs =
            other.GetComponent <ATPT_BrushSprite>();

        if (brs == null)
        {
            return;
        }

        SpriteRenderer sr = GetComponent <SpriteRenderer> ();
        int            长  = sr.sprite.texture.width;
        int            宽  = sr.sprite.texture.height;

        SpriteRenderer srTgt =
            brs.GetComponent <SpriteRenderer> ();

        srTgt.sprite = Sprite.Create(
            sr.sprite.texture,
            new Rect(0, 0, 长, 宽),
            0.5f * Vector2.one);
        srTgt.color = sr.color;

        Destroy(gameObject);
    }
Beispiel #2
0
    public void OnTriggerStay2D(Collider2D other)
    {
        ATPT_BrushSprite brs = other.GetComponent <ATPT_BrushSprite> ();

        if (brs != null)
        {
            brs.Die();
        }
    }
Beispiel #3
0
    void OnTriggerStay2D(Collider2D other)
    {
        ATPT_BrushSprite brs = other.GetComponent <ATPT_BrushSprite> ();

        if (brs == null)
        {
            return;
        }
        _触发.Invoke();
    }
Beispiel #4
0
    public ATPT_BrushSprite GetBrushSprite()
    {
        if (_ExistingSP == null)
        {
            return(null);
        }
        ATPT_BrushSprite brs =
            _ExistingSP.GetComponentInChildren <ATPT_BrushSprite> ();

        return(brs);
    }
Beispiel #5
0
    void OnTriggerExit2D(Collider2D other)
    {
        ATPT_BrushSprite brs = other.GetComponent <ATPT_BrushSprite> ();

        if (brs == null)
        {
            _brs = null;
            return;
        }
        _Lost.Invoke();
        _brs = brs;
        GetComponent <SpriteRenderer> ().color = _CrAlert;
    }
Beispiel #6
0
    void OnTriggerStay2D(Collider2D other)
    {
        ATPT_BrushSprite brs = other.GetComponent <ATPT_BrushSprite> ();

        if (brs == null)
        {
            _brs = null;
            return;
        }
        _Seeing.Invoke();
        _brs = brs;
        GetComponent <SpriteRenderer> ().color = _CrSeeing;
    }
Beispiel #7
0
    void OnTriggerStay2D(Collider2D other)
    {
        ATPT_BrushSprite brSp = other.GetComponent <ATPT_BrushSprite> ();

        if (brSp == null)
        {
            return;
        }
        else
        {
            brSp._Runner._Status.AddHP(HP);
            _Aid.Invoke();
            Destroy(gameObject);
        }
    }
Beispiel #8
0
    void Start()
    {
        Rigidbody2D rb = GetComponent <Rigidbody2D> ();

        ATPT_BrushSprite brs = _Player.GetBrushSprite();

        if (brs == null)
        {
            return;
        }

        float force = _ForceMultiplier * brs._Runner.GetSpeed() * _ForceMulitSpd;

        Vector2 Force = force * Random.insideUnitCircle;

        rb.AddForceAtPosition(
            Force,
            _ForcePosDist * Random.insideUnitCircle,
            ForceMode2D.Impulse);
    }
Beispiel #9
0
    void OnTriggerStay2D(Collider2D other)
    {
        ATPT_BrushSprite brs = other.GetComponent <ATPT_BrushSprite> ();

        if (brs == null)
        {
            return;
        }

        float spd = brs._Runner._Speed;

        if (spd < _SpdThres)
        {
            brs.Die();
        }
        else
        {
            _Broken.Invoke();
            Destroy(gameObject);
        }
    }
Beispiel #10
0
    // Update is called once per frame
    void Update()
    {
        Rigidbody2D rb = GetComponent <Rigidbody2D> ();

        rb.velocity *= 0.95f;
        ATPT_BrushSprite _TgtBrSprite =
            _Player.GetBrushSprite();

        if (_TgtBrSprite == null)
        {
            return;
        }
        if (_bChasing && _TgtBrSprite != null)
        {
            Vector3 Shift =
                _TgtBrSprite.transform.position - transform.position;
            Vector3 TgtVel = Shift.normalized;
            Vector3 Vel    = rb.velocity;
            Vector3 Force  = _Speed * (TgtVel - Vel);
            rb.AddForce(Force);
        }
    }
Beispiel #11
0
    void OnTriggerStay2D(Collider2D other)
    {
        //Debug.Log ("Trigger!");
        if (_BrSp != null)
        {
            return;
        }

        ATPT_BrushSprite brs =
            other.GetComponent <ATPT_BrushSprite>();

        if (brs == null)
        {
            return;
        }
        _BrSp = brs;

        _SpriteObj.SetActive(true);

        SpriteRenderer sr = GetComponent <SpriteRenderer> ();

        sr.enabled = false;
    }
Beispiel #12
0
    void OnTriggerEnter2D(Collider2D other)
    {
        ATPT_BrushSprite brs = other.GetComponent <ATPT_BrushSprite> ();

        if (brs == null)
        {
            return;
        }

        float scl = brs.transform.lossyScale.x;

        float myScl = transform.lossyScale.x;

        //Debug.Log ("scl:" + scl + " blockScl:" + myScl);
        bool bBlock = false;

        if (_blkType == BlockType.LARGER)
        {
            bBlock = (scl > myScl);
        }
        else if (_blkType == BlockType.SMALLER)
        {
            bBlock = (scl < myScl);
        }

        if (bBlock)
        {
            brs.Die();
            _Kill.Invoke();
        }
        else
        {
            _Solve.Invoke();
            Destroy(gameObject);
        }
    }