private void EnterBattle() { C2G.EnterBattle packet = new C2G.EnterBattle(); packet.map_id = m_StageInfo.MapInfo.ID; packet.stage_id = m_StageInfo.ID; packet.difficulty = m_StageInfo.Difficulty; if (m_StageInfo.MapInfo.AvailableTags.Count > 0) { packet.creature_ids = m_TeamData.Creatures.Select(c => c.creature.Info.ID).ToList(); } if (Tutorial.Instance.Completed == true) { if (m_TeamData.IsEqual(m_TeamDataBackup) == false) { packet.team_data = m_TeamData.CreateSaveData(); } Network.GameServer.JsonAsync <C2G.EnterBattle, C2G.EnterBattleAck>(packet, OnEnterBattle); } else { C2G.TutorialState tutorial_packet = new C2G.TutorialState(); tutorial_packet.enter_battle = packet; tutorial_packet.tutorial_state = Network.PlayerInfo.tutorial_state; tutorial_packet.next_tutorial_state = (short)Tutorial.Instance.CurrentState; Network.GameServer.JsonAsync <C2G.TutorialState, C2G.TutorialStateAck>(tutorial_packet, OnTutorialEnterBattle); } }
public void OnClickSaveDefenseTeam() { if (m_CurrentTeam.Creatures.Count == 0) { Tooltip.Instance.ShowMessageKey("PVPTeamCountZero"); return; } if (CheckSkill() == false) { return; } if (m_CurrentTeam.LeaderCreature == null && m_CurrentTeam.Creatures.Any(c => c.creature.TeamSkill != null)) { OnLeaderSkill(); return; } if (is_regist == true) { C2G.PVPRegistDefense packet = new C2G.PVPRegistDefense(); packet.leader_creature = Network.PlayerInfo.leader_creature; packet.team_power = m_CurrentTeam.Power; packet.team_data = m_CurrentTeam.CreateSaveData(); packet.message = Localization.Get("PVPMessageDefault"); Network.GameServer.JsonAsync <C2G.PVPRegistDefense, C2G.PVPRegistDefenseAck>(packet, OnPvpRegistDefense); } else { TeamData defense_team = TeamDataManager.Instance.GetTeam(pe_Team.PVP_Defense); if (defense_team == null || defense_team.IsEqual(m_CurrentTeam) == false) { C2G.PvpUpdateDefense packet = new C2G.PvpUpdateDefense(); packet.leader_creature = Network.PlayerInfo.leader_creature; packet.team_power = m_CurrentTeam.Power; packet.team_data = m_CurrentTeam.CreateSaveData(); Network.GameServer.JsonAsync <C2G.PvpUpdateDefense, C2G.PVPRegistDefenseAck>(packet, OnPvpUpdateDefense); } else { PvpDefenseTeamUpdated(); } } }
public void OnClickBattleStart() { if (m_CurrentTeam.Creatures.Count == 0) { Tooltip.Instance.ShowMessageKey("PVPTeamCountZero"); return; } if (CheckSkill() == false) { return; } if (m_CurrentTeam.LeaderCreature == null && m_CurrentTeam.Creatures.Any(c => c.creature.TeamSkill != null)) { OnLeaderSkill(); return; } bool save = false; TeamData pvp_team = TeamDataManager.Instance.GetTeam(pe_Team.PVP); if (pvp_team == null) { TeamDataManager.Instance.AddTeam(m_CurrentTeam, true); save = true; } else if (pvp_team.IsEqual(m_CurrentTeam) == false) { pvp_team.Set(m_CurrentTeam); save = true; } C2G.PvpEnterBattle packet = new C2G.PvpEnterBattle(); packet.enemy_account_idx = Network.PVPBattleInfo.enemy_info.account_idx; if (save) { packet.team_data = m_CurrentTeam.CreateSaveData(); } Network.GameServer.JsonAsync <C2G.PvpEnterBattle, C2G.PvpEnterBattleAck>(packet, OnPvpEnterBattle); }