/// <summary> /// Sortir la brigade /// </summary> /// <param name="brig">Brigade.</param> void sortirBrig(BrigadeController brig) { Vector3 _pos = new Vector3(transform.position.x, transform.position.y, brig.transform.position.z); //pour que la brigade reste derrière le meuble brig.transform.position = _pos; brig.outObject(); Vector3 _spawn = new Vector3(spawnPoint.position.x, spawnPoint.position.y, 1); //les meuble sont un z=0 pour rester devant, donc les briagades spawn en z=1; brig.moveToDest(_spawn); brig.select(); }
void OnTriggerEnter2D(Collider2D other) { if (other is CircleCollider2D && other.CompareTag("Brigade")) { BrigadeController brigade = other.GetComponent <BrigadeController>(); //si la brigade n'est pas à destination de ce meuble, elle ne doit pas y rentrer if (!brigade.goToMeuble || brigade.meubleToGo != this) { brigade.underObjectIn(this); return; } //les brigades ne peuvent pas rentrer dans les meubles solides si elles n'ont pas de capacité de destruction) //les brigades ne peuvent pas renrter dans la colonie pour l'instant. if (isColonie || (brigade.destructCap == 0 && solidityLevel > 0)) { brigade.moveToDest(spawnPoint.position); } //brigade colon else if (brigade.typeBrigade == typeBrig.Scout && brigade.isColonizing) { colonize(); brigade.Hurt(1000f); //meurt } else { //les brigades pouvant "ouvrir" les meubles "solides" if (brigade.destructCap > 0 && solidityLevel > 0) { opening(brigade.destructCap); } if (nbBrigade < maxBrig) { //brigade entre, ajoute sa vitesse de collecte Brigs[nbBrigade] = brigade; speedWater += brigade.waterTaking; speedFood += brigade.foodTaking; speedConstruct += brigade.constructTaking; brigade.inObject(this); //la brigade sait dans quel objet elle est Vector3 _pos = new Vector3(transform.position.x, transform.position.y, brigade.transform.position.z); //pour que la brigade reste derrière le meuble brigade.transform.position = _pos; nbBrigade++; } else { brigade.moveToDest(spawnPoint.position); } if (!isInfected) { isInfected = true; lvlC.AddContamin(); sprite.color = infectedColor; //A la première contamination, on déclenche la prise de ressource Invoke("takeWater", ListConst.takeDelay); Invoke("takeFood", ListConst.takeDelay); Invoke("takeConstruct", ListConst.takeDelay); } } } }
/// <summary> /// Sortir la brigade /// </summary> /// <param name="brig">Brigade.</param> void sortirBrig(BrigadeController brig) { Vector3 _pos=new Vector3(transform.position.x, transform.position.y, brig.transform.position.z);//pour que la brigade reste derrière le meuble brig.transform.position=_pos; brig.outObject(); Vector3 _spawn=new Vector3(spawnPoint.position.x, spawnPoint.position.y, 1);//les meuble sont un z=0 pour rester devant, donc les briagades spawn en z=1; brig.moveToDest(_spawn); brig.select(); }