public SaveDataResultadoSets(ResultadoSets _res) { List <SetPrefab> _list = _res.GetListaSets(); listaSets = new List <SaveDataSet>(); foreach (var set in _list) { listaSets.Add(new SaveDataSet(set)); } }
public static void LoadData() { BinaryFormatter formatter = new BinaryFormatter(); if (Directory.Exists(pathEquipos)) { #region Equipo //CARGAR EQUIPOS string[] equiposDirectories = Directory.GetDirectories(pathEquipos); for (int i = 0; i < equiposDirectories.Length; i++) { //PATH DE UN EQUIPO string pathEquipo = equiposDirectories[i]; FileStream equipoStream = new FileStream(pathEquipo + "/equipo.txt", FileMode.Open); SaveDataEquipo dataEquipo = (SaveDataEquipo)formatter.Deserialize(equipoStream); //CREAR EL EQUIPO Equipo equipo = new Equipo(dataEquipo); equipoStream.Close(); #region Jugadores //CARGAR JUGADORES string pathJugadores = pathEquipo + "/jugadores"; if (Directory.Exists(pathJugadores)) { string[] jugadoresDirectories = Directory.GetDirectories(pathJugadores); foreach (var jugadorDir in jugadoresDirectories) { FileStream streamJugador = new FileStream(jugadorDir + "/jugador.txt", FileMode.Open); SaveDataJugador dataJugador = (SaveDataJugador)formatter.Deserialize(streamJugador); Jugador jugador = new Jugador(dataJugador); streamJugador.Close(); #region Estadisticas globales jugadores //CARGAR ESTADISTICAS GLOBALES if (File.Exists(jugadorDir + "/estGlobalPartido.txt")) { FileStream estPartidoStream = new FileStream(jugadorDir + "/estGlobalPartido.txt", FileMode.Open); SaveDataEstadisticas dataEstPartido = (SaveDataEstadisticas)formatter.Deserialize(estPartidoStream); jugador.CargarEstadisticasGlobalesPartido(new Estadisticas(dataEstPartido)); estPartidoStream.Close(); } if (File.Exists(jugadorDir + "/estGlobalPractica.txt")) { FileStream estPracticaStream = new FileStream(jugadorDir + "/estGlobalPractica.txt", FileMode.Open); SaveDataEstadisticas dataEstPractica = (SaveDataEstadisticas)formatter.Deserialize(estPracticaStream); jugador.CargarEstadisticasGlobalesPractica(new Estadisticas(dataEstPractica)); estPracticaStream.Close(); } #endregion #region Partidos jugadores //CARGAR PARTIDOS if (Directory.Exists(jugadorDir + "/partidos")) { string pathPartidos = jugadorDir + "/partidos"; string[] partidosDirectories = Directory.GetDirectories(pathPartidos); foreach (var partidoDir in partidosDirectories) { //string pathPartido = pathPartidos + partidoDir; FileStream streamPartido = new FileStream(partidoDir + "/partido.txt", FileMode.Open); SaveDataPartido dataPartido = (SaveDataPartido)formatter.Deserialize(streamPartido); FileStream streamPosicion = new FileStream(partidoDir + "/posicion.txt", FileMode.Open); string dataPosicion = (string)formatter.Deserialize(streamPosicion); FileStream streamEstadisticas = new FileStream(partidoDir + "/estadisticas.txt", FileMode.Open); SaveDataEstadisticas dataEstadisticas = (SaveDataEstadisticas)formatter.Deserialize(streamEstadisticas); FileStream streamResultado = new FileStream(partidoDir + "/resultado.txt", FileMode.Open); Partido _partido = new Partido(dataPartido, dataEstadisticas, jugador, dataPosicion); if (equipo.GetDeporte() == Deportes.DeporteEnum.Tenis || equipo.GetDeporte() == Deportes.DeporteEnum.Padel || equipo.GetDeporte() == Deportes.DeporteEnum.Voley) { SaveDataResultadoSets resPartidoSets = (SaveDataResultadoSets)formatter.Deserialize(streamResultado); ResultadoSets _res = new ResultadoSets(resPartidoSets); _partido.AgregarResultadoEntradaDatos(_res, Partido.TipoResultadoPartido.Sets); } else { SaveDataResultadoNormal resPartidoNormal = (SaveDataResultadoNormal)formatter.Deserialize(streamResultado); ResultadoNormal _res = new ResultadoNormal(resPartidoNormal); _partido.AgregarResultadoEntradaDatos(_res, Partido.TipoResultadoPartido.Normal); } jugador.CargarPartido(_partido); streamPartido.Close(); streamEstadisticas.Close(); } } #endregion #region Practicas jugadores //CARGAR PRACTICAS if (Directory.Exists(jugadorDir + "/practicas")) { string pathPracticas = jugadorDir + "/practicas"; string[] practicasDirectories = Directory.GetDirectories(pathPracticas); foreach (var practicaDir in practicasDirectories) { //string pathPractica = pathPracticas + practicaDir; FileStream streamPractica = new FileStream(practicaDir + "/partido.txt", FileMode.Open); SaveDataPartido dataPractica = (SaveDataPartido)formatter.Deserialize(streamPractica); FileStream streamPosicion = new FileStream(practicaDir + "/posicion.txt", FileMode.Open); string dataPosicion = (string)formatter.Deserialize(streamPosicion); Debug.Log("POS LOAD: " + jugador.GetPosicionActual()); FileStream streamEstadisticas = new FileStream(practicaDir + "/estadisticas.txt", FileMode.Open); SaveDataEstadisticas dataEstadisticas = (SaveDataEstadisticas)formatter.Deserialize(streamEstadisticas); FileStream streamResultado = new FileStream(practicaDir + "/resultado.txt", FileMode.Open); Partido _partido = new Partido(dataPractica, dataEstadisticas, jugador, dataPosicion); if (equipo.GetDeporte() == Deportes.DeporteEnum.Tenis || equipo.GetDeporte() == Deportes.DeporteEnum.Padel || equipo.GetDeporte() == Deportes.DeporteEnum.Voley) { SaveDataResultadoSets resPartidoSets = (SaveDataResultadoSets)formatter.Deserialize(streamResultado); ResultadoSets _res = new ResultadoSets(resPartidoSets); _partido.AgregarResultadoEntradaDatos(_res, Partido.TipoResultadoPartido.Sets); } else { SaveDataResultadoNormal resPartidoNormal = (SaveDataResultadoNormal)formatter.Deserialize(streamResultado); ResultadoNormal _res = new ResultadoNormal(resPartidoNormal); _partido.AgregarResultadoEntradaDatos(_res, Partido.TipoResultadoPartido.Normal); } jugador.CargarPractica(_partido); streamPractica.Close(); streamEstadisticas.Close(); } } #endregion equipo.CargarJugador(jugador); } } #endregion #region Jugador Favorito string favPlayerPath = pathEquipo + "/favouritePlayer.txt"; if (File.Exists(favPlayerPath)) { FileStream streamFavPlayer = new FileStream(favPlayerPath, FileMode.Open); string jugadorFavorito = (string)formatter.Deserialize(streamFavPlayer); equipo.SetJugadorFavorito(jugadorFavorito); } #endregion #region Estadisticas globales equipo //CARGAR ESTADISTICAS GLOBALES if (File.Exists(pathEquipo + "/estGlobalPartido.txt")) { FileStream estPartidoStream = new FileStream(pathEquipo + "/estGlobalPartido.txt", FileMode.Open); SaveDataEstadisticas dataEstPartido = (SaveDataEstadisticas)formatter.Deserialize(estPartidoStream); Estadisticas est = new Estadisticas(dataEstPartido); equipo.CargarEstadisticasGlobalesPartido(est); estPartidoStream.Close(); } if (File.Exists(pathEquipo + "/estGlobalPractica.txt")) { FileStream estPracticaStream = new FileStream(pathEquipo + "/estGlobalPractica.txt", FileMode.Open); SaveDataEstadisticas dataEstPractica = (SaveDataEstadisticas)formatter.Deserialize(estPracticaStream); equipo.CargarEstadisticasGlobalesPractica(new Estadisticas(dataEstPractica)); estPracticaStream.Close(); } #endregion #region Partidos equipo //CARGAR PARTIDOS if (Directory.Exists(pathEquipo + "/partidos")) { string pathPartidos = pathEquipo + "/partidos"; string[] partidosDirectories = Directory.GetDirectories(pathPartidos); foreach (var partidoDir in partidosDirectories) { //string pathPartido = pathPartidos + partidoDir; FileStream streamPartido = new FileStream(partidoDir + "/partido.txt", FileMode.Open); SaveDataPartido dataPartido = (SaveDataPartido)formatter.Deserialize(streamPartido); FileStream streamEstadisticas = new FileStream(partidoDir + "/estadisticas.txt", FileMode.Open); SaveDataEstadisticas dataEstadisticas = (SaveDataEstadisticas)formatter.Deserialize(streamEstadisticas); FileStream streamResultado = new FileStream(partidoDir + "/resultado.txt", FileMode.Open); Partido _partido = new Partido(dataPartido, dataEstadisticas, equipo); if (equipo.GetDeporte() == Deportes.DeporteEnum.Tenis || equipo.GetDeporte() == Deportes.DeporteEnum.Padel || equipo.GetDeporte() == Deportes.DeporteEnum.Voley) { SaveDataResultadoSets resPartidoSets = (SaveDataResultadoSets)formatter.Deserialize(streamResultado); ResultadoSets _res = new ResultadoSets(resPartidoSets); _partido.AgregarResultadoEntradaDatos(_res, Partido.TipoResultadoPartido.Sets); } else { SaveDataResultadoNormal resPartidoNormal = (SaveDataResultadoNormal)formatter.Deserialize(streamResultado); ResultadoNormal _res = new ResultadoNormal(resPartidoNormal); _partido.AgregarResultadoEntradaDatos(_res, Partido.TipoResultadoPartido.Normal); } equipo.CargarPartido(_partido); streamPartido.Close(); streamEstadisticas.Close(); } } #endregion #region Practica equipo //CARGAR PRACTICAS if (Directory.Exists(pathEquipo + "/practicas")) { string pathPracticas = pathEquipo + "/practicas"; string[] practicasDirectories = Directory.GetDirectories(pathPracticas); foreach (var practicaDir in practicasDirectories) { //string pathPractica = pathPracticas + practicaDir; FileStream streamPractica = new FileStream(practicaDir + "/partido.txt", FileMode.Open); SaveDataPartido dataPractica = (SaveDataPartido)formatter.Deserialize(streamPractica); FileStream streamEstadisticas = new FileStream(practicaDir + "/estadisticas.txt", FileMode.Open); SaveDataEstadisticas dataEstadisticas = (SaveDataEstadisticas)formatter.Deserialize(streamEstadisticas); FileStream streamResultado = new FileStream(practicaDir + "/resultado.txt", FileMode.Open); Partido _partido = new Partido(dataPractica, dataEstadisticas, equipo); if (equipo.GetDeporte() == Deportes.DeporteEnum.Tenis || equipo.GetDeporte() == Deportes.DeporteEnum.Padel || equipo.GetDeporte() == Deportes.DeporteEnum.Voley) { SaveDataResultadoSets resPartidoSets = (SaveDataResultadoSets)formatter.Deserialize(streamResultado); ResultadoSets _res = new ResultadoSets(resPartidoSets); _partido.AgregarResultadoEntradaDatos(_res, Partido.TipoResultadoPartido.Sets); } else { SaveDataResultadoNormal resPartidoNormal = (SaveDataResultadoNormal)formatter.Deserialize(streamResultado); ResultadoNormal _res = new ResultadoNormal(resPartidoNormal); _partido.AgregarResultadoEntradaDatos(_res, Partido.TipoResultadoPartido.Normal); } equipo.CargarPractica(_partido); streamPractica.Close(); streamEstadisticas.Close(); } } #endregion #endregion #region Planillas //CARGAR PLANILLAS string pathPlanillas = pathEquipos + equipo.GetNombre() + "/planillas"; if (Directory.Exists(pathPlanillas)) { string[] planillasDirectories = Directory.GetDirectories(pathPlanillas); //Vector de Carpetas de Planillas for (int j = 0; j < planillasDirectories.Length; j++) //Para cada carpeta de planillas { string pathPlanillaAsistencia = Directory.GetFiles(planillasDirectories[j])[0]; //Obtengo la dirección de la carpeta actual FileStream streamPlanillaAsistencia = new FileStream(pathPlanillaAsistencia, FileMode.Open); SaveDataPlanillaAsistencia dataPlanillaAsistencia = (SaveDataPlanillaAsistencia)formatter.Deserialize(streamPlanillaAsistencia); equipo.AgregarPlanillaAsistencia(dataPlanillaAsistencia); string[] detallesFiles = Directory.GetFiles(planillasDirectories[j] + "/Detalles"); //Vector de todos los detalles en la carpeta actual for (int k = 0; k < detallesFiles.Length; k++) //Para cada detalle { FileStream streamDetalles = new FileStream(detallesFiles[k], FileMode.Open); SaveDataPlanilla dataDetalle = (SaveDataPlanilla)formatter.Deserialize(streamDetalles); //Agregar la Planilla al Equipo equipo.AgregarDetalle(new DetalleAsistencia(dataDetalle), dataDetalle.GetNombrePlanilla()); streamDetalles.Close(); } } } #endregion //Agregar Equipo a la lista de Equipos AppController.instance.AgregarEquipo(equipo); } } #region Jugadas //Cargar imagenes if (Directory.Exists(pathImagenJugadas)) { //Por cada imagen guardada creo un objeto imagen string[] pathsCarpeta = Directory.GetDirectories(pathImagenJugadas); for (int i = 0; i < pathsCarpeta.Length; i++) { string _nombreCarpeta = Path.GetFileName(pathsCarpeta[i]); if (_nombreCarpeta == "-") { _nombreCarpeta = SaveSystem.carpetaEspecialEspañol; } CarpetaJugada _carpeta = new CarpetaJugada(_nombreCarpeta); string[] pathCarpetasJugadas = Directory.GetDirectories(pathsCarpeta[i]); for (int k = 0; k < pathCarpetasJugadas.Length; k++) { string[] pathArchivos = Directory.GetFiles(pathCarpetasJugadas[k]); byte[] bytes = null; string nombre = string.Empty; string categoria = string.Empty; for (int j = 0; j < pathArchivos.Length; j++) { if (Path.GetExtension(pathArchivos[j]) == ".png") { nombre = Path.GetFileNameWithoutExtension(pathArchivos[j]); bytes = File.ReadAllBytes(pathArchivos[j]); } else { FileStream streamCategoria = new FileStream(pathArchivos[j], FileMode.Open); categoria = (string)formatter.Deserialize(streamCategoria); } } ImagenBiblioteca _imagenBiblioteca = new ImagenBiblioteca(bytes, nombre, categoria, _carpeta); //AppController.instance.AgregarImagen(_imagenBiblioteca); _carpeta.AgregarJugada(_imagenBiblioteca); } AppController.instance.AgregarCarpetaJugada(_carpeta); } if (!Directory.Exists(pathImagenJugadas + "-")) { Directory.CreateDirectory(pathImagenJugadas + "-"); AppController.instance.AgregarCarpetaJugada(new CarpetaJugada(SaveSystem.carpetaEspecialEspañol)); } } else { Directory.CreateDirectory(pathImagenJugadas + "-"); AppController.instance.AgregarCarpetaJugada(new CarpetaJugada(SaveSystem.carpetaEspecialEspañol)); } #endregion #region Settings string settingsPath = Application.persistentDataPath + "/" + SaveSystem.carpetaPrincipal + "/settings.txt"; if (File.Exists(settingsPath)) { FileStream streamSettings = new FileStream(settingsPath, FileMode.Open); SaveDataSettings dataSettings = (SaveDataSettings)formatter.Deserialize(streamSettings); AppController.instance.SetSettings(dataSettings); } string equipoFavPath = Application.persistentDataPath + "/" + SaveSystem.carpetaPrincipal + "/favouriteTeam.txt"; if (File.Exists(equipoFavPath)) { FileStream streamFavTeam = new FileStream(equipoFavPath, FileMode.Open); string equipoFavorito = (string)formatter.Deserialize(streamFavTeam); AppController.instance.SetTeamAsFavourite(equipoFavorito); } #endregion }
public void SetDetallesJugador(Partido _partido, string nombreJugador, Estadisticas _estadisticas) { partidoFocus = _partido; ResultadoEntradaDatos.Resultado _tipoResultado; if (_partido != null) { if (partidoFocus.GetTipoResultadoPartido() == Partido.TipoResultadoPartido.Normal) { resultadoSets.gameObject.SetActive(false); resultadoNormal.gameObject.SetActive(true); ResultadoNormal _res = (ResultadoNormal)partidoFocus.GetResultadoEntradaDato(); resultadoNormal.CopyDataFrom(_res); resultadoNormal.DisableEdition(); _tipoResultado = resultadoNormal.GetResultado(); } else { resultadoSets.gameObject.SetActive(true); resultadoNormal.gameObject.SetActive(false); ResultadoSets _res = (ResultadoSets)partidoFocus.GetResultadoEntradaDato(); List <SetPrefab> _lista = _res.GetListaSets(); resultadoSets.BorrarPrefabs(); foreach (var set in _lista) { resultadoSets.AgregarSet(set); } resultadoSets.DisableEdition(); _tipoResultado = resultadoSets.GetResultado(); } if (_tipoResultado == ResultadoEntradaDatos.Resultado.Victoria) { resultadoText.SetText("Victoria", AppController.Idiomas.Español); resultadoText.SetText("Victory", AppController.Idiomas.Ingles); } else if (_tipoResultado == ResultadoEntradaDatos.Resultado.Derrota) { resultadoText.SetText("Derrota", AppController.Idiomas.Español); resultadoText.SetText("Loss", AppController.Idiomas.Ingles); } else { resultadoText.SetText("Empate", AppController.Idiomas.Español); resultadoText.SetText("Tie", AppController.Idiomas.Ingles); } if (isPartido) { CanvasController.instance.overlayPanel.SetNombrePanel("PARTIDO: " + partidoFocus.GetNombre(), AppController.Idiomas.Español); CanvasController.instance.overlayPanel.SetNombrePanel("MATCH: " + partidoFocus.GetNombre(), AppController.Idiomas.Ingles); } else { CanvasController.instance.overlayPanel.SetNombrePanel("PRACTICA: " + partidoFocus.GetNombre(), AppController.Idiomas.Español); CanvasController.instance.overlayPanel.SetNombrePanel("PRACTICE: " + partidoFocus.GetNombre(), AppController.Idiomas.Ingles); } } if (_partido == null) { botonVerResumen.SetActive(false); botonBorrar.SetActive(false); seccionResultado.SetActive(false); } else { botonVerResumen.SetActive(true); botonBorrar.SetActive(true); seccionResultado.SetActive(true); } if (listaPrefabsTextos == null) { listaPrefabsTextos = new List <GameObject>(); } jugador = AppController.instance.equipoActual.BuscarPorNombre(nombreJugador); estadisticas = _estadisticas; parentTransform = panelEstadisticas.GetPanelEstadisticaTransform(); if (partidoFocus == null) { posicionText.text = string.Empty; } else { posicionText.text = partidoFocus.GetPosicion(); } BorrarPrefabs(); CrearPrefabs(); }
public void SetPanelEstadisticasGlobalesEquipo(Partido _partido, bool fromGrafica = false) { botonVerResultado.SetActive(true); partidoFocus = _partido; ResultadoEntradaDatos.Resultado _tipoResultado; coloresBotones.Clear(); coloresBotones.Add(AppController.instance.colorTheme.detalle5); coloresBotones.Add(AppController.instance.colorTheme.detalle3); Deportes.DeporteEnum deporteActual = AppController.instance.equipoActual.GetDeporte(); switch (deporteActual) { //NORMAL CON PENALES case Deportes.DeporteEnum.Futbol: case Deportes.DeporteEnum.HockeyCesped: case Deportes.DeporteEnum.HockeyPatines: case Deportes.DeporteEnum.Handball: resultadoSets.gameObject.SetActive(false); resultadoNormal.gameObject.SetActive(true); ResultadoNormal _res = (ResultadoNormal)partidoFocus.GetResultadoEntradaDato(); Debug.Log(_res == null); resultadoNormal.CopyDataFrom(_res); resultadoNormal.DisableEdition(); _tipoResultado = resultadoNormal.GetResultado(); Debug.Log("NORMAL CON PENALES"); break; //NORMAL SIN PENALES case Deportes.DeporteEnum.Basket: case Deportes.DeporteEnum.Rugby: case Deportes.DeporteEnum.Softball: resultadoSets.gameObject.SetActive(false); resultadoNormal.gameObject.SetActive(true); ResultadoNormal _resNorm = (ResultadoNormal)partidoFocus.GetResultadoEntradaDato(); resultadoNormal.CopyDataFrom(_resNorm); resultadoNormal.DisableEdition(false); _tipoResultado = resultadoNormal.GetResultado(); Debug.Log("NORMAL SIN PENALES"); break; //SETS CON TIEBREAK case Deportes.DeporteEnum.Padel: case Deportes.DeporteEnum.Tenis: case Deportes.DeporteEnum.Voley: resultadoSets.gameObject.SetActive(true); resultadoNormal.gameObject.SetActive(false); ResultadoSets _resSets = (ResultadoSets)partidoFocus.GetResultadoEntradaDato(); List <SetPrefab> _lista = _resSets.GetListaSets(); resultadoSets.BorrarPrefabs(); foreach (var set in _lista) { resultadoSets.AgregarSet(set); } resultadoSets.DisableEdition(); _tipoResultado = resultadoSets.GetResultado(); Debug.Log("SETS CON TIEBREAK"); break; default: Debug.LogError("ERROR CON EL DEPORTE ACTUAL"); _tipoResultado = ResultadoEntradaDatos.Resultado.Derrota; break; } /*if (partidoFocus.GetTipoResultadoPartido() == Partido.TipoResultadoPartido.Normal) * { * resultadoSets.gameObject.SetActive(false); * resultadoNormal.gameObject.SetActive(true); * * ResultadoNormal _res = (ResultadoNormal)partidoFocus.GetResultadoEntradaDato(); * Debug.Log(_res == null); * resultadoNormal.CopyDataFrom(_res); * resultadoNormal.DisableEdition(); * _tipoResultado = resultadoNormal.GetResultado(); * } * else * { * resultadoSets.gameObject.SetActive(true); * resultadoNormal.gameObject.SetActive(false); * * ResultadoSets _res = (ResultadoSets)partidoFocus.GetResultadoEntradaDato(); * List<SetPrefab> _lista = _res.GetListaSets(); * * resultadoSets.BorrarPrefabs(); * foreach (var set in _lista) * { * resultadoSets.AgregarSet(set); * } * resultadoSets.DisableEdition(); * _tipoResultado = resultadoSets.GetResultado(); * }*/ if (_tipoResultado == ResultadoEntradaDatos.Resultado.Victoria) { resultadoText.SetText("Victoria", AppController.Idiomas.Español); resultadoText.SetText("Victory", AppController.Idiomas.Ingles); } else if (_tipoResultado == ResultadoEntradaDatos.Resultado.Derrota) { resultadoText.SetText("Derrota", AppController.Idiomas.Español); resultadoText.SetText("Loss", AppController.Idiomas.Ingles); } else { resultadoText.SetText("Empate", AppController.Idiomas.Español); resultadoText.SetText("Tie", AppController.Idiomas.Ingles); } CanvasController.instance.overlayPanel.SetNombrePanel("PARTIDO: " + _partido.GetNombre(), AppController.Idiomas.Español); CanvasController.instance.overlayPanel.SetNombrePanel("MATCH: " + _partido.GetNombre(), AppController.Idiomas.Ingles); seccionResultado.SetActive(true); botonBorrar.SetActive(true); Screen.orientation = ScreenOrientation.Portrait; if (!fromGrafica) { CanvasController.instance.AgregarPanelAnterior(CanvasController.Paneles.EstadisticasGlobalesEquipo); } if (listaPrefabsTextos == null) { listaPrefabsTextos = new List <GameObject>(); } estadisticas = _partido.GetEstadisticas(); parentTransform = estadisticasGlobales.SetPanelEstadisticas(); BorrarPrefabs(); CrearPrefabs(); }