protected override void AIUpdate_undetect() { base.AIUpdate_undetect(); float rand = GetAIRandomNumver(); switch (aiState) { case AISTATE.AISELECT: ResetRandFiexed(); if (rand < aiStateNum_walk_ud) { SetAIState(AISTATE.APPROACH_WALK, 5.0f); } else if (rand < AiStateNum_wait_ud) { SetAIState(AISTATE.WAIT, 5.0f); } else if (rand < AiStateNum_rest_ud) { SetAIState(AISTATE.ATTACK, 3.0f); } break; case AISTATE.WAIT: break; case AISTATE.APPROACH_WALK: if (!IsFixedRandomNumber) { SetRandFiexed(GetAIRandomNumver()); nowTarget = transform.position + new Vector3((RandomFixedNumber > 50)?20:-20, 0); } if (EnemyCtrl.MoveToTarget_X(1.0f, nowTarget, EnemyCtrl.MoveSpeed * 0.5f)) { SetAIState(AISTATE.WAIT, 2.0f); } break; case AISTATE.ATTACK: animator.SetTrigger("rest"); SetAIState(AISTATE.WAIT, 5.0f); break; } }