//확률 파싱해서 뽑아오기 public List <float> GetPercentage(E_EMPLOY _emplayCharacter) { string sPercenstage = GameManager.Instance.lDBEmployGacha[(int)_emplayCharacter].sPercentage; List <float> percentageList = new List <float>(); for (int i = 0; i <= sPercenstage.Length; i++) { //마지막 if (sPercenstage.Contains(",") == false) { percentageList.Add(float.Parse(sPercenstage.Substring(0, sPercenstage.Length))); break; } else { percentageList.Add(float.Parse(sPercenstage.Substring(0, sPercenstage.IndexOf(",")))); sPercenstage = sPercenstage.Remove(0, sPercenstage.IndexOf(",") + 1); } } return(percentageList); }
//Tribe check public int GetCharacterTribe(E_EMPLOY _employCharacter) { string tribe = GameManager.Instance.lDBEmployGacha[(int)_employCharacter].sTribe; List <int> tribeList = new List <int>(); for (int i = 0; i <= tribe.Length; i++) { //마지막 if (tribe.Contains(",") == false) { tribeList.Add(int.Parse(tribe.Substring(0, tribe.Length))); break; } else { tribeList.Add(int.Parse(tribe.Substring(0, tribe.IndexOf(",")))); tribe = tribe.Remove(0, tribe.IndexOf(",") + 1); } } int random = Random.RandomRange(tribeList[0], tribeList[tribeList.Count - 1] + 1); return(random); }
//캐릭터 고용(임시 1~2성 캐릭터 소환) public void EmployCharacter(E_EMPLOY _employCharacter) { //Job int randomMin = 0; int randomMax = 0; int nJobIndex = 0; string job = ""; //Percentage float resultPercentage = 0f; float percentageCheck = 0f; List <float> percentageList = null; //Character DBBasicCharacter character = new DBBasicCharacter(); switch (_employCharacter) { case E_EMPLOY.E_EMPLOY_1_2TIER: //Jobs job = GameManager.Instance.lDBEmployGacha[(int)E_EMPLOY.E_EMPLOY_1_2TIER].sJob; //맨처음 인덱스 randomMin = int.Parse(job.Substring(0, job.IndexOf(","))); //마지막 인덱스 job = job.Remove(0, job.Length - 1); randomMax = int.Parse(job); //직업 인덱스 nJobIndex = Random.RandomRange(randomMin, randomMax + 1); //Percentage percentageList = GetPercentage(_employCharacter); //확률 계산 해야함 resultPercentage = Random.RandomRange(0, 100f); Debug.Log("확률 수치 : " + resultPercentage); percentageCheck = 0f; //현재 오름 차순 (낮은 것 부터 체크) for (int nTier = 0; nTier < percentageList.Count; nTier++) { percentageCheck += percentageList[nTier]; if (resultPercentage <= percentageCheck) { //해당 캐릭터 종류, 티어, 직업 인덱스 character = GetCharacterCategory(_employCharacter, nTier, nJobIndex); employFinishPanel.SetUpResult(character); break; } } break; case E_EMPLOY.E_EMPLOY_2_4TIER_MELEE: //Jobs job = GameManager.Instance.lDBEmployGacha[(int)E_EMPLOY.E_EMPLOY_2_4TIER_MELEE].sJob; //맨처음 인덱스 randomMin = int.Parse(job.Substring(0, job.IndexOf(","))); //마지막 인덱스 job = job.Remove(0, job.Length - 1); randomMax = int.Parse(job); //직업 인덱스 nJobIndex = Random.RandomRange(randomMin, randomMax + 1); Debug.Log("직업 : " + nJobIndex); //Percentage percentageList = GetPercentage(_employCharacter); //확률 계산 해야함 resultPercentage = Random.RandomRange(0, 100f); Debug.Log("확률 수치 : " + resultPercentage); percentageCheck = 0f; //낮은 것 부터 체크 for (int nTier = 0; nTier < percentageList.Count; nTier++) { percentageCheck += percentageList[nTier]; if (resultPercentage <= percentageCheck) { character = GetCharacterCategory(_employCharacter, nTier, nJobIndex); employFinishPanel.SetUpResult(character); break; } } break; case E_EMPLOY.E_EMPLOY_2_4TIER_RANGE: //Jobs job = GameManager.Instance.lDBEmployGacha[(int)E_EMPLOY.E_EMPLOY_2_4TIER_RANGE].sJob; //맨처음 인덱스 randomMin = int.Parse(job.Substring(0, job.IndexOf(","))); //마지막 인덱스 job = job.Remove(0, job.Length - 1); randomMax = int.Parse(job); //직업 인덱스 nJobIndex = Random.RandomRange(randomMin, randomMax + 1); Debug.Log("직업 : " + nJobIndex); //Percentage percentageList = GetPercentage(_employCharacter); //확률 계산 해야함 resultPercentage = Random.RandomRange(0, 100f); Debug.Log("확률 수치 : " + resultPercentage); percentageCheck = 0f; //낮은 것 부터 체크 for (int nTier = 0; nTier < percentageList.Count; nTier++) { percentageCheck += percentageList[nTier]; if (resultPercentage <= percentageCheck) { character = GetCharacterCategory(_employCharacter, nTier, nJobIndex); employFinishPanel.SetUpResult(character); break; } } break; case E_EMPLOY.E_EMPLOY_2_4TIER_ASSISTANT: //Jobs job = GameManager.Instance.lDBEmployGacha[(int)E_EMPLOY.E_EMPLOY_2_4TIER_ASSISTANT].sJob; //맨처음 인덱스 randomMin = int.Parse(job.Substring(0, job.IndexOf(","))); //마지막 인덱스 job = job.Remove(0, job.Length - 1); randomMax = int.Parse(job); //직업 인덱스 nJobIndex = Random.RandomRange(randomMin, randomMax + 1); Debug.Log("직업 : " + nJobIndex); //Percentage percentageList = GetPercentage(_employCharacter); //확률 계산 해야함 resultPercentage = Random.RandomRange(0, 100f); Debug.Log("확률 수치 : " + resultPercentage); percentageCheck = 0f; //낮은 것 부터 체크 for (int nTier = 0; nTier < percentageList.Count; nTier++) { percentageCheck += percentageList[nTier]; if (resultPercentage <= percentageCheck) { character = GetCharacterCategory(_employCharacter, nTier, nJobIndex); employFinishPanel.SetUpResult(character); break; } } break; case E_EMPLOY.E_EMPLOY_2_4TIER_COMMANDER: //Jobs job = GameManager.Instance.lDBEmployGacha[(int)E_EMPLOY.E_EMPLOY_2_4TIER_COMMANDER].sJob; //맨처음 인덱스 randomMin = int.Parse(job.Substring(0, job.IndexOf(","))); //마지막 인덱스 job = job.Remove(0, job.Length - 1); randomMax = int.Parse(job); //직업 인덱스 nJobIndex = Random.RandomRange(randomMin, randomMax + 1); Debug.Log("직업 : " + nJobIndex); //Percentage percentageList = GetPercentage(_employCharacter); //확률 계산 해야함 resultPercentage = Random.RandomRange(0, 100f); Debug.Log("확률 수치 : " + resultPercentage); percentageCheck = 0f; //낮은 것 부터 체크 for (int nTier = 0; nTier < percentageList.Count; nTier++) { percentageCheck += percentageList[nTier]; if (resultPercentage <= percentageCheck) { character = GetCharacterCategory(_employCharacter, nTier, nJobIndex); employFinishPanel.SetUpResult(character); break; } } break; default: break; } }
public DBBasicCharacter GetCharacterCategory(E_EMPLOY _employCharacter, int _tier, int _jobIndex) { DBBasicCharacter character = new DBBasicCharacter(); int nTribe = 0; int random = 0; switch (_employCharacter) { case E_EMPLOY.E_EMPLOY_1_2TIER: //티어 체크는 높은 순 대로 체크 if (_tier == 0) { //0 = 2성, //1 = 1성 Debug.Log("2성 소환"); //Tribe 구분 //Tribe 0,1,2,3,4 로 구분을 한다. random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_2); } else if (_tier == 1) { Debug.Log("1성 소환"); random = (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_1; } switch (_jobIndex) { case (int)E_CHARACTER_TYPE.E_ASSASIN: //각 직업 리스트의 첫번째 껄 참조 character = GetCharacter(GameManager.Instance.assasinList[random]); break; case (int)E_CHARACTER_TYPE.E_WARRIOR: character = GetCharacter(GameManager.Instance.warriorList[random]); break; case (int)E_CHARACTER_TYPE.E_ARCHER: character = GetCharacter(GameManager.Instance.archerList[random]); break; case (int)E_CHARACTER_TYPE.E_WIZZARD: character = GetCharacter(GameManager.Instance.wizzardList[random]); break; case (int)E_CHARACTER_TYPE.E_KNIGHT: character = GetCharacter(GameManager.Instance.knightList[random]); break; case (int)E_CHARACTER_TYPE.E_PRIEST: character = GetCharacter(GameManager.Instance.priestList[random]); break; case (int)E_CHARACTER_TYPE.E_COMMAND: character = GetCharacter(GameManager.Instance.commandList[random]); break; } break; case E_EMPLOY.E_EMPLOY_2_4TIER_MELEE: //티어 체크는 높은 순 대로 체크 if (_tier == 0) { //0 = 4성, //1 = 3성, //2 = 2성 Debug.Log("4성 소환"); //Tribe 구분 //Tribe 0,1,2,3,4 로 구분을 한다. nTribe = GetCharacterTribe(_employCharacter); //일반형 (4성) //if(nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_2); ////특수형 (오크) //else if(nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) //{ // random = 2; //} random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_2); } else if (_tier == 1) { //일반형 (3성) Debug.Log("3성 소환"); //nTribe = GetCharacterTribe(_employCharacter); //if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_2); //특수형 (오크) // else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 1; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_2); } else if (_tier == 2) { Debug.Log("2성 소환"); //nTribe = GetCharacterTribe(_employCharacter); //일반형 (인간) //if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_2); //특수형 (오크) //else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 0; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_2); } nTribe = (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN; switch (_jobIndex) { case (int)E_CHARACTER_TYPE.E_ASSASIN: //각 직업 리스트의 첫번째 껄 참조 //nTribe추가 식으로 앞으로 추가 if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.assasinList[random]); } else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_assasinList[random]); } break; case (int)E_CHARACTER_TYPE.E_WARRIOR: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.warriorList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_warriorList[random]); } break; case (int)E_CHARACTER_TYPE.E_ARCHER: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.archerList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_archerList[random]); } break; case (int)E_CHARACTER_TYPE.E_WIZZARD: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.wizzardList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_wizzardList[random]); } break; case (int)E_CHARACTER_TYPE.E_KNIGHT: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.knightList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_knightList[random]); } break; case (int)E_CHARACTER_TYPE.E_PRIEST: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.priestList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_priestList[random]); } break; case (int)E_CHARACTER_TYPE.E_COMMAND: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.commandList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_commandList[random]); } break; } break; case E_EMPLOY.E_EMPLOY_2_4TIER_RANGE: //티어 체크는 높은 순 대로 체크 if (_tier == 0) { //0 = 4성, //1 = 3성, //2 = 2성 Debug.Log("4성 소환"); //Tribe 구분 //Tribe 0,1,2,3,4 로 구분을 한다. // nTribe = GetCharacterTribe(_employCharacter); //일반형 (4성) //if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_2); //특수형 (오크) //else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 2; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_2); } else if (_tier == 1) { //일반형 (3성) Debug.Log("3성 소환"); // nTribe = GetCharacterTribe(_employCharacter); //if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_2); //특수형 (오크) //else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 1; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_2); } else if (_tier == 2) { Debug.Log("2성 소환"); //nTribe = GetCharacterTribe(_employCharacter); //일반형 (인간) //if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_2); //특수형 (오크) //else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 0; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_2); } nTribe = (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN; switch (_jobIndex) { case (int)E_CHARACTER_TYPE.E_ASSASIN: //각 직업 리스트의 첫번째 껄 참조 //nTribe추가 식으로 앞으로 추가 if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.assasinList[random]); } else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_assasinList[random]); } break; case (int)E_CHARACTER_TYPE.E_WARRIOR: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.warriorList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_warriorList[random]); } break; case (int)E_CHARACTER_TYPE.E_ARCHER: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.archerList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_archerList[random]); } break; case (int)E_CHARACTER_TYPE.E_WIZZARD: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.wizzardList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_wizzardList[random]); } break; case (int)E_CHARACTER_TYPE.E_KNIGHT: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.knightList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_knightList[random]); } break; case (int)E_CHARACTER_TYPE.E_PRIEST: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.priestList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_priestList[random]); } break; case (int)E_CHARACTER_TYPE.E_COMMAND: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.commandList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_commandList[random]); } break; } break; case E_EMPLOY.E_EMPLOY_2_4TIER_ASSISTANT: //티어 체크는 높은 순 대로 체크 if (_tier == 0) { //0 = 4성, //1 = 3성, //2 = 2성 Debug.Log("4성 소환"); //Tribe 구분 //Tribe 0,1,2,3,4 로 구분을 한다. //nTribe = GetCharacterTribe(_employCharacter); //일반형 (4성) //if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_2); //특수형 (오크) //else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 2; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_2); } else if (_tier == 1) { //일반형 (3성) Debug.Log("3성 소환"); //nTribe = GetCharacterTribe(_employCharacter); // if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_2); //특수형 (오크) //else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 1; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_2); } else if (_tier == 2) { Debug.Log("2성 소환"); //nTribe = GetCharacterTribe(_employCharacter); //일반형 (인간) //if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_2); //특수형 (오크) //else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 0; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_2); } nTribe = (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN; switch (_jobIndex) { case (int)E_CHARACTER_TYPE.E_ASSASIN: //각 직업 리스트의 첫번째 껄 참조 //nTribe추가 식으로 앞으로 추가 if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.assasinList[random]); } else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_assasinList[random]); } break; case (int)E_CHARACTER_TYPE.E_WARRIOR: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.warriorList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_warriorList[random]); } break; case (int)E_CHARACTER_TYPE.E_ARCHER: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.archerList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_archerList[random]); } break; case (int)E_CHARACTER_TYPE.E_WIZZARD: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.wizzardList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_wizzardList[random]); } break; case (int)E_CHARACTER_TYPE.E_KNIGHT: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.knightList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_knightList[random]); } break; case (int)E_CHARACTER_TYPE.E_PRIEST: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.priestList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_priestList[random]); } break; case (int)E_CHARACTER_TYPE.E_COMMAND: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.commandList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_commandList[random]); } break; } break; case E_EMPLOY.E_EMPLOY_2_4TIER_COMMANDER: //티어 체크는 높은 순 대로 체크 if (_tier == 0) { //0 = 4성, //1 = 3성, //2 = 2성 Debug.Log("4성 소환"); //Tribe 구분 //Tribe 0,1,2,3,4 로 구분을 한다. //nTribe = GetCharacterTribe(_employCharacter); //일반형 (4성) //if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_2); //특수형 (오크) //else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 2; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_4_2); } else if (_tier == 1) { //일반형 (3성) Debug.Log("3성 소환"); //nTribe = GetCharacterTribe(_employCharacter); //if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_2); //특수형 (오크) //else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 1; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_3_2); } else if (_tier == 2) { Debug.Log("2성 소환"); //nTribe = GetCharacterTribe(_employCharacter); //일반형 (인간) // if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) // random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_2); //특수형 (오크) // else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) // random = 0; random = Random.RandomRange((int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_1, (int)E_EMPLOY_HUMMAN_TIER.E_EMPLOY_HUMMAN_TIER_2_2); } nTribe = (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN; switch (_jobIndex) { case (int)E_CHARACTER_TYPE.E_ASSASIN: //각 직업 리스트의 첫번째 껄 참조 //nTribe추가 식으로 앞으로 추가 if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.assasinList[random]); } else if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_assasinList[random]); } break; case (int)E_CHARACTER_TYPE.E_WARRIOR: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.warriorList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_warriorList[random]); } break; case (int)E_CHARACTER_TYPE.E_ARCHER: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.archerList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_archerList[random]); } break; case (int)E_CHARACTER_TYPE.E_WIZZARD: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.wizzardList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_wizzardList[random]); } break; case (int)E_CHARACTER_TYPE.E_KNIGHT: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.knightList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_knightList[random]); } break; case (int)E_CHARACTER_TYPE.E_PRIEST: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.priestList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_priestList[random]); } break; case (int)E_CHARACTER_TYPE.E_COMMAND: if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_HUMAN) { character = GetCharacter(GameManager.Instance.commandList[random]); } if (nTribe == (int)E_EMPLOY_TRIBE.E_EMPLOY_TRIBE_ORC) { character = GetCharacter(GameManager.Instance.enemy_orc_commandList[random]); } break; } break; default: break; } return(character); }