void Start() { agent = GetComponent <NavMeshAgent>(); player = GameObject.Find("OVRPlayerController"); soundObject = GameObject.Find("SoundManager"); soundManager = soundObject.GetComponent <SoundManager>(); soundPlayer = gameObject.GetComponentInChildren <AudioSource>(); heroScript = player.GetComponentInChildren <Hero>(); NavMeshHit closestHit; if (NavMesh.SamplePosition(transform.position, out closestHit, 100f, NavMesh.AllAreas)) { transform.position = closestHit.position; agent.enabled = true; } agent.updateRotation = false; //simulates pede bursting out of sand pedeAnimate = agent.GetComponentInChildren <Animator>(); spawned.Play(); isSpawned = spawned.emission.enabled; }
public void infect() { GameObject GameManager; GameManager = GameObject.Find("GameManager"); if (!infected && !cured) { not_infected = false; infected = true; cured = false; agent.GetComponentInChildren <Renderer>().material = infected_color; GameManager.GetComponent <InfectionManager>().no_of_infected++; GameManager.GetComponent <InfectionManager>().no_of_healthy--; GameManager.GetComponent <InfectionManager>().NI++; } }
// Use this for initialization void Start() { // agentSelected = false; agent = GetComponent <NavMeshAgent>(); //Rend = GetComponent<Renderer>(); skinRend = agent.GetComponentInChildren <SkinnedMeshRenderer>(); //Rend.enabled = true; cam.enabled = false; }
void Start() { agent = GetComponent <NavMeshAgent>(); agent.updateRotation = false; spiderAnimate = agent.GetComponentInChildren <Animator>(); player = GameObject.Find("OVRPlayerController"); heroScript = player.GetComponentInChildren <Hero>(); soundObject = GameObject.Find("SoundManager"); soundManager = soundObject.GetComponent <SoundManager>(); soundPlayer = gameObject.GetComponentInChildren <AudioSource>(); }
void ChasePlayer() { resetTime += Time.deltaTime; if (resetTime >= 2) { resetTime = 0; movePos = new Vector3(Random.Range(-2f, 2.75f), 0, Random.Range(0f, 4.75f)); } if (Vector3.Distance(playerObj.transform.position, enemyObj.transform.position) < 0.6) { Vector3 direction = playerObj.transform.position - enemyObj.transform.position; playerObj.GetComponent <Rigidbody>().AddForceAtPosition(direction * 50, enemyObj.transform.position); } playerObj.SetDestination(movePos); enemyObj.SetDestination(playerObj.gameObject.transform.position); if (!playerObj.isStopped) { playerObj.GetComponentInChildren <Animator>().SetBool("Walk", true); } else { playerObj.GetComponentInChildren <Animator>().SetBool("Walk", false); } if (!enemyObj.isStopped) { enemyObj.GetComponentInChildren <Animator>().SetBool("Run", true); } else { enemyObj.GetComponentInChildren <Animator>().SetBool("Run", false); } }
public void RestartLevel() { onQuitLevel.Invoke(); playersWagon.GetComponentInChildren <WeaponHolder>().EquippedGun.StopReloadingImmediately(); GameManager.Instance.FadeToScene(levelName); }
public IEnumerator Enter() { agent.updateRotation = false; var playerAgent = PlayerAgent.instance; // Set the animator of the character as blocking var animator = agent.GetComponentInChildren <Animator>(); if (animator != null) { //animator.SetBool("Blocking", true); } while (true) { var distance = (target.transform.position - playerAgent.transform.position).sqrMagnitude; // Rotate facing the player var relativePos = playerAgent.transform.position - agent.transform.position; var rotation = Quaternion.LookRotation(relativePos); agent.transform.rotation = rotation; // Pushback player if ((Time.time - m_lastPushBackTime) >= m_pushBackCooldown) { m_lastPushBackTime = Time.time; Rigidbody rigidbody = playerAgent.gameObject.GetComponent <Rigidbody>(); if (rigidbody != null) { yield return(new WaitForFixedUpdate()); rigidbody.drag = 1; rigidbody.AddForce(relativePos.normalized * m_force, ForceMode.Impulse); Debug.Log("Pushback"); } } // Tries to get in between the target and the player if (distance < distanceThreadshold * distanceThreadshold) { agent.destination = Vector3.Lerp( target.transform.position, playerAgent.transform.position, 0.5f); } else { var direction = playerAgent.transform.position - target.transform.position; agent.destination = target.transform.position + direction.normalized * distanceThreadshold; } if (animator != null) { animator.SetBool("Blocking", distance < distanceThreadshold * distanceThreadshold * 2); } yield return(null); } }