Sunday, 9 October 2016

Enemy AI

using UnityEngine;
using System.Collections;

public class Enemy : MonoBehaviour {

int speed;
Vector2 _direction;
bool isReady;

public GameObject enemyBullet;
public float MinDist;
public bool downFire = false;


//audios
private AudioSource audio;
public AudioClip EDie;

public GameObject EnemyPartical;
void Awake()
{
speed = 150;
isReady = false;



}
// Use this for initialization
void Start () {
//float rendum = Random.Range(2F,3F);
InvokeRepeating("FireEnemyBullet", 1, 2);

audio =  GameObject.Find("SoundSettings").GetComponent<AudioSource>();
}

public void SetDirection(Vector2 direction)
{
_direction = direction.normalized;

isReady = true;
}

// Update is called once per frame
void Update () {
if (isReady) {
Vector2 position = transform.position;

position += _direction * speed * Time.deltaTime;

transform.position = position;


}
}
public float posX = 0;
public float posY = 0;
void FireEnemyBullet()
{
GameObject Player = GameObject.FindWithTag("Player");

if (Player != null) {

if(Vector3.Distance(transform.position,Player.transform.position) <= MinDist){

GameObject bullet = (GameObject)Instantiate(enemyBullet);
bullet.transform.position = new Vector2(transform.position.x+posX,transform.position.y+posY);

if(downFire == false)
{
Vector2 direction = -transform.right;
bullet. GetComponent<Rigidbody2D> (). AddForce (direction * speed);
Destroy (bullet, 1.5f);
}
if(downFire == true)
{
Vector2 direction = -transform.up;
bullet. GetComponent<Rigidbody2D> (). AddForce (direction * speed);
Destroy (bullet, 1);
}
}
}
}

void OnTriggerEnter2D(Collider2D plyAtt)
{
if (plyAtt.gameObject.tag == "playerFire") {

Destroy(this.gameObject);
Instantiate(EnemyPartical,transform.position, Quaternion.identity);
audio.PlayOneShot(EDie,0.7f);
Destroy(plyAtt.gameObject);
}
if (plyAtt.gameObject.tag == "SuperBall") {

Destroy(this.gameObject);
Instantiate(EnemyPartical,transform.position, Quaternion.identity);
audio.PlayOneShot(EDie,0.7f);
Destroy(plyAtt.gameObject);
}
}
}

No comments:

Post a Comment