protected override void onProcess(int familiesUpdateCount) { foreach (GameObject go in _MoveByClickGO) { vitesse v = go.GetComponent <vitesse> (); Transform tr = go.GetComponent <Transform> (); if (Input.GetMouseButtonDown(0)) { /*test * movement += Vector3.left; * tr.position += movement * v.speed * Time.deltaTime; * fin test */ Plane playerPlane = new Plane(Vector3.up, tr.position); Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); float hitdist = 0.0f; if (playerPlane.Raycast(ray, out hitdist)) { Vector3 targetPoint = ray.GetPoint(hitdist); targetPosition = ray.GetPoint(hitdist); Quaternion targetRotation = Quaternion.LookRotation(targetPoint - tr.position); tr.rotation = targetRotation; } } tr.position = Vector3.MoveTowards(tr.position, targetPosition, v.speed * Time.deltaTime); } }
// Use to process your families. protected override void onProcess(int familiesUpdateCount) { foreach (GameObject go in _MoveRandomGO) { vitesse v = go.GetComponent <vitesse> (); Transform tr = go.GetComponent <Transform> (); targetPosition = new Vector3(Random.Range(-4, 4), 0, Random.Range(-4, 4)); tr.position = Vector3.MoveTowards(tr.position, targetPosition, v.speed * Time.deltaTime); } }