This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
project-undercover/Project Undercover/Assets/Scripts/SimpleNPCBehavior.cs
2017-09-13 11:21:50 -05:00

31 lines
No EOL
909 B
C#

using UnityEngine;
using System.Collections;
public class SimpleNPCBehavior : MonoBehaviour
{
public float moveSpeed;
public int updateTime;
private Rigidbody rigi;
private Vector3 target;
void Start()
{
target.Set(0.0f, 0.5f, 0.0f);
rigi = GetComponent<Rigidbody>();
}
void Update()
{
// Every updateTime seconds set new target position
if (Time.fixedTime % updateTime == 0) {
if ((int) (3.0f * Random.value) == 0)
target.Set (4.0f - (8.0f * Random.value), 0.5f, 4.0f - (8.0f * Random.value));
}
// Check if NPC is at target and move there if not
if ((target.x - transform.position.x >= 0.01) || (target.x - transform.position.x <= -0.01) || (target.y - transform.position.y >= 0.01) || (target.y - transform.position.y <= -0.01))
transform.position += (target - transform.position).normalized * moveSpeed * Time.deltaTime;
rigi.velocity = Vector3.zero;
}
}