Hi guys, I’m busy with making a TDgame… Every time there occurs an error when I’m playing.
MissingFieldException: UnityEngine.Vector3.position
Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.FindExtension (IEnumerable`1 candidates)
Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.Create (SetOrGet gos)
Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.CreateGetter ()
Boo.Lang.Runtime.RuntimeServices.DoCreatePropGetDispatcher (System.Object target, System.Type type, System.String name)
Boo.Lang.Runtime.RuntimeServices.CreatePropGetDispatcher (System.Object target, System.String name)
Boo.Lang.Runtime.RuntimeServices+c__AnonStorey17.<>m__C ()
Boo.Lang.Runtime.DynamicDispatching.DispatcherCache.Get (Boo.Lang.Runtime.DynamicDispatching.DispatcherKey key, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetProperty (System.Object target, System.String name)
UnityScript.Lang.UnityRuntimeServices.GetProperty (System.Object target, System.String name)
var bullet : GameObject;
//tower objects
var frame : GameObject;
var barrel : GameObject;
var muzzlePositions : Transform[];
//Tower reload
var reloadTime : float;
var firePauseTime : float = 0.5f;
private var nextFireTime : float;
private var nextMoveTime : float;
//rest
var building : boolean = false; //true while building
var shootSound : AudioClip;
//positions en rotations
var rotationSpeed : int;
private var myTarget : Transform;
private var horizontalRotation : Quaternion;
private var verticalRotation : Quaternion;
function FixedUpdate () {
if (!building) {
if (myTarget) {
if (Time.time >= nextMoveTime) {
Aim(myTarget.position);
}
if (Time.time >= nextFireTime) {
Fire();
}
}
}
}
function OnTriggerEnter (other : Collider) {
if (other.tag == "enemy") {
myTarget = other.gameObject.transform;
nextFireTime = Time.time + reloadTime;
}
}
function OnTriggerExit (other : Collider) {
if (other.gameObject.transform == myTarget) {
myTarget = null;
}
}
function Aim (targetPosition : Vector3) {
horizontalRotation = Quaternion.LookRotation(Vector3(targetPosition.position.x, 0, targetPosition.position.z));
verticalRotation = Quaternion.LookRotation(Vector3(0, targetPosition.position.y, 0));
frame.rotation = Quaternion.Lerp(frame.rotation, horizontalRotation, Time.deltaTime * rotationSpeed);
barrel.rotation = Quaternion.Lerp(barrel.rotation, verticalRotation, Time.deltaTime * rotationSpeed);
}
function Fire () {
//audio.Play(shootSound); <- this won't work because 'no apropiate version'
nextFireTime = Time.time + reloadTime;
nextMoveTime = Time.time + firePauseTime;
for (muzzles in muzzlePositions) {
Instantiate(bullet, muzzles.position, muzzles.rotation);
}
}
Thank you!