private void OnTriggerExit(Collider coll) { if (listaNemiciDentroNonVisti.Contains(coll.transform)) listaNemiciDentroNonVisti.Remove(coll.transform); else if (listaNemiciVisti.Contains(coll.transform)) listaNemiciVisti.Remove(coll.transform); datiAltroPersonaggio = null; }
private void OnTriggerEnter(Collider coll) { datiAltroPersonaggio = coll.GetComponent<DatiPersonaggio>(); if (datiAltroPersonaggio != null) { if (Statici.dizionarioDiNemici[datiPersonaggio.miaClasse].Contains(datiAltroPersonaggio.miaClasse)) listaNemiciDentroNonVisti.Add(coll.transform); } }
// Use this for initialization void Start() { if (!Statici.inGioco) return; datiPersonaggio = GetComponent<DatiPersonaggio>(); if (Statici.multigiocatoreOn) { gestoreCanvasNetowork = GameObject.Find("ManagerCanvasMultiplayer").GetComponent<GestoreCanvasNetwork>(); managerNetwork = GameObject.Find("ManagerNetwork").GetComponent<ManagerNetwork>(); } }
private void Start() { if (!Statici.inGioco) return; datiPersonaggio = GetComponent<DatiPersonaggio>(); if (datiPersonaggio != null) { miaClasse = GetComponent<DatiPersonaggio>().miaClasse; luceSelezioneGO = transform.FindChild("luceSelezione").gameObject; } }
void OnTriggerEnter(Collider coll) { datiGiocatore = coll.GetComponent<DatiPersonaggio>(); if (datiGiocatore!=null && datiGiocatore.Giocabile) { if (!Statici.multigiocatoreOn) { Statici.datiPersonaggio.Dati.posizioneCheckPoint = transform.name; Statici.datiPersonaggio.Salva(); } } }
public static void AggiornaDati(DatiPersonaggio datiPersonaggio) { me.nomeText.text = datiPersonaggio.Nome; me.valoreVitaText.text = datiPersonaggio.Vita.ToString(); me.valoreTipoText.text = datiPersonaggio.miaClasse.ToString(); me.valoreAttaccoText.text = datiPersonaggio.Attacco.ToString(); me.valoreDifesaText.text = datiPersonaggio.Difesa.ToString(); me.sliderVita.minValue = 0f; me.sliderVita.maxValue = datiPersonaggio.VitaMassima; me.sliderVita.value = datiPersonaggio.Vita; me.personaggio = datiPersonaggio; }
private void OnTriggerStay(Collider coll) { if (AmiciziaCambiata) { datiAltroPersonaggio = coll.GetComponent<DatiPersonaggio>(); if (datiAltroPersonaggio != null) { if (GameManager.dizionarioDiNemici[datiPersonaggio.miaClasse].Contains(datiAltroPersonaggio.miaClasse) && !listaNemiciDentroNonVisti.Contains(coll.transform) && !listaNemiciVisti.Contains(coll.transform)) listaNemiciDentroNonVisti.Add(coll.transform); else if (listaNemiciVisti.Contains(coll.transform) && !GameManager.dizionarioDiNemici[datiPersonaggio.miaClasse].Contains(datiAltroPersonaggio.miaClasse)) listaNemiciVisti.Remove(coll.transform); else if (listaNemiciDentroNonVisti.Contains(coll.transform) && !GameManager.dizionarioDiNemici[datiPersonaggio.miaClasse].Contains(datiAltroPersonaggio.miaClasse)) listaNemiciDentroNonVisti.Remove(coll.transform); } AmiciziaCambiata = false; } }
// Use this for initialization void Start() { if (!Statici.inGioco) return; minimappa = GameObject.Find("Minimappa").GetComponent<Minimappa>(); switch (gameObject.layer) { case (14): spriteOggetto = minimappa.spritePortale; misuraSprite = minimappa.misuraSpritePortale; sonoUnEssereVivente = false; break; case (11): datiPersonaggio = gameObject.GetComponent<DatiPersonaggio>(); miaClasse = datiPersonaggio.miaClasse; giocabile = datiPersonaggio.Giocabile; if (!Statici.multigiocatoreOn) { classePlayer = Statici.PersonaggioPrincipaleT.GetComponent<DatiPersonaggio>().miaClasse; spriteOggetto = minimappa.spriteAmico; misuraSprite = minimappa.misuraSpriteAmico; } else { //per ora messi tutti nemici perchè se sono multiplayer le amicizie vanno decise sul server mentre i non giocabili non li visualizzo. if (giocabile) { spriteOggetto = minimappa.spriteNemico; misuraSprite = minimappa.misuraSpriteNemico; } else return;//se è multiplayer e non giocabile disattivo il personaggio AI per cui non deve vedersi il suo marcatore. } sonoUnEssereVivente = true; break; default: Debug.LogError("l'oggetto " + gameObject.name + " non appartiene ad un layer preso in considerazione dalla minimappa."); break; } Marcatore = new GameObject("Marcatore"); imageMarcatore = Marcatore.AddComponent<Image>(); if (Statici.multigiocatoreOn && giocabile) { DatiMarcatoreMulti datiMarcatoreMultiutente = Marcatore.AddComponent<DatiMarcatoreMulti>(); datiMarcatoreMultiutente.idUtente = datiPersonaggio.Utente; minimappa.listaUserIdMarcati.Add(datiMarcatoreMultiutente); } Marcatore.transform.SetParent(minimappa.transform); imageMarcatore.sprite = spriteOggetto; imageMarcatore.rectTransform.localPosition = Vector3.zero; imageMarcatore.rectTransform.localScale = Vector3.one; imageMarcatore.rectTransform.sizeDelta = new Vector2(misuraSprite, misuraSprite); playerT = minimappa.PlayerT; }
private void Start() { miaTransform = GetComponent<Transform>(); agente = GetComponent<NavMeshAgent>(); animatore = GetComponent<Animator>(); obiettivoNemico = null; obiettivoInVista = false; inZonaAttacco = false; colliderSferaVista = GetComponentInChildren<SphereCollider>(); colliderSferaVista.radius = quantoCiVedoSenzaOcchiali; pattugliamento = new Pattugliamento(); inseguimento = new Inseguimento(); Attacco = new Attacco(); Attacco.Inizializza(this); pattugliamento.Inizializza(this); inseguimento.Inizializza(this); statoCorrente = pattugliamento; datiPersonaggio = GetComponent<DatiPersonaggio>(); GameManager.RegistraDatiPersonaggio(datiPersonaggio); }
/// <summary> /// salva in un dizionario il personaggio e le sue caratteristiche (vita, livello ecc) /// </summary> /// <param name="datiPersonaggioDaRegistrare"></param> public static void RegistraDatiPersonaggio(DatiPersonaggio datiPersonaggioDaRegistrare) { registroDatiPersonaggi.Add(datiPersonaggioDaRegistrare.GetInstanceID(), datiPersonaggioDaRegistrare); RecuperaDati(datiPersonaggioDaRegistrare); }
/// <summary> /// recupera i dati del personaggio(giocatore o AI) e li assegna /// </summary> /// <param name="datiStatistici"></param> public static void RecuperaDati(DatiPersonaggio datiStatistici) { int tmpID = datiStatistici.GetInstanceID(); int indice = databaseInizialeProprieta.classePersonaggio.IndexOf(registroDatiPersonaggi[tmpID].miaClasse.ToString()); registroDatiPersonaggi[tmpID].Giocabile = databaseInizialeProprieta.matriceProprieta[indice].giocabile; if (!registroDatiPersonaggi[tmpID].Giocabile) { //se è un personaggio AI recupero i dati dallo scriptble object registroDatiPersonaggi[tmpID].VitaMassima = databaseInizialeProprieta.matriceProprieta[indice].Vita; registroDatiPersonaggi[tmpID].Vita = databaseInizialeProprieta.matriceProprieta[indice].Vita; registroDatiPersonaggi[tmpID].ManaMassimo = databaseInizialeProprieta.matriceProprieta[indice].Mana; registroDatiPersonaggi[tmpID].Mana = databaseInizialeProprieta.matriceProprieta[indice].Mana; registroDatiPersonaggi[tmpID].Livello = databaseInizialeProprieta.matriceProprieta[indice].Livello; registroDatiPersonaggi[tmpID].XpMassimo = databaseInizialeProprieta.matriceProprieta[indice].Xp; registroDatiPersonaggi[tmpID].Xp = databaseInizialeProprieta.matriceProprieta[indice].Xp; registroDatiPersonaggi[tmpID].Attacco = databaseInizialeProprieta.matriceProprieta[indice].Attacco; registroDatiPersonaggi[tmpID].Difesa = databaseInizialeProprieta.matriceProprieta[indice].difesa; } else { //se è giocabile recupero i dati dal file serializzato registroDatiPersonaggi[tmpID].VitaMassima = Statici.datiPersonaggio.Dati.VitaMassima; registroDatiPersonaggi[tmpID].Vita = Statici.datiPersonaggio.Dati.Vita; registroDatiPersonaggi[tmpID].ManaMassimo = Statici.datiPersonaggio.Dati.ManaMassimo; registroDatiPersonaggi[tmpID].Mana = Statici.datiPersonaggio.Dati.Mana; registroDatiPersonaggi[tmpID].Livello = Statici.datiPersonaggio.Dati.Livello; registroDatiPersonaggi[tmpID].XpMassimo = Statici.datiPersonaggio.Dati.XPMassimo; registroDatiPersonaggi[tmpID].Xp = Statici.datiPersonaggio.Dati.Xp; registroDatiPersonaggi[tmpID].Attacco = Statici.datiPersonaggio.Dati.Attacco; registroDatiPersonaggi[tmpID].Difesa = Statici.datiPersonaggio.Dati.difesa; registroDatiPersonaggi[tmpID].Nome = Statici.datiPersonaggio.Dati.nomePersonaggio; PersonaggioPrincipaleT.GetComponentInChildren<TextMesh>().text = registroDatiPersonaggi[tmpID].Nome; GestoreCanvasAltreScene.AggiornaDati(datiStatistici); Statici.personaggio = datiStatistici; classeDiColuiCheVuoleCambiareAmicizia = datiStatistici.miaClasse.ToString(); } }
private void Start() { transform_m = GetComponent<Transform>(); navMeshAgent = GetComponent<NavMeshAgent>(); if (navMeshAgent == null) { navMeshAgent = gameObject.AddComponent<NavMeshAgent>(); navMeshAgent.height = 2f; navMeshAgent.stoppingDistance = 1f; } navMeshAgent.enabled = true; rigidBody = GetComponent<Rigidbody>(); if (rigidBody == null) { rigidBody = gameObject.AddComponent<Rigidbody>(); rigidBody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezeRotationZ; } rigidBody.isKinematic = true; ev_Audio = GetComponent<EventoAudio>(); if(ev_Audio == null) ev_Audio = gameObject.AddComponent<EventoAudio>(); audioZona = GetComponent<AudioZona>(); if (audioZona == null) audioZona = gameObject.AddComponent<AudioZona>(); animatore = GetComponent<Animator>(); capsula = GetComponent<CapsuleCollider>(); altezzaCapsula = capsula.height; capsulaCentro = new Vector3(0.0f, capsula.center.y, 0.0f); IsPointAndClick = true; layerAlberi = ~layerAlberi; if (SceneManager.GetActiveScene().buildIndex == 0) return; datiPersonaggio = GetComponent<DatiPersonaggio>(); GameManager.RegistraDatiPersonaggio(datiPersonaggio); }
public static void RegistraDatiPersonaggio(DatiPersonaggio datiPersonaggio) { me.registroDatiPersonaggi.Add(datiPersonaggio.GetInstanceID(), datiPersonaggio); RecuperaDati(datiPersonaggio); }
private void Start() { listaNemiciDentroNonVisti = new List<Transform>(); mioCervello = GetComponent<FSM>(); mioCervello.ObiettivoNemico = null; alphaGradMezzi = (mioCervello.alphaGrad) * 0.5f; tmpDaELiminare = new List<Transform>(); datiPersonaggio = GetComponent<DatiPersonaggio>(); }