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"); }
public void ActivateFace(PuzzleFace face, int piece) { face.ActivatePiece(piece); }