Hia I've been trying to make an object "Tower" look at the object "Enemy" however I've been getting the error "An object reference is required for the non-static field, method, or property 'Enemy.position' "
This is the class for the Enemy where I've tried to define the position of the enemy for the Tower to reference to.
Does anyone know how this can be fixed? Thanks
public class Enemy : MonoBehaviour {
public float speed = 1.5f;
public Vector3 position;
private Vector3 target;
void Start()
{
target = transform.position;
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
target = Camera.main.ScreenToWorldPoint(Input.mousePosition);
target.z = transform.position.z;
}
transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime);
position = GameObject.Find("enemy").transform.position;
}
}
Here is the class for the Tower where "var lookPos = Enemy.position - transform.position;" is causing the error.
public class Tower : MonoBehaviour {
public GameObject towerPrefab;
public float speed = 1f;
private bool canPlaceTower()
{
return tower == null;
}
private GameObject tower;
// Use this for initialization
void Start()
{
}
void Update()
{
var lookPos = Enemy.position - transform.position;
lookPos.y = 0;
var rotation = Quaternion.LookRotation(lookPos);
transform.rotation = Quaternion.Lerp(transform.rotation, rotation, speed * Time.time);
transform.Rotate(0, -90, 0);
}
}