/// <summary> /// Méthode d'attaque de l'agent. /// </summary> protected override AgentLife Attack() { AgentLife enemyLife = base.Attack(); if(enemyLife == null){ return enemyLife; } if(enemyLife.currentLife <= 0 && !bringResidues /*&& !residuesDone*/ && GameManager.canTakeResidu && Random.Range(0f,1f) > 0.5f){ if(enemyLife.name.Contains("Bacteria")){ Debug.Log("TakeResiduBacteria"); typeResidus = Type.TypeResidus.BACTERIA; residuBacteriaSprite.SetActive(true); }else{ typeResidus = Type.TypeResidus.VIRUS; residuVirusSprite.SetActive(true); } if (GameManager.gameManager.GetComponent<GameManager> ().simulation) bringResidues = true; agent.state = MacrophageAgent.BRING_RESIDUS; } return enemyLife; }
public bool TakeResidus(Type.TypeResidus _typeResidus) { if(residus || _typeResidus == Type.TypeResidus.NONE){ return false; } residus = true; typeResidus = _typeResidus; agent.state = LTAuxAgent.ANALYZE; return true; }
/// <summary> /// Permet à l'agent de récupérer un résidu donné par un macrophage. /// </summary> /// <returns><c>true</c>, si le résidu à été récupéré, <c>false</c> sinon.</returns> /// <param name="_typeResidus">_type residus.</param> public bool TakeResidus(Type.TypeResidus _typeResidus) { if(residus || _typeResidus == Type.TypeResidus.NONE){ return false; } GameManager.gameManager.GetComponent<ObjectifManager> ().updateGoal (9); typeResidus = _typeResidus; if(typeResidus == Type.TypeResidus.BACTERIA){ residuBacteriaSprite.SetActive(true); }else if(typeResidus == Type.TypeResidus.VIRUS){ residuVirusSprite.SetActive(true); } if (GameManager.gameManager.GetComponent<GameManager> ().simulation) { residus = true; agent.state = LTAuxAgent.BACK_TO_BASE; } return true; }
void Start() { typeResidus = Type.TypeResidus.NONE; }
/// <summary> /// Permet de supprimer les résidus du macrophage. /// </summary> public void RemoveResidus() { residuBacteriaSprite.SetActive(false); residuVirusSprite.SetActive(false); typeResidus = Type.TypeResidus.NONE; }
void Start() { typeLT = Type.TypeLT.NONE; typeResidus = Type.TypeResidus.NONE; residus = false; time = 0f; }