Page 418 - MDP2022-3
P. 418

public  bool  isCoroutineFinish  =  false;
                    IEnumerator  FollowTarget()
                    {


                            if  (enemy  !=  null  &&  !is_head_rotation_finish)
                            {
                                    controller.GetComponent<ContinuousTurnProviderBase>().enabled  =  false;
                                    controller.GetComponent<ContinuousMoveProviderBase>().enabled  =  false;


                                    Vector3  dir  =  enemy.transform.position  -  this.transform.position;
                                    dir.Normalize();
                                    while  (true)
                                    {
                                            t h i s . t r a n s f o r m . r o t a t i o n = Q u a t e r n i o n . L e r p ( t h i s . t r a n s f o r m . r o t a t i o n ,
                                            Quaternion.LookRotation(dir),  Time.deltaTime  *  speed);
                                            if  (isCoroutineFinish)
                                            {
                                                    break;
                                            }
                                            yield  return  null;
                                    }
                            }


                    }

                    public  void  HeadRotate_Finish()
                    {
                            is_head_rotation_finish  =  true;
                            isCoroutineFinish  =  true;
                            controller.GetComponent<ContinuousTurnProviderBase>().enabled  =  true;
                            controller.GetComponent<ContinuousMoveProviderBase>().enabled  =  true;
                    }


            }
   413   414   415   416   417   418   419   420   421   422   423