I was was wondering if anyone could translate this javascript into C# form.
#pragma strict
var rocketSpeed : float;
var turnSpeed : float;
function Start () {
}
function FixedUpdate () {
var targets : GameObject[] = GameObject.FindGameObjectsWithTag("Enemy");
var closest : GameObject ;
var closestDist = Mathf.Infinity;
transform.position += transform.forward * rocketSpeed * Time.deltaTime;
for(Target in targets)
{
var dist = (transform.position - Target.transform.position).sqrMagnitude;
if(dist < closestDist)
{
closestDist = dist;
closest = Target;
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(closest.transform.position - transform.position), turnSpeed*Time.deltaTime);
transform.position += transform.forward * rocketSpeed * Time.deltaTime;
}
}
Destroy(gameObject, 5);
}
rutter
2
Something like this should get you pretty close:
using UnityEngine;
using System.Collections;
public class Missile : MonoBehaviour {
public float rocketSpeed;
public float turnSpeed;
void FixedUpdate() {
GameObject[] targets = GameObject.FindGameObjectsWithTag("Enemy");
GameObject closest;
float closestDist = Mathf.Infinity;
transform.position += transform.forward * rocketSpeed * Time.deltaTime;
foreach (GameObject target in targets) {
float dist = (transform.position - Target.transform.position).sqrMagnitude;
if(dist < closestDist) {
closestDist = dist;
closest = Target;
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(closest.transform.position - transform.position), turnSpeed*Time.deltaTime);
transform.position += transform.forward * rocketSpeed * Time.deltaTime;
}
}
Destroy(gameObject, 5f);
}
}
Aside from a few minor syntax changes, it’s pretty much the same script.
NB: If there’s a syntax error above, I’ll fix it later.