private void Update() { if (statoCorrente != statoPrecedente) { if (statoPrecedente != null) { statoPrecedente.EsecuzioneTerminata(); } statoCorrente.PreparoEsecuzione(); statoPrecedente = statoCorrente; } statoCorrente.Esecuzione(); if (obiettivoInVista) { if (!inZonaAttacco) { statoCorrente = inseguimento; } /* else * statoCorrente = attacco;*///levare il commento quando qualcuno implementa lo stato di attacco } else { statoCorrente = pattugliamento; } }
private void Update() { if (statoCorrente != statoPrecedente) { if (statoPrecedente != null) statoPrecedente.EsecuzioneTerminata(); statoCorrente.PreparoEsecuzione(); statoPrecedente = statoCorrente; } if(DatiPersonaggio.Vita>0) { if (ObiettivoNemico != null) { if (inZonaAttacco && ObiettivoInVista) statoCorrente = Attacco; else statoCorrente = inseguimento; } else statoCorrente = pattugliamento; statoCorrente.Esecuzione(); } else if (!Ucciso) { statoCorrente = morte; statoCorrente.Esecuzione(); } }