Пример #1
0
 // Use this for initialization
 void Start()
 {
     animator         = GetComponent <Animator>();
     npcMovement      = GetComponent <NPCMovement>();
     npcAttack        = GetComponent <NPCAttack>();
     npcVision        = GetComponent <NPCVision>();
     HitColliders     = GetComponentsInChildren <DamageZone>();
     PlayerController = FindObjectOfType <PlayerController>();
     ActivateHitColliders();
 }
Пример #2
0
    private void OnSceneGUI()
    {
        NPCVision visionDector = (NPCVision)target;

        Handles.color = Color.white;
        Handles.DrawWireArc(visionDector.transform.position, Vector3.up, Vector3.forward, 360, visionDector.ViewRadius);
        Vector3 viewAngleA = visionDector.DirectionFromAngle(-visionDector.ViewAngle / 2, false);
        Vector3 viewAngleB = visionDector.DirectionFromAngle(visionDector.ViewAngle / 2, false);

        Handles.DrawLine(visionDector.transform.position, visionDector.transform.position + viewAngleA * visionDector.ViewRadius);
        Handles.DrawLine(visionDector.transform.position, visionDector.transform.position + viewAngleB * visionDector.ViewRadius);
        Handles.color = Color.red;
    }
Пример #3
0
    private void OnEnable()
    {
        animator    = GetComponent <Animator>();
        npcMovement = GetComponent <NPCMovement>();
        npcAttack   = GetComponent <NPCAttack>();
        npcVision   = GetComponent <NPCVision>();

        NPCMovement.ActivateNavAgent();
        npcVision.enabled = true;
        HitColliders      = GetComponentsInChildren <DamageZone>();
        PlayerController  = FindObjectOfType <PlayerController>();
        ActivateHitColliders();
        Dead = false;
    }
        private void Start()
        {
            enimies      = enimies + 1;                                                                             //Chaneded Here
            player       = GameObject.FindGameObjectWithTag("Player");
            playerHealth = player.GetComponent <PlayerStats>();
            animator     = GetComponent <Animator>();
            chest        = animator.GetBoneTransform(HumanBodyBones.Chest);
            source       = GetComponent <AudioSource>();
            navMeshAgent = GetComponent <NavMeshAgent>();
            aiControl    = GetComponent <AIControl>();
            vision       = GetComponentInChildren <NPCVision>();
            hitFXManager = GetComponent <HitFXManager>();
            states       = GetComponent <NPCStates>();

            visibilityCheckObject      = new GameObject();
            visibilityCheckObject.name = this.name + " visibilityCheckObject";
            visibilityCheckObject.AddComponent <SphereCollider>().radius  = 0.3f;
            visibilityCheckObject.GetComponent <SphereCollider>().enabled = false;

            foreach (Collider collider in GetComponentsInChildren <Collider>())
            {
                collider.enabled = false;
            }
            foreach (Rigidbody rigidbody in GetComponentsInChildren <Rigidbody>())
            {
                rigidbody.isKinematic = true;
            }

            GetComponent <Rigidbody>().isKinematic = false;
            GetComponent <Collider>().enabled      = true;

            StartCoroutine(CheckFriends());

            //Set own position as NavMesh target on start
            desiredPosition = transform.position;

            //Controller variables
            m_Rigidbody     = GetComponent <Rigidbody>();
            m_Capsule       = GetComponent <CapsuleCollider>();
            m_CapsuleHeight = m_Capsule.height;
            m_CapsuleCenter = m_Capsule.center;

            m_Rigidbody.constraints   = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezeRotationZ;
            m_OrigGroundCheckDistance = m_GroundCheckDistance;
        }