override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (sheepAgent == null) { sheepAgent = animator.GetComponentInChildren <NavMeshAgent>(); if (sheepAgent == null) { Debug.LogError("[IdleBehaviour] OnStateEnter: no nav mesh agent found"); } } if (sheepTransform == null) { sheepTransform = animator.gameObject.transform; if (sheepTransform == null) { Debug.LogError("[IdleBehaviour] OnStateEnter: no sheep transform found"); } } if (sensors == null) { sensors = animator.GetComponentInChildren <SensorsLinker>(); if (sensors == null) { Debug.LogError("[IdleBehaviour] OnStateEnter: no sensors linker found"); } } if (visionRadius == null) { visionRadius = sensors.visionCollider; } if (mediumRadius == null) { mediumRadius = sensors.mediumCollider; } if (closeRadius == null) { closeRadius = sensors.closeCollider; } currentStep = Random.Range(0, frequency); if (sheepAgent.isActiveAndEnabled) { sheepAgent.ResetPath(); } //sheepAgent.isStopped = true; //Debug.Log(sheepTransform.name + " entered IDLE"); }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (sheepAgent == null) { sheepAgent = animator.GetComponentInChildren <NavMeshAgent>(); if (sheepAgent == null) { Debug.LogError("[FollowBehaviour] OnStateEnter: no nav mesh agent found"); } } if (sensors == null) { sensors = animator.GetComponentInChildren <SensorsLinker>(); if (sensors == null) { Debug.LogError("[FollowBehaviour] OnStateEnter: no sensors linker found"); } } if (sheepTransform == null) { sheepTransform = animator.gameObject.transform; if (sheepTransform == null) { Debug.LogError("[FollowBehaviour] OnStateEnter: no sheep transform found"); } } if (visionRadius == null) { visionRadius = sensors.visionCollider; } if (mediumRadius == null) { mediumRadius = sensors.mediumCollider; } if (closeRadius == null) { closeRadius = sensors.closeCollider; } //Debug.Log(sheepTransform.name + " entered FOLLOW"); currentTimer = decisionTimer; }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (sheepAgent == null) { sheepAgent = animator.GetComponentInChildren <NavMeshAgent>(); if (sheepAgent == null) { Debug.LogError("[FleeBehaviour] OnStateEnter: no nav mesh agent found"); } } if (sensors == null) { sensors = animator.GetComponentInChildren <SensorsLinker>(); if (sensors == null) { Debug.LogError("[FleeBehaviour] OnStateEnter: no sensors linker found"); } } if (sheepTransform == null) { sheepTransform = animator.gameObject.transform; if (sheepTransform == null) { Debug.LogError("[FleeBehaviour] OnStateEnter: no sheep transform found"); } } if (visionRadius == null) { visionRadius = sensors.visionCollider; } if (mediumRadius == null) { mediumRadius = sensors.mediumCollider; } if (closeRadius == null) { closeRadius = sensors.closeCollider; } previousSpeed = sheepAgent.speed; sheepAgent.speed = agentSpeedModifier * previousSpeed; }