예제 #1
0
    void Start()
    {
        myAni    = GetComponent <MonsterAni>();
        myParams = GetComponent <MonsterParams>();
        myParams.deadEvent.AddListener(CallDeadEvent);

        ChangeState(State.Idle, MonsterAni.IDLE);

        player       = GameObject.FindWithTag("Player").transform;
        playerParams = player.gameObject.GetComponent <PlayerParams>();

        remotePlayer = GameObject.FindWithTag("RemotePlayer").transform;
        remoteParams = GameObject.FindWithTag("RemotePlayer").GetComponent <RemoteParams>();
    }
예제 #2
0
    void Start()
    {
        anim  = GetComponent <Animator>();
        agent = GetComponent <NavMeshAgent>();

        myParams = GetComponent <MonsterParams>();
        myParams.deadEvent.AddListener(CallDeadEvent);

        Player = GameObject.FindGameObjectWithTag("Player");

        monBasePoint   = transform.position; //몬스터 생성 위치 등록.
        monDestination = agent.destination;  //navmashagent 목적지 초기화.

        ChangeStatus(monsterStatus.Idle);
    }
예제 #3
0
    public void AttackEnemy(GameObject enemy)
    {
        if (curEnemy != null && curEnemy == enemy)
        {
            return;
        }

        curEnemyParams = enemy.GetComponent <MonsterParams>();

        if (curEnemyParams.isDead == false)
        {
            curEnemy     = enemy;
            curTargetPos = curEnemy.transform.position;
            print(curEnemy.name);

            ChangeState(State.Move, PlayerAni.ANI_WALK);
        }
        else
        {
            curEnemyParams = null;
        }
    }