コード例 #1
0
    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;
    }
コード例 #2
0
 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;
 }
コード例 #3
0
    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);
    }
コード例 #4
0
    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);
    }
コード例 #5
0
    //캐릭터 뽑기(임시)
    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);
    }
コード例 #6
0
    //캐릭터 고용(임시 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;
        }
    }
コード例 #7
0
    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);
    }
コード例 #8
0
    //플레이어가 가지고있는 아이템의 정보들을 초기화 한다(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();
    }