Пример #1
0
 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;
 }
Пример #2
0
 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;
 }
Пример #7
0
 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;
     }
 }
Пример #8
0
    // 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;
    }
Пример #9
0
 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);
 }
Пример #10
0
 /// <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);
 }
Пример #11
0
    /// <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();
        }
    }
Пример #12
0
    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);
    }
Пример #13
0
 public static void RegistraDatiPersonaggio(DatiPersonaggio datiPersonaggio)
 {
     me.registroDatiPersonaggi.Add(datiPersonaggio.GetInstanceID(), datiPersonaggio);
     RecuperaDati(datiPersonaggio);
 }
Пример #14
0
 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>();
 }