//Controlla e se necessario riserializza i percorsi public static void SerializzaPercorsi(ref GameData databseInizialeAmicizie, ref Serializzabile<AmicizieSerializzabili> datiDiplomazia, ref Dictionary<string, int> dizionarioPercorsi) { //Controlla i percorsi se sono gia serializzati e se ci sono variazioni li reserializza //se non sono serializzati li serializza //se non ci sono variazioni non fa niente if (databseInizialeAmicizie == null) return; if (datiDiplomazia == null) datiDiplomazia = new Serializzabile<AmicizieSerializzabili>(Statici.nomeFileDiplomazia); if (datiDiplomazia.Dati.indexPercorsi.Equals(databseInizialeAmicizie.indexPercorsi)) return; //CONTROLLARE SE METODO E' CORRETTO for (int i = 0; i < databseInizialeAmicizie.classiEssere.Length; i++) { datiDiplomazia.Dati.indexPercorsi[i] = databseInizialeAmicizie.indexPercorsi[i]; } datiDiplomazia.Salva(); // AGGIUNTO PER IL DIZIONARIO SUI PERCORSO dizionarioPercorsi.Clear(); for (int i = 0; i < datiDiplomazia.Dati.tipoEssere.Length; i++) dizionarioPercorsi.Add(datiDiplomazia.Dati.tipoEssere[i], datiDiplomazia.Dati.indexPercorsi[i]); }
public void RecuperaDatiGiocatore() { if (elencoCartelleDropDown.options.Count <= 0) return; if (nuovaPartita) return; Statici.nomePersonaggio = elencoCartelleDropDown.options[elencoCartelleDropDown.value].text; datiPersonaggio = new Serializzabile<ValoriPersonaggioS>(Statici.NomeFilePersonaggio); vitaCaricamento.text = datiPersonaggio.Dati.Vita.ToString(); attaccoCaricamento.text = datiPersonaggio.Dati.Attacco.ToString(); difesaCaricamento.text = datiPersonaggio.Dati.difesa.ToString(); if (tmpGOPrecedente != null) { tmpGOPrecedente.transform.position = dizionarioPosizioniPrecedenti[tmpGOPrecedente.name].position; tmpGOPrecedente.transform.rotation = dizionarioPosizioniPrecedenti[tmpGOPrecedente.name].rotation; } if (datiPersonaggio == null) return; if (!dizionarioCollegamentoNomiConModelli.ContainsKey(datiPersonaggio.Dati.nomeModello)) { erroreCaricamento.text = "Errore..Questo personaggio non e' più valido"; bottoneCaricaDaCaricamento.interactable = false; return; } else { erroreCaricamento.text = ""; bottoneCaricaDaCaricamento.interactable = true; } GameObject tmOj = dizionarioCollegamentoNomiConModelli[datiPersonaggio.Dati.nomeModello]; tmOj.transform.position = posizionePersonaggioCarica.position; tmOj.transform.rotation = posizionePersonaggioCarica.rotation; tmpGOPrecedente = tmOj; }
private void Start() { Statici.inGioco = false; me = this; CambiaAlphaPannelloSfondo(); nomeScenaText.gameObject.SetActive(false); Statici.assegnaAssetDatabase(); cameraT = Camera.main.transform; datiPersonaggio = new Serializzabile<ValoriPersonaggioS>(Statici.NomeFilePersonaggio); for (int i = 0; i < Statici.databaseInizialeProprieta.matriceProprieta.Count; i++) { if (!Statici.databaseInizialeProprieta.matriceProprieta[i].giocabile) continue; string tmpNomeModelloM = Statici.databaseInizialeProprieta.matriceProprieta[i].nomeM; string tmpNomeModelloF = Statici.databaseInizialeProprieta.matriceProprieta[i].nomeF; dizionarioCollegamentoNomiConModelli.Add(tmpNomeModelloM, Instantiate(Resources.Load(tmpNomeModelloM), GameObject.Find("postazione" + contatoreGiocabili).transform.FindChild("posizioneM").position, new Quaternion(0f, 180f, 0f, 0f)) as GameObject); dizionarioCollegamentoNomiConModelli.Add(tmpNomeModelloF, Instantiate(Resources.Load(tmpNomeModelloF), GameObject.Find("postazione" + contatoreGiocabili).transform.FindChild("posizioneF").position, Quaternion.identity) as GameObject); dizionarioPosizioniPrecedenti.Add(dizionarioCollegamentoNomiConModelli[tmpNomeModelloM].name, GameObject.Find("postazione" + contatoreGiocabili).transform.FindChild("posizioneM")); dizionarioPosizioniPrecedenti.Add(dizionarioCollegamentoNomiConModelli[tmpNomeModelloF].name, GameObject.Find("postazione" + contatoreGiocabili).transform.FindChild("posizioneF")); contatoreGiocabili += 1; } Statici.CopiaIlDB(); DirectoryInfo dI = new DirectoryInfo(Application.persistentDataPath); DirectoryInfo[] dirs = dI.GetDirectories(); for (int i = 0; i < dirs.Length; i++) { cartelleLocali.Add(dirs[i].Name); } SFXBus = FMODUnity.RuntimeManager.GetBus("bus:/SFX"); EnviromentBus = FMODUnity.RuntimeManager.GetBus("bus:/Environment"); datiAudio = new Serializzabile<ClasseAudio>(Statici.NomeFileAudio, true); if (!datiAudio.Dati.inizializzato) { SFXBus.getFaderLevel(out datiAudio.Dati.volSFX); EnviromentBus.getFaderLevel(out datiAudio.Dati.volEnvironment); datiAudio.Dati.inizializzato = true; datiAudio.Salva(); } else { SFXBus.setFaderLevel(datiAudio.Dati.volSFX); EnviromentBus.setFaderLevel(datiAudio.Dati.volEnvironment); } volumiAmbiente.value = datiAudio.Dati.volEnvironment; volumiSFX.value = datiAudio.Dati.volSFX; }
public void CaricaPartitaDaCreazione() { if (testoNome.text.Trim() == string.Empty) erroreCreazioneText.text = "Inserire un nome"; else { erroreCreazioneText.text = string.Empty; if (cartelleLocali.Contains(testoNome.text.Trim())) erroreCreazioneText.text = "Esiste Gia Un Personaggio con questo nome"; else { canvasGroupCreazione.interactable = false; canvasGroupCarica.interactable = false; erroreCaricamento.text = string.Empty; Statici.sonoPassatoDallaScenaIniziale = true; Statici.nomePersonaggio = testoNome.text; datiPersonaggio = new Serializzabile<ValoriPersonaggioS>(Statici.NomeFilePersonaggio); if (datiPersonaggio.Dati.nomePersonaggio == null) { datiPersonaggio.Dati.Vita = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Vita; datiPersonaggio.Dati.Attacco = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Attacco; datiPersonaggio.Dati.difesa = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].difesa; datiPersonaggio.Dati.Xp = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Xp; datiPersonaggio.Dati.Livello = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Livello; if (elencoSessiDropDown.value == 0) datiPersonaggio.Dati.nomeModello = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].nomeM; else datiPersonaggio.Dati.nomeModello = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].nomeF; datiPersonaggio.Dati.nomePersonaggio = testoNome.text; datiPersonaggio.Dati.classe = casellaTipo.text; datiPersonaggio.Dati.VitaMassima = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Vita; datiPersonaggio.Dati.ManaMassimo = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Mana; datiPersonaggio.Dati.XPMassimo = Statici.databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Xp; datiPersonaggio.Dati.posizioneCheckPoint = "start"; datiPersonaggio.Dati.nomeScena = "Isola"; datiPersonaggio.Salva(); } datiDiplomazia = new Serializzabile<AmicizieSerializzabili>(Statici.nomeFileDiplomazia); if (datiDiplomazia.Dati.tipoEssere[0] == null) { for (int i = 0; i < Statici.databseInizialeAmicizie.classiEssere.Length; i++) { datiDiplomazia.Dati.tipoEssere[i] = Statici.databseInizialeAmicizie.classiEssere[i]; } for (int i = 0; i < Statici.databseInizialeAmicizie.classiEssere.Length; i++) { datiDiplomazia.Dati.matriceAmicizie[i] = Statici.databseInizialeAmicizie.matriceAmicizie[i]; for (int j = 0; j < Statici.databseInizialeAmicizie.classiEssere.Length; j++) { datiDiplomazia.Dati.matriceAmicizie[i].elementoAmicizia[j] = Statici.databseInizialeAmicizie.matriceAmicizie[i].elementoAmicizia[j]; } } datiDiplomazia.Salva(); } if (!Statici.multigiocatoreOn)//SOLO SINGLEPLAYER StartCoroutine(ScenaInCaricamento(datiPersonaggio.Dati.nomeScena)); else//solo multiplayer ScenaInizialeNetwork.VaiAlleStanze(); } } }
private void Start() { CambiaAlphaPannelloSfondo(); nomeScenaText.gameObject.SetActive(false); Statici.assegnaAssetDatabase(ref databseInizialeAmicizie, ref databaseInizialeProprieta); cameraT = Camera.main.transform; datiPersonaggio = new Serializzabile<ValoriPersonaggioS>(Statici.NomeFilePersonaggio); for (int i = 0; i < databaseInizialeProprieta.matriceProprieta.Count; i++) { if (!databaseInizialeProprieta.matriceProprieta[i].giocabile) continue; string tmpNomeModelloM = databaseInizialeProprieta.matriceProprieta[i].nomeM; string tmpNomeModelloF = databaseInizialeProprieta.matriceProprieta[i].nomeF; dizionarioCollegamentoNomiConModelli.Add(tmpNomeModelloM, Instantiate(Resources.Load(tmpNomeModelloM), GameObject.Find("postazione" + contatoreGiocabili).transform.FindChild("posizioneM").position, new Quaternion(0f, 180f, 0f, 0f)) as GameObject); dizionarioCollegamentoNomiConModelli.Add(tmpNomeModelloF, Instantiate(Resources.Load(tmpNomeModelloF), GameObject.Find("postazione" + contatoreGiocabili).transform.FindChild("posizioneF").position, Quaternion.identity) as GameObject); dizionarioPosizioniPrecedenti.Add(dizionarioCollegamentoNomiConModelli[tmpNomeModelloM].name, GameObject.Find("postazione" + contatoreGiocabili).transform.FindChild("posizioneM")); dizionarioPosizioniPrecedenti.Add(dizionarioCollegamentoNomiConModelli[tmpNomeModelloF].name, GameObject.Find("postazione" + contatoreGiocabili).transform.FindChild("posizioneF")); contatoreGiocabili += 1; } Statici.CopiaIlDB(); DirectoryInfo dI = new DirectoryInfo(Application.persistentDataPath); DirectoryInfo[] dirs = dI.GetDirectories(); for (int i = 0; i < dirs.Length; i++) { cartelleLocali.Add(dirs[i].Name); } }
public void CaricaPartitaDaCreazione() { if (testoNome.text.Trim() == string.Empty) erroreCreazioneText.text = "Inserire un nome"; else { erroreCreazioneText.text = string.Empty; if (cartelleLocali.Contains(testoNome.text.Trim())) erroreCreazioneText.text = "Esiste Gia Un Personaggio con questo nome"; else { erroreCaricamento.text = string.Empty; Statici.sonoPassatoDallaScenaIniziale = true; Statici.nomePersonaggio = testoNome.text; datiPersonaggio = new Serializzabile<ValoriPersonaggioS>(Statici.NomeFilePersonaggio); if (datiPersonaggio.Dati.nomePersonaggio == null) { datiPersonaggio.Dati.Vita = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Vita; datiPersonaggio.Dati.Attacco = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Attacco; datiPersonaggio.Dati.difesa = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].difesa; datiPersonaggio.Dati.Xp = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Xp; datiPersonaggio.Dati.Livello = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Livello; if (elencoSessiDropDown.value == 0) datiPersonaggio.Dati.nomeModello = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].nomeM; else datiPersonaggio.Dati.nomeModello = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].nomeF; datiPersonaggio.Dati.nomePersonaggio = testoNome.text; datiPersonaggio.Dati.classe = casellaTipo.text; datiPersonaggio.Dati.VitaMassima = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Vita; datiPersonaggio.Dati.ManaMassimo = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Mana; datiPersonaggio.Dati.XPMassimo = databaseInizialeProprieta.matriceProprieta[IndiceClasseSuccessivaPrecedente].Xp; datiPersonaggio.Dati.posizioneCheckPoint = "start"; datiPersonaggio.Dati.nomeScena = "Isola"; datiPersonaggio.Salva(); } datiDiplomazia = new Serializzabile<AmicizieSerializzabili>(Statici.nomeFileDiplomazia); if (datiDiplomazia.Dati.tipoEssere[0] == null) { for (int i = 0; i < databseInizialeAmicizie.classiEssere.Length; i++) { datiDiplomazia.Dati.tipoEssere[i] = databseInizialeAmicizie.classiEssere[i]; } for (int i = 0; i < databseInizialeAmicizie.classiEssere.Length; i++) { datiDiplomazia.Dati.matriceAmicizie[i] = databseInizialeAmicizie.matriceAmicizie[i]; for (int j = 0; j < databseInizialeAmicizie.classiEssere.Length; j++) { datiDiplomazia.Dati.matriceAmicizie[i].elementoAmicizia[j] = databseInizialeAmicizie.matriceAmicizie[i].elementoAmicizia[j]; } } datiDiplomazia.Salva(); } Statici.SerializzaPercorsi(ref databseInizialeAmicizie, ref datiDiplomazia, ref GameManager.dizionarioPercorsi); personaggiInCarica = true; StartCoroutine(ScenaInCaricamento(datiPersonaggio.Dati.nomeScena)); } } }
private void FileSerializzatiDelPersonaggio() { //N.B.:non invertire le due righe. //carico dati personaggio datiPersonaggio = new Serializzabile<ValoriPersonaggioS>(Statici.NomeFilePersonaggio); //carico diplomazia datiDiplomazia = new Serializzabile<AmicizieSerializzabili>(Statici.nomeFileDiplomazia); }
private void Start() { GameObject tmpPdr = GameObject.Find("PadrePercorso"); if (tmpPdr != null) Statici.padreGestore = tmpPdr.GetComponent<PadreGestore>(); else Debug.LogError("Ma ci fai o ci sei ????..sei un cazzone....manca il padrePercorso"); Statici.assegnaAssetDatabase(); if (Statici.nomePersonaggio.Equals(string.Empty)) Statici.nomePersonaggio = "PersonaggioDiProva"; Statici.datiPersonaggio = new Serializzabile<ValoriPersonaggioS>(Statici.NomeFilePersonaggio); datiDiplomazia = new Serializzabile<AmicizieSerializzabili>(Statici.nomeFileDiplomazia); if (Statici.multigiocatoreOn) return; if (Statici.sonoPassatoDallaScenaIniziale) { GameObject tmpObjP = Instantiate(Resources.Load(Statici.datiPersonaggio.Dati.nomeModello), GameObject.Find(Statici.datiPersonaggio.Dati.posizioneCheckPoint).transform.position, Quaternion.identity) as GameObject; Statici.PersonaggioPrincipaleT = tmpObjP.transform; RecuperaDizionariDiplomazia(); } else { if (Statici.datiPersonaggio.Dati.nomePersonaggio == null) { Statici.datiPersonaggio.Dati.Vita = 10; Statici.datiPersonaggio.Dati.Attacco = 20; Statici.datiPersonaggio.Dati.difesa = 5; Statici.datiPersonaggio.Dati.Xp = 19; Statici.datiPersonaggio.Dati.Livello = 1; Statici.datiPersonaggio.Dati.nomeModello = "MagoBluM"; Statici.datiPersonaggio.Dati.nomePersonaggio = "PersonaggioDiProva"; Statici.datiPersonaggio.Dati.classe = classiPersonaggi.magoAcqua.ToString(); Statici.datiPersonaggio.Dati.VitaMassima = 10; Statici.datiPersonaggio.Dati.ManaMassimo = 20; Statici.datiPersonaggio.Dati.XPMassimo = 100; Statici.datiPersonaggio.Dati.posizioneCheckPoint = "start"; Statici.datiPersonaggio.Dati.nomeScena = SceneManager.GetActiveScene().name; Statici.datiPersonaggio.Salva(); } if (datiDiplomazia.Dati.tipoEssere[0] == null) { for (int i = 0; i < Statici.databseInizialeAmicizie.classiEssere.Length; i++) { datiDiplomazia.Dati.tipoEssere[i] = Statici.databseInizialeAmicizie.classiEssere[i]; } for (int i = 0; i < Statici.databseInizialeAmicizie.classiEssere.Length; i++) { datiDiplomazia.Dati.matriceAmicizie[i] = Statici.databseInizialeAmicizie.matriceAmicizie[i]; for (int j = 0; j < Statici.databseInizialeAmicizie.classiEssere.Length; j++) { datiDiplomazia.Dati.matriceAmicizie[i].elementoAmicizia[j] = Statici.databseInizialeAmicizie.matriceAmicizie[i].elementoAmicizia[j]; } } datiDiplomazia.Salva(); } GameObject tmpObjP = Instantiate(Resources.Load(Statici.datiPersonaggio.Dati.nomeModello), GameObject.Find(Statici.datiPersonaggio.Dati.posizioneCheckPoint).transform.position, Quaternion.identity) as GameObject; Statici.PersonaggioPrincipaleT = tmpObjP.transform; RecuperaDizionariDiplomazia(); Statici.CopiaIlDB(); Statici.sonoPassatoDallaScenaIniziale = true; } }