Translate C# into Javascript
Hey guys! I am trying to translate a c# to javascript, but i find it very hard to do this. I have tried multiple times, but i had no luck. I would appreciate it if someone could help me.
C#:
using UnityEngine;
using System.Collections;
[RequireComponent (typeof (AudioSource))]
public class Gun : MonoBehaviour {
public enum GunType {Semi,Burst,Auto};
public GunType gunType;
public float rpm;
//Components:
public Transform spawn;
private LineRenderer tracer;
public Transform shellEjectionPoint;
public Rigidbody shell;
//System:
private float secondsBetweenShots;
private float nextPossibleShootTime;
void Start () {
secondsBetweenShots = 60 / rpm;
if (GetComponent<LineRenderer> ()) {
tracer = GetComponent<LineRenderer> ();
}
}
public void Shoot () {
if (CanShoot ()) {
Ray ray = new Ray (spawn.position, spawn.forward);
RaycastHit hit;
float shotDistance = 20;
if (Physics.Raycast (ray, out hit, shotDistance)) {
shotDistance = hit.distance;
}
nextPossibleShootTime = Time.time + secondsBetweenShots;
GetComponent<AudioSource>().Play ();
if (tracer) {
StartCoroutine("RenderTracer", ray.direction * shotDistance);
}
Rigidbody newShell = Instantiate(shell,shellEjectionPoint.position,Quaternion.identity) as Rigidbody;
newShell.AddForce(shellEjectionPoint.forward * Random.Range(150f,200f) + spawn.forward * Random.Range(-10f,10f));
}
}
public void ShootContinuous() {
if (gunType == GunType.Auto) {
Shoot();
}
}
private bool CanShoot() {
bool canShoot = true;
if (Time.time < nextPossibleShootTime) {
canShoot = false;
}
return canShoot;
}
IEnumerator RenderTracer (Vector3 hitPoint){
tracer.enabled = true;
tracer.SetPosition(0,spawn.position);
tracer.SetPosition(1,spawn.position + hitPoint);
yield return null;
tracer.enabled = false;
}
}
JS:
#pragma strict
var rpm : float;
//components:
public var spawn : Transform;
private var tracer : LineRenderer;
public var ShellEjectionPoint : Transform;
public var shell : Rigidbody;
//system:
private var SecondsBetweenShots : float;
private var NextPossibleShootTime : float;
function Start () {
SecondsBetweenShots = 60 / rpm;
if (GetComponent.LineRenderer) {
tracer = GetComponent.LineRenderer;
}
}
function Update () {
}
Thanks!
Why do you need to translate it into javascript? You can use the two together just fine.
Because i want to edit the script, but i can not find any information without crashing the game with errors. If i convert it to javascript however, i will be able to adjust it the way i like it since i am more experienced with javascript.
Your answer
Follow this Question
Related Questions
Noob Here... Can you please give Script for moving a object into random Direction. 0 Answers
How to add a Type to a Class in Javascript? 1 Answer
OnCollisonEnter2D Not Firing after checking collider 1 Answer
Running C# Function from JS file 0 Answers
convert this 3 line code to c# ? i cant figure it out? 1 Answer