예제 #1
0
    public virtual void Awake()
    {
        baseAgentController = transform.GetComponent <BaseAgentController>();
        GameObject gameManager = GameObject.FindGameObjectWithTag("GameController");

        prafabHolder        = gameManager.GetComponent <PrafabHolder>();
        aiUtils             = gameManager.GetComponentInChildren <AIUtils>();
        animationController = transform.GetComponentInChildren <CustomAnimationController>();
        eventHelper         = transform.GetComponentInChildren <SimpleEventHelper>();
        shootPoint          = aiUtils.GetShootPoint(transform);

        player      = GameObject.FindGameObjectWithTag("Player");
        currentRole = GetComponent <Enemy>();
        currentRole.statusManager.notifyStatusChange += OnStatusChange;
        eventHelper.notifyGetHit += OnGetHit;

        currentState   = AIState.IDLE;
        stateStartTime = Time.time;
        progress       = AIProgress.END;
        resetPatrolPoint();
    }