Example #1
0
    /// <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();
    }
Example #2
0
    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);
                }
            }
        }
    }
Example #3
0
 /// <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();
 }