Пример #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);
        }
    }
Пример #2
0
    public void LancerDeBoule(Vector3 Direction) //Lancer de boule
    {
        //print("Je lance La boule");
        Vector3 DirectionDeLancer = Direction.normalized;//calcul la direction pour le lancer

        foreach (Telekynesys item in MyGDNJ.telekynesysScript)
        {
            item.GO = false;// lui dis d'arreter à la position
        }
        foreach (Rigidbody Cubies in MyGDNJ.MesPetitsCube)
        {
            Cubies.AddForce(DirectionDeLancer * ForceDeLancer, ForceMode.Impulse);// lui donne une force pour l'expulser
        }

        MyGDNJ.telekynesysScript.Clear(); //clear dans  data
        MyGDNJ.MesPetitsCube.Clear();     //clear  dans data
        Invoke("lancerDeBoolAfter", 0.3f);
    }