Exemple #1
0
    private void SpawnCurrent()
    {
        if (ObjectPlayerOne && ObjectPlayerTwo)
        {
            Destroy(ObjectPlayerOne.transform.parent.gameObject);
            Destroy(ObjectPlayerTwo.transform.parent.gameObject);
        }
        GameObject obj1 = Instantiate(Shapes[Stage]);
        GameObject obj2 = Instantiate(Shapes[Stage]);



        PlaceFaces p1 = obj1.GetComponentInChildren <PlaceFaces>();
        PlaceFaces p2 = obj2.GetComponentInChildren <PlaceFaces>();

        p1.Init();
        p2.Init();

        ObjectPlayerOne = obj1.GetComponentInChildren <PlayerObject>();
        ObjectPlayerTwo = obj2.GetComponentInChildren <PlayerObject>();
        ObjectPlayerOne.Init();
        ObjectPlayerTwo.Init();
        HandRight.Palm = ObjectPlayerOne.transform;
        HandLeft.Palm  = ObjectPlayerTwo.transform;
        _sequence.Clear();
        var temp = (ObjectPlayerOne.GetFaces().Concat(ObjectPlayerTwo.GetFaces())).ToList();

        Debug.Log(temp.Count + "tocunter");
        int facesCovered = 0;

        while (temp.Count > 0)
        {
            Debug.Log(facesCovered + "faces covered");
            if (temp.Count() == 1)
            {
                _sequence.Add(new List <PuzzleFace>());
                _sequence[_sequence.Count - 1].Add(temp[0]);
                temp.Remove(temp[0]);
                facesCovered++;
            }
            else
            {
                int rnd = Random.Range(0, LevelProgression[Stage]);
                facesCovered += rnd;
                if (rnd == 0)
                {
                    int        rndFace  = Random.Range(0, temp.Count());
                    PuzzleFace tempFace = temp[rndFace];
                    _sequence.Add(new List <PuzzleFace>());
                    _sequence[_sequence.Count - 1].Add(tempFace);
                    temp.Remove(tempFace);
                    facesCovered++;
                }
                if (rnd == 1)
                {
                    int        rndFace  = Random.Range(0, temp.Count());
                    PuzzleFace tempFace = temp[rndFace];
                    _sequence.Add(new List <PuzzleFace>());
                    _sequence[_sequence.Count - 1].Add(tempFace);
                    temp.Remove(tempFace);
                    facesCovered++;
                    rndFace  = Random.Range(0, temp.Count());
                    tempFace = temp[rndFace];
                    _sequence[_sequence.Count - 1].Add(tempFace);
                    temp.Remove(tempFace);
                    facesCovered++;
                }
            }
        }
        Debug.Log("lol" + _sequence.Count + " " + temp.Count);
        _partsInSequence = _sequence.Count;
        SoundManager.PlaySound("Progress_002");
    }
Exemple #2
0
 public void ActivateFace(PuzzleFace face, int piece)
 {
     face.ActivatePiece(piece);
 }