void Start() { enemyCollector = GameObject.FindGameObjectWithTag("GameController").GetComponent <EnemyDataCollector>(); sigma = enemyCollector.sigmaValue; //체력 관리 //enemyController.enemyStat.__PUB__Health_Point = 4; moveSpeed = enemyStat.__PUB_Move_Speed; rotSpeed = enemyStat.__PUB_Rotation_Speed; //이동에 관한 함수 리스트 //이동 없음 behaveList_Move.Add(() => AI_DO_Nothing()); //전방이동 behaveList_Move.Add(() => _enemyAIEngine._unitBaseEngine._unit_Move_Engine.Move_OBJ(moveSpeed, ref enemyController.enemyTransform, 1)); //후방이동 behaveList_Move.Add(() => _enemyAIEngine._unitBaseEngine._unit_Move_Engine.Move_OBJ(moveSpeed, ref enemyController.enemyTransform, -1)); //회전에 관한 함수 리스트 //회전 없음 behaveList_Rotate.Add(() => AI_DO_Nothing()); //시계방향 회전 behaveList_Rotate.Add(() => _enemyAIEngine._unitBaseEngine._unit_Move_Engine.Rotate_OBJ(rotSpeed, ref enemyController.enemyTransform, 1)); //반시계방향 회전 behaveList_Rotate.Add(() => _enemyAIEngine._unitBaseEngine._unit_Move_Engine.Rotate_OBJ(rotSpeed, ref enemyController.enemyTransform, -1)); //플레이어를 정면으로 바라볼 때까지 회전 behaveList_Rotate.Add(() => _enemyAIEngine.Rotate_TO_Direction(rotSpeed, ref enemyController.enemyTransform, enemyController.playerTransform, false)); //플레이어를 우측으로 바라볼 때까지 회전 behaveList_Rotate.Add(() => _enemyAIEngine.Rotate_TO_Direction(rotSpeed, ref enemyController.enemyTransform, enemyController.playerTransform, false, enemyController.enemy_Right)); //플레이어를 좌측으로 바라볼 때까지 회전 behaveList_Rotate.Add(() => _enemyAIEngine.Rotate_TO_Direction(rotSpeed, ref enemyController.enemyTransform, enemyController.playerTransform, false, enemyController.enemy_Left)); //플레이어 반대 방향 바라볼 때까지 회전 behaveList_Rotate.Add(() => _enemyAIEngine.Rotate_TO_Direction(rotSpeed, ref enemyController.enemyTransform, enemyController.playerTransform, true)); //공격에 관한 함수 리스트 //공격 없음 behaveList_Attack.Add(() => AI_DO_Nothing()); //정면 일반 공격 behaveList_Attack.Add(() => _enemyAIEngine.Attack_Default(2.0f, ref enemyController.enemy_Front, enemyStat, 1)); //우측 일반 공격(2번, angleComp > 0) behaveList_Attack.Add(() => _enemyAIEngine.Attack_Default(2.0f, ref enemyController.enemy_Right, enemyStat, 1)); //좌측 일반 공격(3번, angleComp < 0) behaveList_Attack.Add(() => _enemyAIEngine.Attack_Default(2.0f, ref enemyController.enemy_Left, enemyStat, 1)); realIndex.InitIntVector3(0, 0, 0); beforeBehaveID = "NULL"; try { beforeDist = Vector3.Distance(transform.position, enemyController.playerTransform.position); } catch (System.Exception) {} beforeAngleComp = enemyController.GET_enemyAIEngine.angleComp; beforeVec2 = new Vector2(transform.position.x, transform.position.z); }