示例#1
0
    // Update is called once per frame
    void Update()
    {
        //Physics2D.OverlapPoint (transform.position);

        if (FindTime < Time.time)
        {
            FindTime = Time.time + FineTimeLength;
            if (aMobManager.MobExit && target)
            {
                Collider c     = target.GetComponent <Collider> ();
                bool     isHit = c.bounds.Contains(transform.position);
                //Moving=isHit;
                if (isHit)
                {
                    if (c.gameObject.CompareTag("mob"))                                     //這是攻擊的時候
                    {
                        mc           = c.GetComponent <mobcontroller>();
                        timer       -= Time.deltaTime;
                        mc.atkTimer -= Time.deltaTime;
                        //mc.TriggerStay(GetComponent<Collider>());
                        if (timer <= 0)
                        {
                            mc.Hitmob(hurt);
                            timer = atkspeed;
                        }
                        if (mc.atkTimer <= 0)
                        {
                            Hitplayer(mc.hurt);
                            mc.atkTimer = 3;
                        }
                    }
                }
            }
        }
        if (!target)
        {
            ChooseNearestMob();
        }

        if (aMobManager.MobExit && target)
        {
            followmob();
        }
        else
        {
            targeted = false;
        }

        if (targeted == true)
        {
            far_atk();
        }
        if (hp <= 0)
        {
            OnDisable();
        }
    }
示例#2
0
    // Update is called once per frame
    void Update()
    {
        //Physics2D.OverlapPoint (transform.position);

        if (FindTime < Time.time)
        {
            FindTime = Time.time + FineTimeLength;
            if (aMobManager.MobExit && target) {
                Collider c= target.GetComponent<Collider> ();
                bool isHit= c.bounds.Contains (transform.position);
                //Moving=isHit;
                if (isHit) {

                    if (c.gameObject.CompareTag("mob"))                 //這是攻擊的時候
                    {
                        mc= c.GetComponent<mobcontroller>();
                        timer -= Time.deltaTime;
                        mc.atkTimer -= Time.deltaTime;
                        //mc.TriggerStay(GetComponent<Collider>());
                        if (timer <= 0)
                        {
                            mc.Hitmob(hurt);
                            timer = atkspeed;
                        }
                        if(mc.atkTimer <= 0){
                            Hitplayer(mc.hurt);
                            mc.atkTimer = 3;
                        }
                    }
                }
            }
        }
        if(!target){
            ChooseNearestMob();
        }

        if (aMobManager.MobExit && target) {
            followmob ();
        } else {
            targeted = false;
        }

        if (targeted == true)
            far_atk();
        if (hp <= 0)
        {
            OnDisable();
        }
    }