public void InitStageInfo()
 {
     stageState          = new UserStageStateData();
     stageActionInfo     = new battleActionData();
     stageReward         = new stageRewardData();
     userInfo.sceneState = SCENE_STATE.Lobby;
 }
Beispiel #2
0
    // 시작화면 파티 초상화 셋팅
    public IEnumerator SetStartImage(UserStageStateData stateData)
    {
        GameObject temp = GameObject.Find("StartUI");

        GameObject.Find("Player Name Text").GetComponent <Text>().text = stateData.user;
        if (stateData.stageType == 0)
        {
            GameObject.Find("Enemy Name Text").GetComponent <Text>().text = stateData.enemyUser;
        }
        else
        {
            GameObject.Find("Enemy Name Text").GetComponent <Text>().text = "Floor : " + stateData.stageFloor;
        }

        foreach (KeyValuePair <int, UserCharacterStateData> state in stateData.myStateList)
        {
            Transform tf = temp.transform.GetChild(0).GetChild(positionOrder[state.Value.position]);
            if (state.Value.charType == CHAR_TYPE.SERVANT)
            {
                tf.GetChild(0).GetComponent <Image>().sprite = CSVData.Inst.DBServantDataDic[state.Value.id].servantIcon;
                tf.GetChild(1).gameObject.SetActive(true);
                tf.GetChild(1).GetChild(0).GetComponent <Text>().text = UserDataManager.Inst.GetServantInfo(state.Value.index).level.ToString();
                tf.GetChild(2).GetComponent <Image>().sprite          = CSVData.Inst.GetSpriteServantJob((SERVANT_JOB)state.Value.job);
            }
            else if (state.Value.charType == CHAR_TYPE.MONSTER)
            {
                tf.GetChild(0).GetComponent <Image>().sprite = CSVData.Inst.DBMonsterDataDic[state.Value.id].monsterIcon;
                tf.GetChild(1).gameObject.SetActive(true);
                tf.GetChild(1).GetChild(0).GetComponent <Text>().text = UserDataManager.Inst.GetMonsterInfo(state.Value.index).level.ToString();
                tf.GetChild(2).GetComponent <Image>().sprite          = CSVData.Inst.GetSmallSpriteTribeType((TRIBE_TYPE)state.Value.tribeType);
                tf.GetChild(3).GetComponent <Image>().sprite          = CSVData.Inst.GetSpriteElementType((ELEMENT_TYPE)state.Value.elementType);
            }
            tf.GetComponent <Image>().sprite = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)state.Value.grade);
        }

        foreach (KeyValuePair <int, UserCharacterStateData> state in stateData.enemyStateList)
        {
            Transform tf = temp.transform.GetChild(1).GetChild(positionOrder[state.Value.position - 10]);
            if (state.Value.charType == CHAR_TYPE.SERVANT)
            {
                tf.GetChild(0).GetComponent <Image>().sprite = CSVData.Inst.DBServantDataDic[state.Value.id].servantIcon;
            }
            else if (state.Value.charType == CHAR_TYPE.MONSTER)
            {
                tf.GetChild(0).GetComponent <Image>().sprite = CSVData.Inst.DBMonsterDataDic[state.Value.id].monsterIcon;
                tf.GetChild(2).GetComponent <Image>().sprite = CSVData.Inst.GetSmallSpriteTribeType((TRIBE_TYPE)state.Value.tribeType);
                tf.GetChild(3).GetComponent <Image>().sprite = CSVData.Inst.GetSpriteElementType((ELEMENT_TYPE)state.Value.elementType);
            }
            tf.GetComponent <Image>().sprite = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)state.Value.grade);
            tf.GetChild(1).GetChild(0).GetComponent <Text>().text = "?";
            tf.GetChild(1).gameObject.SetActive(true);
        }

        yield return(new WaitForSecondsRealtime(5.0f));

        temp.SetActive(false);
    }
Beispiel #3
0
    // 아군 파티 셋팅
    public void SettingCharacter(UserStageStateData stateData)
    {
        foreach (KeyValuePair <int, UserCharacterStateData> state in stateData.myStateList)
        {
            if (state.Value.charType == CHAR_TYPE.SERVANT)
            {
                DBServantData ServantInfo = CSVData.Inst.GetServantData(state.Value.id);

                character[state.Value.position]      = Instantiate(characterCustom.Create(ServantInfo.job, ServantInfo.head, ServantInfo.hair, ServantInfo.gender, ServantInfo.body), CharacterParent.transform.GetChild(0));
                character[state.Value.position].name = "Servant : " + state.Value.position + " - " + ServantInfo.name;
            }
            else if (state.Value.charType == CHAR_TYPE.MONSTER)
            {
                DBMonsterData MonsterInfo = CSVData.Inst.GetMonsterData(state.Value.id);

                character[state.Value.position]      = Instantiate(Resources.Load("InGameCharacterPrefabs/" + CSVData.Inst.GetMonsterDBResourceModel(state.Value.id)) as GameObject, CharacterParent.transform.GetChild(0));
                character[state.Value.position].name = "Monster : " + state.Value.position + " - " + MonsterInfo.name;
            }
            SettinGrid(state.Value.position);
            character[state.Value.position].AddComponent <CharacterIndex>().index = state.Value.position;
            SettingBoxCollider(character[state.Value.position]);
            animator[state.Value.position] = character[state.Value.position].GetComponent <Animator>();
            character[state.Value.position].AddComponent <BasicAttack>();
            charInfo[state.Value.position] = character[state.Value.position].GetComponent <CharInfo>();
            status[state.Value.position]   = new BattleStatus(stateData.myStateList[state.Value.position], true);
        }

        foreach (KeyValuePair <int, UserCharacterStateData> state in stateData.enemyStateList)
        {
            if (state.Value.charType == CHAR_TYPE.SERVANT)
            {
                DBServantData ServantInfo = CSVData.Inst.GetServantData(state.Value.id);

                character[state.Value.position]      = Instantiate(characterCustom.Create(ServantInfo.job, ServantInfo.head, ServantInfo.hair, ServantInfo.gender, ServantInfo.body), CharacterParent.transform.GetChild(1));
                character[state.Value.position].name = "Servant : " + state.Value.position + " - " + ServantInfo.name;
            }
            else if (state.Value.charType == CHAR_TYPE.MONSTER)
            {
                DBMonsterData MonsterInfo = CSVData.Inst.GetMonsterData(state.Value.id);

                character[state.Value.position]      = Instantiate(Resources.Load("InGameCharacterPrefabs/" + CSVData.Inst.GetMonsterDBResourceModel(state.Value.id)) as GameObject, CharacterParent.transform.GetChild(1));
                character[state.Value.position].name = "Monster : " + state.Value.position + " - " + MonsterInfo.name;
            }
            SettinGrid(state.Value.position);
            character[state.Value.position].AddComponent <CharacterIndex>().index = state.Value.position;
            SettingBoxCollider(character[state.Value.position]);
            animator[state.Value.position] = character[state.Value.position].GetComponent <Animator>();
            character[state.Value.position].AddComponent <BasicAttack>();
            charInfo[state.Value.position] = character[state.Value.position].GetComponent <CharInfo>();
            status[state.Value.position]   = new BattleStatus(stateData.enemyStateList[state.Value.position], false);
        }
    }
Beispiel #4
0
    private void Start()
    {
        UserStageStateData stateData = UserDataManager.Inst.GetStageState();

        BattleUIManager.Inst.BattleTurn.text = stateData.turn.ToString();

        turnIndex = stateData.turn + 1;

        MapChange.Inst.MapEneble(stateData.stageType);

        StartCoroutine(SetStartImage(stateData));
        SettingCharacter(stateData);
        SettingPosition();
        SettingDieCheck();
        BattleUIManager.Inst.StageInfoOn();
    }
 public void InitUserInfo()
 {
     userInfo         = null;
     userMainCharInfo = new MainCharInfo();
     userLobbyInfo    = new UserLobbyInfo();
     servantDic       = new Dictionary <int, UserServantData>();
     monsterDic       = new Dictionary <int, UserMonsterData>();
     equipmentDic     = new Dictionary <int, UserEquipmentData>();
     weaponDic        = new Dictionary <int, UserEquipmentData>();
     armorDic         = new Dictionary <int, UserEquipmentData>();
     accessoryDic     = new Dictionary <int, UserEquipmentData>();
     itemDic          = new Dictionary <int, UserItemData>();
     partyInfo        = new UserPartyData();
     stageState       = new UserStageStateData();
     stageActionInfo  = new battleActionData();
     stageReward      = new stageRewardData();
 }
Beispiel #6
0
    // 배틀 종료 후 보상 산정
    public void SetReward()
    {
        rewardParent.SetActive(true);

        UserStageStateData stateData  = UserDataManager.Inst.GetStageState();
        stageRewardData    rewardData = UserDataManager.Inst.GetStageReward();

        GameObject Exp = GameObject.Find("Reward Exp");
        GameObject rewardItemParent = GameObject.Find("Reward Item").transform.GetChild(0).GetChild(0).GetChild(0).gameObject;
        Image      rewardItemBack   = rewardItemParent.transform.GetChild(0).GetComponent <Image>();
        Image      rewardItemImage  = rewardItemParent.transform.GetChild(0).GetChild(0).GetComponent <Image>();
        Text       rewardUTG        = GameObject.Find("Reward UTG Text").GetComponent <Text>();

        foreach (KeyValuePair <int, UserCharacterStateData> state in stateData.myStateList)
        {
            if (state.Value.charType == CHAR_TYPE.SERVANT)
            {
                Transform tf = Exp.transform.GetChild(positionOrder[state.Value.position + 5]);
                tf.GetChild(0).GetComponent <Image>().sprite = CSVData.Inst.DBServantDataDic[state.Value.id].servantIcon;
                tf.GetChild(2).gameObject.SetActive(true);
                tf.GetChild(2).GetChild(0).GetComponent <Text>().text = UserDataManager.Inst.GetServantInfo(state.Value.index).level.ToString();
                tf.GetChild(3).GetComponent <Image>().sprite          = CSVData.Inst.GetSpriteServantJob((SERVANT_JOB)state.Value.job);
            }
            else if (state.Value.charType == CHAR_TYPE.MONSTER)
            {
                Transform tf = Exp.transform.GetChild(positionOrder[state.Value.position - 5]);
                tf.GetChild(0).GetComponent <Image>().sprite = CSVData.Inst.DBMonsterDataDic[state.Value.id].monsterIcon;
                tf.GetChild(2).gameObject.SetActive(true);
                tf.GetChild(2).GetChild(0).GetComponent <Text>().text = UserDataManager.Inst.GetMonsterInfo(state.Value.index).level.ToString();
                tf.GetChild(3).GetComponent <Image>().sprite          = CSVData.Inst.GetSmallSpriteTribeType((TRIBE_TYPE)state.Value.tribeType);
                tf.GetChild(4).GetComponent <Image>().sprite          = CSVData.Inst.GetSpriteElementType((ELEMENT_TYPE)state.Value.elementType);
            }
            Exp.transform.GetChild(positionOrder[state.Value.position < 5 ? state.Value.position + 5 : state.Value.position - 5]).GetComponent <Image>().sprite = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)state.Value.grade);
        }

        for (int i = 0; i < rewardData.get_char_exp_list.Count; i++)
        {
            Transform tf = Exp.transform.GetChild(positionOrder[rewardData.get_char_exp_list[i].pos < 5 ? rewardData.get_char_exp_list[i].pos + 5 : rewardData.get_char_exp_list[i].pos - 5]);
            if (rewardData.get_char_exp_list[i].lvup != 0)
            {
                tf.GetChild(5).gameObject.SetActive(true);
                tf.GetChild(5).GetChild(0).GetComponent <Text>().text = "+" + rewardData.get_char_exp_list[i].lvup.ToString();
            }
            tf.GetChild(1).gameObject.SetActive(true);
            tf.GetChild(1).GetComponent <Text>().text = "+ " + rewardData.get_char_exp_list[i].exp + " Exp";
        }

        for (int i = 0; i < rewardData.get_servant_list.Count; i++)
        {
            rewardItemBack.sprite  = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)rewardData.get_servant_list[i].servant.grade);
            rewardItemImage.sprite = CSVData.Inst.GetServantData(rewardData.get_servant_list[i].servant.id).servantIcon;
            Instantiate(rewardItemBack, rewardItemParent.transform).gameObject.SetActive(true);
        }

        for (int i = 0; i < rewardData.get_monster_list.Count; i++)
        {
            rewardItemBack.sprite  = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)rewardData.get_monster_list[i].monster.grade);
            rewardItemImage.sprite = CSVData.Inst.GetMonsterData(rewardData.get_monster_list[i].monster.id).monsterIcon;
            Instantiate(rewardItemBack, rewardItemParent.transform).gameObject.SetActive(true);
        }

        for (int i = 0; i < rewardData.get_equipment_list.Count; i++)
        {
            rewardItemBack.sprite  = CSVData.Inst.GetSpriteGrade((GRADE_TYPE)rewardData.get_equipment_list[i].equipment.grade);
            rewardItemImage.sprite = CSVData.Inst.GetEquipmentData(rewardData.get_equipment_list[i].equipment.id).equipmentIcon;
            Instantiate(rewardItemBack, rewardItemParent.transform).gameObject.SetActive(true);
        }

        for (int i = 0; i < rewardData.get_item_list.Count; i++)
        {
            rewardItemBack.sprite  = CSVData.Inst.GetSpriteGrade(CSVData.Inst.GetItemData(rewardData.get_item_list[i].id).grade);
            rewardItemImage.sprite = CSVData.Inst.GetItemData(rewardData.get_item_list[i].id).ItemIcon;
            Instantiate(rewardItemBack, rewardItemParent.transform).gameObject.SetActive(true);
        }

        rewardUTG.text = (rewardData.reward_money / 10000.0f).ToString("#.0000");
    }
 public void SetStageState(UserStageStateData getStageStateData)
 {
     stageState = getStageStateData;
 }
    public IEnumerator StageInfoOn_Co()
    {
        UserStageStateData StageData = UserDataManager.Inst.GetStageState();

        if (StageData.stageType == 0)
        {
            StageInfoFloor.text = "PVP";
            StageInfoName.text  = StageData.user + " VS " + StageData.enemyUser;
        }
        else
        {
            if (StageData.stageType == 1)
            {
                StageInfoFloor.text = "Stage - Lava Zone";
            }
            else if (StageData.stageType == 2)
            {
                StageInfoFloor.text = "Stage - Ice Berg";
            }
            else if (StageData.stageType == 3)
            {
                StageInfoFloor.text = "Stage - Under Ruins";
            }
            else if (StageData.stageType == 4)
            {
                StageInfoFloor.text = "Stage - Flowing Meadow";
            }
            else if (StageData.stageType == 5)
            {
                StageInfoFloor.text = "Stage - Sky Temple";
            }
            else if (StageData.stageType == 6)
            {
                StageInfoFloor.text = "Stage - Dark Forest";
            }

            StageInfoName.text = CSVData.Inst.GetStageData(StageData.stageType, StageData.stageFloor, StageData.stageDifficult).stageString;
            if (StageData.stageDifficult == 5)
            {
                StageInfoName.text = StageInfoName.text + " - Easy";
            }
            else if (StageData.stageDifficult == 4)
            {
                StageInfoName.text = StageInfoName.text + " - Normal";
            }
            else if (StageData.stageDifficult == 3)
            {
                StageInfoName.text = StageInfoName.text + " - Hard";
            }
            else if (StageData.stageDifficult == 2)
            {
                StageInfoName.text = StageInfoName.text + " - Nightmare";
            }
            else if (StageData.stageDifficult == 1)
            {
                StageInfoName.text = StageInfoName.text + " - Hell";
            }
        }
        BattleTurn.text = (StageData.turn == 0 ? "1" : (StageData.turn + 1).ToString()) + " Turn";

        Color plus = new Color(0, 0, 0, 0.02f);

        for (int i = 0; i < 50; i++)
        {
            yield return(new WaitForSeconds(0.02f));

            StageInfoBack.color  += plus;
            StageInfoLine.color  += plus;
            StageInfoFloor.color += plus;
            StageInfoName.color  += plus;
            BattleTurn.color     += plus;
        }
        StageInfoBack.color  = Color.white;
        StageInfoLine.color  = Color.white;
        StageInfoFloor.color = Color.white;
        StageInfoName.color  = Color.white;
        BattleTurn.color     = Color.white;
    }
    public BattleStatus(UserCharacterStateData data, bool isMyParty)
    {
        Status.Add(EFFECT_ID.HP, data.maxHP);
        Status.Add(EFFECT_ID.SPEED, data.speed);
        Status.Add(EFFECT_ID.AVOID, data.avoid);
        NowHp = data.nowHp;

        if (isMyParty)
        {
            if (data.charType == CHAR_TYPE.SERVANT)
            {
                UserStageStateData statgData = UserDataManager.Inst.GetStageState();
                UserServantData    servant   = UserDataManager.Inst.GetServantInfo(data.index);

                Status.Add(EFFECT_ID.STR, servant.status.basicStr);
                Status.Add(EFFECT_ID.DEX, servant.status.basicDex);
                Status.Add(EFFECT_ID.INT, servant.status.basicInt);

                Equipment(servant.equipmentDic, true);

                for (int i = 0; i < statgData.mySynergyList.Count; i++)
                {
                    Buff(statgData.mySynergyList[i].id, true, 0);
                }

                for (int i = 0; i < servant.passiveSkillList.Count; i++)
                {
                    Buff(servant.passiveSkillList[i].id, true);
                }

                StatusReCalculation(servant.level);

                Equipment(servant.equipmentDic, false);

                for (int i = 0; i < statgData.mySynergyList.Count; i++)
                {
                    Buff(statgData.mySynergyList[i].id, false, 0);
                }

                for (int i = 0; i < servant.passiveSkillList.Count; i++)
                {
                    Buff(servant.passiveSkillList[i].id, false);
                }
            }
            else if (data.charType == CHAR_TYPE.MONSTER)
            {
                if (data.position < 10)
                {
                    UserStageStateData statgData = UserDataManager.Inst.GetStageState();
                    UserMonsterData    monster   = UserDataManager.Inst.GetMonsterInfo(data.index);

                    Status.Add(EFFECT_ID.STR, monster.status.basicStr);
                    Status.Add(EFFECT_ID.DEX, monster.status.basicDex);
                    Status.Add(EFFECT_ID.INT, monster.status.basicInt);

                    StatusReCalculation(monster.level);

                    for (int i = 0; i < statgData.mySynergyList.Count; i++)
                    {
                        Buff(statgData.mySynergyList[i].id, true, (int)monster.tribeType);
                    }

                    for (int i = 0; i < monster.passiveSkillList.Count; i++)
                    {
                        Buff(monster.passiveSkillList[i].id, true);
                    }

                    StatusReCalculation(monster.level);

                    for (int i = 0; i < statgData.mySynergyList.Count; i++)
                    {
                        Buff(statgData.mySynergyList[i].id, false, (int)monster.tribeType);
                    }

                    for (int i = 0; i < monster.passiveSkillList.Count; i++)
                    {
                        Buff(monster.passiveSkillList[i].id, false);
                    }
                }
            }
        }
        else
        {
            Status.Add(EFFECT_ID.STR, data.status.basicStr);
            Status.Add(EFFECT_ID.DEX, data.status.basicDex);
            Status.Add(EFFECT_ID.INT, data.status.basicInt);
        }
    }