Example #1
0
    public void LancerDeCertainCube(Vector3 DirectionDeDash, int NombreAlancer)
    {
        if (MyGDNJ.telekynesysScript.Count >= Mathf.Pow(MyGDNJ.NombreDecube, 3))
        {
            List <int>    IndexCeuxQuiSerontExpulser = new List <int>();
            Telekynesys[] Expulser   = new Telekynesys[NombreAlancer];
            Rigidbody[]   RBExpulser = new Rigidbody[NombreAlancer];
            int           Index      = 0;
            while (IndexCeuxQuiSerontExpulser.Count < NombreAlancer)
            {
                int  toInclude = Random.Range(0, MyGDNJ.telekynesysScript.Count);
                bool isInclude = false;
                foreach (int ind in IndexCeuxQuiSerontExpulser)
                {
                    if (toInclude == ind)
                    {
                        isInclude = true;
                        break;
                    }
                }
                if (!isInclude)
                {
                    IndexCeuxQuiSerontExpulser.Add(toInclude);
                    Expulser[Index]   = MyGDNJ.telekynesysScript[toInclude];
                    RBExpulser[Index] = MyGDNJ.MesPetitsCube[toInclude];
                    Index++;
                }
            }
            for (int i = 0; i < IndexCeuxQuiSerontExpulser.Count; i++)
            {
                MyGDNJ.MesPetitsCube.Remove(RBExpulser[i]);
                MyGDNJ.telekynesysScript.Remove(Expulser[i]);
            }

            foreach (Telekynesys item in Expulser)
            {
                item.GO = false;// lui dis d'arreter à la position
            }
            foreach (Rigidbody Cubies in RBExpulser)
            {
                Cubies.AddForce(DirectionDeDash * ForceDeLancer, ForceMode.Impulse);// lui donne une force pour l'expulser
            }
        }
        else
        {
            LancerDeBoule(DirectionDeDash);
        }
    }
Example #2
0
    void createMiniCube(Vector3 cordonnate) // fonction créer le cube
    {
        //le parent objet vide

        GameObject CUBE = GameObject.CreatePrimitive(PrimitiveType.Cube); //creer le cube

        CUBE.layer = 8;                                                   //set le layer du cube
        CubeExplosions.Add(CUBE);                                         //ajout le game object dans la liste
        Telekynesys Tele = CUBE.AddComponent <Telekynesys>();             //lui ajoute le scrypte de telekynesis

        GDNJ.telekynesysScript.Add(Tele);                                 // ajoute la ref dans les data
        CUBE.transform.localRotation = Quaternion.identity;               //set la rotation // à refaire
        CUBE.transform.position      = cordonnate;                        //change la position
        CUBE.transform.localScale    = Vector3.one * lengthOfNewCube;     //met à la bonne taille
        Rigidbody CB = CUBE.AddComponent <Rigidbody>();                   //add la physique

        Tele.GoToCoordonate();                                            //lui dis d'aller à ces coordonné
        GDNJ.MesPetitsCube.Add(CB);                                       //ajoute le cube dans les datas
        CB.mass = lengthOfNewCube;                                        //met la mass
    }