protected override void AIUpdate_undetect() { base.AIUpdate_undetect(); float rand = GetAIRandomNumver(); switch (aiState) { case AISTATE.AISELECT: if (rand < AddAIProbNum(aiStateNum_ud_walk)) { SetAIState(AISTATE.APPROACH_WALK, 4.0f); } else if (rand < AddAIProbNum(aiStateNum_ud_wait)) { SetAIState(AISTATE.WAIT, 4.0f); } else if (rand < AddAIProbNum(aiStateNum_ud_rest)) { SetAIState(AISTATE.ATTACK, 5.0f); } break; case AISTATE.WAIT: break; case AISTATE.APPROACH_WALK: if (nowTargetPos == null) { rand = GetAIRandomNumver(); nowTargetPos = (Vector2)transform.position + new Vector2((rand > 50) ? 20 : -20, 0); } if (EnemyCtrl_fly.MoveToTarget_X(3.0f, (Vector2)nowTargetPos, moveSpeed)) { SetAIState(AISTATE.WAIT, 2.0f); nowTargetPos = null; } break; case AISTATE.ATTACK: animator.SetTrigger("rest"); SetAIState(AISTATE.WAIT, 5.0f); break; } }
protected override void AIUpdate_mapchengeFly() { base.AIUpdate_mapchengeFly(); EnemyCtrl_fly.MoveToTarget_X(0.0f, mapChengeCtrl.GetNextLoadPosition(), EnemyCtrl_fly.MoveSpeed); }