public void init(TypeChallenge tc, MinorIsland island, Building myBuilding) { this.Client = GameObject.Find("Network").GetComponent<Client>(); canvasChallenge = this.transform.parent.GetComponent<Canvas>(); this.building = myBuilding; this.minorIsland = island; this.typeChallenge = tc; if (typeChallenge == TypeChallenge.QCM) this.nbPropositions = 3; else this.nbPropositions = 2; //CSV part //row[0] : question ; row[1] : answer ; row[2] : explainations ; after : propositions //VraiFaux : answer = Proposition0 ou answer = Proposition1 //QCM : answer = Proposition0 ou answer = Proposition1 ou answer = Proposition2 //ENCODAGE : UTF8-16-LE //last line of file usually blank --> to be removed! //csv = Resources.Load<TextAsset>("Challenges/ChallengesFiles/" + typeChallenge.ToString() + "/" + typeChallenge.ToString() + "_" + myBuilding.TypeBuilding.ToString()); if (RegisterScene.level == 0) //collège csv = Resources.Load<TextAsset>("Challenges/ChallengesFiles/College/" + typeChallenge.ToString() + "/" + typeChallenge.ToString() + "_" + myBuilding.TypeBuilding.ToString()); else csv = Resources.Load<TextAsset>("Challenges/ChallengesFiles/Lycee/" + typeChallenge.ToString() + "/" + typeChallenge.ToString() + "_" + myBuilding.TypeBuilding.ToString()); Debug.Log("File : " + typeChallenge.ToString() + "_" + myBuilding.TypeBuilding.ToString()); string[] row = CSV_reader.GetRandomLine(csv.text); try { this.question = row[0]; } catch { error = true; } finally { if (!error) { addLineBreaks(); this.answer = row[1]; this.explainations = row[2]; this.propositions = new string[nbPropositions]; this.propositions[0] = row[3]; this.propositions[1] = row[4]; if (this.nbPropositions == 3) this.propositions[2] = row[5]; foreach (Text text in canvasChallenge.GetComponentsInChildren<Text>()) { switch (text.name) { case "Question": text.text = this.question; break; case "Result": resultText = text; break; case "Proposition0": if (typeChallenge == TypeChallenge.QCM) text.text = this.propositions[0]; break; case "Proposition1": if (typeChallenge == TypeChallenge.QCM) text.text = this.propositions[1]; break; case "Proposition2": if (typeChallenge == TypeChallenge.QCM) text.text = this.propositions[2]; break; } } foreach (SpriteRenderer sp in canvasChallenge.GetComponentsInChildren<SpriteRenderer>()) { if (sp.name == "background") this.background = sp; } } else { minorIsland.displayPopup("Oups ! Une erreur s'eest produite, veuillez ré-essayer ...", 3); Destroy(GameObject.Find("Challenge_" + typeChallenge + "_" + minorIsland.nameMinorIsland)); } } }