Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class ZombieController : MonoBehaviour {
- [HideInInspector]
- public Animator animator;
- [HideInInspector]
- public bool alive = true;
- private GameObject player;
- public AudioClip[] ZombieSounds;
- public int health;
- private float offsetRot;
- private Vector3 startRot;
- void Awake () {
- startRot = transform.eulerAngles;
- GetComponent<AudioSource> ().clip = ZombieSounds [Random.Range (0, ZombieSounds.Length)];
- GetComponent<AudioSource> ().enabled = true;
- int walkMode = 0;
- animator = GetComponent<Animator> ();
- animator.SetInteger ("Walk", walkMode = Random.Range (0, 3));
- if (walkMode == 0) {
- Vector3 v = transform.eulerAngles;
- offsetRot = 13;
- v.y += offsetRot;
- transform.eulerAngles = v;
- }
- if (walkMode == 2) {
- Vector3 v = transform.eulerAngles;
- offsetRot = -8.6f;
- v.y += offsetRot;
- transform.eulerAngles = v;
- }
- player = GameObject.Find ("Player");
- }
- public void Strike(int damage)
- {
- player.GetComponent<FPS>().HealthVoid (damage);
- }
- public void CloseToPlayer(Transform target)
- {
- if (animator.GetInteger ("Attack") == -1) {
- transform.LookAt (target);
- Vector3 rot = transform.eulerAngles;
- startRot.x = 0;
- rot.y += offsetRot;
- startRot.z = 0;
- transform.eulerAngles = rot;
- }
- }
- public void FirstAttack()
- {
- animator.SetInteger("Attack", 1);
- }
- public void OffsetPos(int number)
- {
- transform.Translate (-number*Time.deltaTime,0,0);
- }
- public void Death()
- {
- alive = false;
- animator.enabled = true;
- animator.SetInteger ("Death", 1);
- GetComponent<AudioSource> ().enabled = false;
- GetComponent<ZombieObst> ().enabled = false;
- GetComponent<ZombieController> ().enabled = false;
- }
- public void AnimOff()
- {
- animator.enabled = false;Destroy(gameObject, 3);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement