public void InitStageInfo() { stageState = new UserStageStateData(); stageActionInfo = new battleActionData(); stageReward = new stageRewardData(); userInfo.sceneState = SCENE_STATE.Lobby; }
// 시작화면 파티 초상화 셋팅 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); }
// 아군 파티 셋팅 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); } }
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(); }
// 배틀 종료 후 보상 산정 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); } }