ive made this script and have had a bit of help but now i seem to get and error
and if you can help me set it to target the closest target(Enemy)/deselect when selecting new targget(Enemy) id be forever grateful
Assets/_Scripts/random scripts/PlayerAttack.cs(17,54): error CS0029: Cannot implicitly convert type UnityEngine.GameObject[]' to
System.Collections.Generic.List’
///
/// PlayerAttack.cs
///
/// This is a basic attack script to get us use to usng C# and Unity
///
/// Attach ths script to your player
///
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class PlayerAttack : MonoBehaviour {
public GameObject target;
public float attackTimer;
public float coolDown;
List<GameObject> AllEnemiesList = GameObject.FindGameObjectsWithTag("Enemy");
List<GameObject> VisibleEnemiesList = new List<GameObject>();
// Use this for initialization
void Start () {
attackTimer = 0;
coolDown = 2.0f;
foreach (Transform Enemy in EnemiesList) {
if (Enemy.GameObject.renderer.IsVisibleFrom(Camera.main)) {
VisibleEnemiesList.Add (Enemy.GameObject);
}
}
}
// Update is called once per frame
void Update () {
if(attackTimer > 0)
attackTimer -= Time.deltaTime;
if(attackTimer < 0)
attackTimer = 0;
if(Input.GetKeyUp(KeyCode.Mouse0)) {
if(attackTimer == 0) {
Attack();
attackTimer = coolDown;
}
if (Input.GetKey (KeyCode.Tab)) {
TargetEnemy();
}
}
}
private void Attack() {
float distance = Vector3.Distance(target.transform.position, transform.position);
Vector3 dir = (target.transform.position - transform.position).normalized;
float direction = Vector3.Dot(dir, transform.forward);
if(distance < 2.5f) {
if(direction > 0) {
EnemyHealth eh = (EnemyHealth)target.GetComponent("EnemyHealth");
eh.AddjustCurrentHealth(-10);
}
}
}
}