//부활 딜레이 public void ReviveEvent() { //현재 자신의 상태가 대기 또는 공격 상태일 경우 if (CHState == CH_STATE.MS_Wait || CHState == CH_STATE.MS_Attack) { string enemyLayer = "Enemy"; int layerMask = LayerMask.GetMask(enemyLayer); Collider[] colliders = Physics.OverlapSphere(transform.position, 3.0f, layerMask); // 3.0 반지름만큼 적 레이어를 확인하여 충돌자 배열에 집어넣음 int Count = 0; //반복문을 돌면서 죽은 마리수를 확인 for (int i = 0; i < colliders.Length; ++i) { FSMEnemy enemy = colliders[i].GetComponent<FSMEnemy>(); if (enemy.IsDead()) { Count++; } } //3명 이상이라면 부활 가능이므로 부활 코루틴 실행 if (Count > 2) SetState(CH_STATE.MS_Revive); } }
void OnClickAction(bool b) { if (b == true) { IsClickEnemy = false; if (!IsWeaponEquiped) { EquipWeapon(true); } DashTrail.SetActive(false); Point.parent = null; if (enemy != null && !enemy.IsDead()) { ChangeShader(enemy.GetComponentsInChildren <SkinnedMeshRenderer>(), "Custom/DissolveShader"); //아웃라인 쉐이더에서 기본 쉐이더로 변경 } } else { IsClickEnemy = true; if (!IsWeaponEquiped) { EquipWeapon(true); } if (enemy != null) { ChangeShader(enemy.GetComponentsInChildren <SkinnedMeshRenderer>(), "Custom/DissolveShader"); //이전 클릭한 몬스터가 있다면 기본 쉐이더로 변경 } if (enemy != null && !enemy.IsDead()) { ChangeShader(enemy.GetComponentsInChildren <SkinnedMeshRenderer>(), "Custom/OutlineShader"); //클릭한 몬스터르 외곽선 쉐이더 적용 } } }