#pragma strict
var Effect : Transform;
var TheDammage = 100;
function Update () {
var hit : RaycastHit;
var ray : Ray = Camera.main.ScreenPointToRay(Vector3(Screen.width*0.5, Screen.height*0.5, 0));
if (Input.GetMouseButtonDown(0))
{
if (Physics.Raycast (ray, hit, 100))
{
var particleClone = Instantiate(Effect, hit.point, Quaternion.LookRotation(hit.normal));
Destroy(particleClone.gameObject, 2);
hit.transform.SendMessage("ApplyDammage", TheDammage, SendMessageOptions.DontRequireReceiver);
}
}
}
using UnityEngine;
using System.Collections;
public class RayCastShoooting : MonoBehaviour {
public GameObject Effect;
public float damage;
// Update is called once per frame
void Update () {
RaycastHit hit = new RaycastHit ();
Ray ray = camera.ScreenPointToRay(new Vector3(Screen.width/2, Screen.height/2, 0));
if(Input.GetMouseButtonDown(0))
{
if(Physics.Raycast(ray, out hit, 100))
{
GameObject particleClone = (GameObject)Instantiate(Effect, hit.point, Quaternion.identity);
Destroy (particleClone.gameObject, 2);
hit.transform.SendMessage("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);
}
}
}
}
I’m translating the to JavaScript to C# but I get this error:
InvalidCastException: Cannot cast from source type to destination type.
RayCastShoooting.Update () (at Assets/Scripts/RayCastShoooting.cs:19)