#pragma strict
var keyTurnLeft :String;
var keyTurnRight :String;
var keyThrust :String;
var keyReverseThrust :String;
var keyFire :String;
var thrustTurnPower :float;
var thrustPower :float;
var boostersPrefab :GameObject;
var boostersPos :GameObject;
private var instanBoosters;
private var instanBoostersExist :boolean;
function Start () {
}
function Update () {
if(Input.GetKey(keyTurnLeft))
{
GetComponent.().AddTorque(Vector3.up * -thrustTurnPower, ForceMode.Acceleration);
}
else if(Input.GetKey(keyTurnRight))
{
GetComponent.<Rigidbody>().AddTorque(Vector3.up * thrustTurnPower, ForceMode.Acceleration);
}
else
{
GetComponent.<Rigidbody>().angularVelocity = Vector3.zero;
}
if(Input.GetKey(keyThrust))
{
StartBoosters();
GetComponent.<Rigidbody>().AddForce(transform.forward * thrustPower, ForceMode.Acceleration);
}
else if(Input.GetKey(keyReverseThrust))
{
StartBoosters();
GetComponent.<Rigidbody>().AddForce(transform.forward * -thrustPower, ForceMode.Acceleration);
}
else
{
StopBoosters();
}
}
function StartBoosters()
{
if(instanBoostersExist == false)
{
instanBoosters = Instantiate(boostersPrefab, boostersPos.transform.position, boostersPos.transform.rotation);
instanBoosters.transform.parent = boostersPos.transform;
instanBoostersExist = true;
}
}
function StopBoosters()
{
if(instanBoostersExist == true)
{
var emitter :ParticleEmitter = instanBoosters.GetComponent(“ParticleEmitter”);
emitter.emit = false;
Destroy(instanBoosters, .75);
instanBoostersExist = false;
}
else
return;
}