void Update() { if (!npc_Movement.Waiting) { lightAngle = Vector2.Angle(npc_Movement.points[npc_Movement.currentPoint].transform.position - transform.position, Vector2.right); lightAngle = lightAngle * Mathf.Sign(npc_Movement.points[npc_Movement.currentPoint].transform.position.y - transform.position.y); } else { wp_s = npc_Movement.points[npc_Movement.currentPoint].GetComponent <Waypoints_System>(); StartCoroutine(LookAround()); } CreateVectors(); }
void Update() { // Если enemy дошёл до последнего поинта то переворачиваем массив и он(enemy) идёт обратно if (currentPoint == points.objects.Length) { for (int i = 0; i < points.objects.Length; i++) { points[i] = TempBack[i]; } currentPoint = 0; }// Аналогично но только вперед else if (currentPoint == 0) { for (int i = 0; i < points.objects.Length; i++) { points[i] = TempFoward[i]; } } float currentDistance = Vector3.Distance(transform.position, points[currentPoint].position); if (currentDistance <= Distance) { if (points[currentPoint].tag == "Wait") { if (!Waiting) { wp_s = points[currentPoint].GetComponent <Waypoints_System>(); // Остановится на заданное кол-во секунд StartCoroutine(stop()); Waiting = true; } } else { currentPoint++; } } Vector3 directionToPoint = points[currentPoint].position - transform.position; transform.position = Vector3.MoveTowards(transform.position, points[currentPoint].position, Speed * Time.deltaTime); }
public override void OnInspectorGUI() { serializedObject.Update(); ws = (Waypoints_System)target; EditorGUILayout.LabelField("________________________________________________________________________________"); _turnLeft.boolValue = EditorGUILayout.Toggle("isTurnLeft", _turnLeft.boolValue); if (_turnLeft.boolValue && !lastLeft) { _turnRight.boolValue = false; _turnDown.boolValue = false; _turnUp.boolValue = false; } _turnRight.boolValue = EditorGUILayout.Toggle("isTurnRight", _turnRight.boolValue); if (_turnRight.boolValue && !lastRight) { _turnLeft.boolValue = false; _turnDown.boolValue = false; _turnUp.boolValue = false; } _turnDown.boolValue = EditorGUILayout.Toggle("isTurnDown", _turnDown.boolValue); if (_turnDown.boolValue && !lastDown) { _turnLeft.boolValue = false; _turnRight.boolValue = false; _turnUp.boolValue = false; } _turnUp.boolValue = EditorGUILayout.Toggle("isTurnUp", _turnUp.boolValue); if (_turnUp.boolValue && !lastUp) { _turnLeft.boolValue = false; _turnRight.boolValue = false; _turnDown.boolValue = false; } EditorGUILayout.LabelField("________________________________________________________________________________"); ws.lookLeft = EditorGUILayout.IntField("lookLeft", ws.lookLeft); ws.lookRight = EditorGUILayout.IntField("lookRight", ws.lookRight); ws.lookDown = EditorGUILayout.IntField("lookDown", ws.lookDown); ws.lookUp = EditorGUILayout.IntField("lookLeft", ws.lookUp); serializedObject.ApplyModifiedProperties(); }