Пример #1
0
    private void ScanArea()
    {
        Time_PatrolWaitTime_Current += Time.deltaTime;
        if (Time_PatrolWaitTime_Current >= Time_PatrolWaitTime_Total)
        {
            PatrolPoints_Index++;
            if (PatrolPoints_Index >= PatrolPoints.Count)
            {
                PatrolPoints_Index = 0;
            }

            SetMoveTarget(PatrolPoints[PatrolPoints_Index].transform.position);
            StatePatrol = EnemyState_Patrol.MovingToPatrolPoint;
            Time_PatrolWaitTime_Current = 0;
        }
    }
Пример #2
0
    private void MoveToPatrolPoint()
    {
        // set facing direction
        Vector3 lookAtPosition = new Vector3(TargetPosition.x,
                                             transform.position.y,
                                             TargetPosition.z);

        transform.LookAt(lookAtPosition);

        transform.position = Vector3.MoveTowards(transform.position, TargetPosition, MoveSpeed * Time.deltaTime);

        // close enough to taret?
        if ((transform.position - TargetPosition).magnitude < PositionClosityThreshold)
        {
            transform.position = TargetPosition;
            StatePatrol        = EnemyState_Patrol.Scanning;
        }
    }
Пример #3
0
 private void Start()
 {
     SetMoveTarget(PatrolPoints[PatrolPoints_Index].transform.position);
     StatePatrol = EnemyState_Patrol.MovingToPatrolPoint;
 }