public void SetInfo(DBBasicCharacter _character) { Name_Text.text = _character.C_JobNames; Level_Text.text = string.Format("{0}", _character.Levels); Hp_Slider.maxValue = 100; Hp_Slider.value = _character.Health / 2; Hp_Text.text = string.Format("{0} / {1}", Hp_Slider.maxValue, Hp_Slider.value); CharacterImage.sprite = GameManager.Instance.MercenaryManage_CharacterBoxImageList.Find(x => x.name == _character.m_sImage); character = _character; }
public void Init(MercenaryTotalCharacter _merTotalCharacterPanel) { character = new DBBasicCharacter(); ActiveSlot_Image = this.gameObject.transform.GetChild(0).GetComponent <Image>(); Name_Text = this.gameObject.transform.GetChild(1).GetComponent <Text>(); CharacterImage = this.gameObject.transform.GetChild(2).GetComponent <Image>(); Level_Text = this.gameObject.transform.GetChild(3).GetComponent <Text>(); Hp_Slider = this.gameObject.transform.GetChild(4).GetComponent <Slider>(); Hp_Text = this.gameObject.transform.GetChild(5).GetComponent <Text>(); initSlotPosition = this.gameObject.GetComponent <RectTransform>().anchoredPosition; mercenaryTotalCharacterPanel = _merTotalCharacterPanel; }
public void SetUpResult(DBBasicCharacter _character) { nCharacterIndex = _character.Index; //InfoUI 숨김 mainMenuSceneManager.InfoUI_Obj.SetActive(false); //Upbar 숨김 GameManager.Instance.upBar.gameObject.SetActive(false); //정보 표시 job_Text.text = _character.C_JobNames; name_Text.text = _character.C_Name; if (nCharacterIndex <= 50) { employCharacterHold_Obj.transform.GetChild(nCharacterIndex).gameObject.SetActive(true); } this.gameObject.SetActive(true); }
public void SetUpStage(int _nStageIndex) { nStageIndex = _nStageIndex; DBStageData stageData = GameManager.Instance.lDBStageData [nStageIndex]; GoldText.text = stageData.nGold.ToString(); ExpText.text = stageData.fExp.ToString("F1"); string[] strWaveEnemies = stageData.strEnemySpawnIndexs.Split('/'); string[] strEnemies = strWaveEnemies [strWaveEnemies.Length - 1].Split(','); int nBossCharacter = int.Parse(strEnemies [strEnemies.Length - 1]); DBBasicCharacter character = GameManager.Instance.lDbBasicCharacter [nBossCharacter]; BossNameText.text = character.C_Name; BossTribeText.text = GameManager.Instance.GetConvertString(character.Tribe); }
//캐릭터 뽑기(임시) public DBBasicCharacter GetCharacter(DBBasicCharacter _character) { //스킬 개수 //중복 x //Basic -> 1개 (단 티어에 따라 다름) //passive -> 1Tier 1개 2Tier 2개 3Tier 3개 4Tier 3개 //Active -> 최대 3개 1Tier 1개 2Tier 2개 3Tier 3개 4Tier 3개 (단 2,3,4Tier) //tribe DBBasicCharacter character = new DBBasicCharacter(); character = _character; //스킬 할당을 다시 해야함. DBActiveSkill activeSkill = new DBActiveSkill(); DBPassiveSkill passiveSkill = new DBPassiveSkill(); //basicCharacter Tier가 올라갈때 마다 티어에 맞는 스킬 할당 DBBasicSkill basicSkill = GameManager.Instance.lDbBasickill.Find(x => x.nCharacterIndex == character.C_Index); List <DBActiveSkill> active_List = GameManager.Instance.lDbActiveSkill.FindAll(x => x.m_nTier == character.Tier); int nRandomIndex = Random.Range(0, active_List.Count); activeSkill = active_List[nRandomIndex]; List <DBPassiveSkill> passive_List = GameManager.Instance.lDbPassiveSkill.FindAll(x => x.nTier == character.Tier); nRandomIndex = Random.Range(0, passive_List.Count); passiveSkill = passive_List[nRandomIndex]; character.basicSkill.Add(basicSkill); character.activeSkills.Add(activeSkill); character.passiveSkills.Add(passiveSkill); //체크용 if (_character.Tier == 1 || _character.Tier == 2) { Debug.Log(_character.C_JobNames.ToString() + " Tier : " + _character.Tier.ToString()); } return(character); }
//캐릭터 고용(임시 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); }
//플레이어가 가지고있는 아이템의 정보들을 초기화 한다(24개) public override void Init() { Debug.Log("전체 아이템 탭 초기화"); //Const가 아닌 변수들은 초기화를 다시 해준다. nPlayerTotalItemCount = 0; nInitItemSlotCount = 24; fSpencingValueX = 10f; fSpencingValueY = 10f; fInitRectYValue = 0f; nRowCount = 6; nColCount = 4; fSlotSizeX = 196f; fSlotSizeY = 234f; nLowItemCount = 0; nHighItemCount = nInitItemSlotCount; bIsNeedScrolling = false; fLastValue = 0; fPrevHeight = 0; fCurHeight = 0; nNextIndex = 0; bIsLastLine = false; bIsInit = true; //할당 nPlayerTotalItemCount = GameManager.Instance.GetPlayer().LIST_CHARACTER.Count; scrollRect = this.gameObject.transform.parent.GetComponent <ScrollRect>(); rectTransform = this.gameObject.transform.GetComponent <RectTransform>(); inventoryslots = null; mercenaryCharacterSlots = new MercenaryCharacterSlot[nInitItemSlotCount]; curSelectedCharacter = new DBBasicCharacter(); //ItemSortInLevel = GameManager.Instance.GetPlayer().LIST_ITEM; int nEmptySlotStartIndex = 0; for (int i = 0; i < nInitItemSlotCount; i++) { //end 조건 if (i >= GameManager.Instance.GetPlayer().LIST_CHARACTER.Count) { nHighItemCount = i - 1; nEmptySlotStartIndex = nHighItemCount + 1; break; } //mercenaryCharacterSlots[i] = this.gameObject.transform.GetChild(i).gameObject.AddComponent<MercenaryCharacterSlot>(); mercenaryCharacterSlots[i] = this.gameObject.transform.GetChild(i).GetComponent <MercenaryCharacterSlot>(); mercenaryCharacterSlots[i].Init(this); //정보 셋팅 mercenaryCharacterSlots[i].SetInfo(GameManager.Instance.GetPlayer().LIST_CHARACTER[i]); } //기본 슬롯보다 적은경우 빈칸으로 처리.(SetActive(false)) //비어있는 칸들에 대한 처리 for (int i = nHighItemCount + 1; i < nInitItemSlotCount; i++) { mercenaryCharacterSlots[i] = this.gameObject.transform.GetChild(i).GetComponent <MercenaryCharacterSlot>(); mercenaryCharacterSlots[i].Init(this); mercenaryCharacterSlots[i].gameObject.SetActive(false); } //OnValueChanged로 할때 scrollRect.onValueChanged.AddListener(StartItemScrollingTest); InitList(); }