public void InitStageInfo() { stageState = new UserStageStateData(); stageActionInfo = new battleActionData(); stageReward = new stageRewardData(); userInfo.sceneState = SCENE_STATE.Lobby; }
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 IEnumerator BattleStart() { BattleUIManager.Inst.StageInfoOff(); isBattleStart = true; battleActionData stageActionInfo = UserDataManager.Inst.GetStageAction(); UserDataManager.Inst.stageState.turn = stageActionInfo.turn; for (int i = 0; i < stageActionInfo.character_action_list.Count; i++) { if (stageActionInfo.character_action_list[i].action_type == 2) { character[stageActionInfo.character_action_list[i].my_position].GetComponent <BasicAttack>().Attack(stageActionInfo.character_action_list[i]); } else if (stageActionInfo.character_action_list[i].action_type == 3) { if (stageActionInfo.character_action_list[i].my_position < 10) { BattleUIManager.Inst.MySkAction(GetCharState(stageActionInfo.character_action_list[i].my_position).activeSkillList[0].id); } else { BattleUIManager.Inst.EnemySkAction(GetCharState(stageActionInfo.character_action_list[i].my_position).activeSkillList[0].id); } SkillManager.Inst.SendMessage("Skill_" + GetCharState(stageActionInfo.character_action_list[i].my_position).activeSkillList[0].id.ToString(), stageActionInfo.character_action_list[i]); } if (i + 1 != stageActionInfo.character_action_list.Count && stageActionInfo.character_action_list[i].action_info_list.Count != 0 && stageActionInfo.character_action_list[i + 1].action_info_list[0].target_position == stageActionInfo.character_action_list[i].my_position && stageActionInfo.character_action_list[i + 1].my_position == stageActionInfo.character_action_list[i].action_info_list[0].target_position ) { yield return(new WaitForSeconds(7.0f)); } else { yield return(new WaitForSeconds(3.0f)); } isAfterDelay = false; } yield return(new WaitForSeconds(3.0f)); for (int i = 0; i < stageActionInfo.character_buff_list.Count; i++) { actionInfo tump = new actionInfo(); tump.damage = stageActionInfo.character_buff_list[i].damage; tump.target_position = stageActionInfo.character_buff_list[i].position; if (stageActionInfo.character_buff_list[i].type == 1 || stageActionInfo.character_buff_list[i].type == 3) { DamageManager.Inst.DamageShow(tump, true, ELEMENT_TYPE.None, false); } else if (stageActionInfo.character_buff_list[i].type == 2 || stageActionInfo.character_buff_list[i].type == 4) { DamageManager.Inst.DamageShow(tump, false, ELEMENT_TYPE.None, false); } yield return(new WaitForSeconds(0.1f)); } isBattleStart = false; turnIndex++; BattleUIManager.Inst.StageInfoOn(); int myHp = 0, enemyHp = 0; for (int i = 0; i < 10; i++) { myHp += status[i].NowHp; enemyHp += status[i + 10].NowHp; } if (enemyHp == 0) { #if UNITY_EDITOR Cheat.Inst.RequestStageRewardCheat(); #else if (UserDataManager.Inst.GetUserInfo().sceneState == SCENE_STATE.PVP) { PacketManager.Inst.RequestPVPResult(); } else { PacketManager.Inst.RequestStageReward(); } #endif } else if (myHp == 0) { battleFail.SetActive(true); } else if (isAuto) { yield return(new WaitForSeconds(2.0f)); TurnEnd(); } }
public void SetStageAction(battleActionData getBattleActionData) { stageActionInfo = getBattleActionData; }