private void Start() { audio = GameObject.Find("Son").GetComponent <AudioSource>(); allScenette = new Queue <GameObject>(scenetteListTemp); currentScenette = GameObject.Find("ScenetteTest").GetComponent <Scenette>(); currentScenette.Fail += fail; currentScenette.Sucess += succ; setSpeed(currentScenette.speedBandeauMultipler); gobTimer = Instantiate(prefabTimer, this.transform) as GameObject; gobHonor = Instantiate(prefabHonor, transform); rectHonor = gobHonor.transform.GetChild(1).GetComponent <RectTransform>(); rectModel = gobHonor.transform.GetChild(0).GetComponent <RectTransform>(); rectToResize = gobHonor.transform.GetChild(1).GetChild(0).GetComponent <RectTransform>(); yDiffHonor = rectHonor.anchorMax.y - rectHonor.anchorMin.y; rectToResize.sizeDelta = rectModel.rect.size;//.sizeDelta; rectToResize.position = rectModel.position; if (instance != null) { Destroy(gameObject); } else { instance = this; } for (int index = 0; index < SIZEPOOLTOUCHE; index++) { poolKey[index] = Instantiate(prefabInstanceToucheFX) as GameObject; poolKey[index].SetActive(false); poolKey[index].transform.SetParent(transform); } //Start Game : currentScenette.init(); currentScenette.startSequenceSequence(); }
//Fin bandeau , debut transition public void nextScene() { audio.PlayOneShot(next[Random.Range(0, next.Count)], 0.5f); GameObject obj = null; if (honor <= 0) { allScenette.Clear(); allScenette.Enqueue(defaite); } else if (honor >= honorMax) { allScenette.Clear(); allScenette.Enqueue(victoire); } if (currentScenette != null) { currentScenette.Sucess -= succ; currentScenette.Fail -= fail; destroyingScenette = currentScenette; currentScenette.Sucess += succ; currentScenette.Fail += succ; currentScenette.init(); } if (allScenette.Count > 0) { obj = allScenette.Dequeue(); obj.SetActive(true); currentScenette = Instantiate(obj).GetComponent <Scenette>(); currentScenette.Sucess += succ; currentScenette.Fail += fail; currentScenette.GetComponent <Animator>().speed = currentScenette.mutliplerSpeedEnter; setSpeed(currentScenette.speedBandeauMultipler); } isWE = currentScenette.isWE; weekMusic.volume = isWE ? 0 : 1; gobTimer.SetActive(!currentScenette.falseScene); currentScenette.init(); }
private void OnGUI() { GUILayout.Label("Nom de l'objet"); nameObject = EditorGUILayout.TextArea(nameObject); if (nameObject == "") { nameObject = "J'ai laissé un nom vide , shame on me"; } GUILayout.Label("Vitesse du bandeau (multiplicateur)"); vitesseBandeauMultipler = Mathf.Max(0.001f,EditorGUILayout.FloatField("", vitesseBandeauMultipler)); GUILayout.Label("Texte de victoire"); textVictory = EditorGUILayout.TextArea(textVictory); GUILayout.Label("Texte de defaite"); textDefeat= EditorGUILayout.TextArea(textDefeat); GUILayout.Label("Taille de police (Victoire)"); textSizeVictory = Mathf.Max(10, EditorGUILayout.IntField(textSizeVictory)); GUILayout.Label("Taille de police (Defaite)"); textSizeDefeat = Mathf.Max(10, EditorGUILayout.IntField(textSizeDefeat)); GUILayout.Label("Delai du bandeau (temps en secondes)"); delaiBandeau = Mathf.Max(0.001f, EditorGUILayout.FloatField("", delaiBandeau)); GUILayout.Label("Vitesse de transition (multiplicateur) "); vitesseInsertion = Mathf.Max(0.001f, EditorGUILayout.FloatField("", vitesseInsertion)); GUILayout.Label("Quel animation ?"); anim = (animHero)EditorGUILayout.EnumPopup(anim); sprt = (Sprite)EditorGUILayout.ObjectField("Quel sprite de fond ? ", sprt, typeof(Sprite), true); GUILayout.Label("IMPORTANT SINON CA MARCHE PAS "); model = (GameObject)EditorGUILayout.ObjectField("Modele de base", model, typeof(GameObject), true); GUILayout.Label("Code ? (une seule lettre et en majuscule)"); code = GUILayout.TextField(code); GUILayout.Label("Position x "); x = EditorGUILayout.FloatField(x); GUILayout.Label("Position y"); y = EditorGUILayout.FloatField(y); if (GUILayout.Button("Ajouter la frappe dans la liste actuelle")) { if (sequence >= sequences.Count) { sequences.Add(new SequenceInput()); } KeyCode c = KeyCode.A; for(int i = 97; i <= 122; i++) { if (((KeyCode)i).ToString() == code.ToUpper()) { c = (KeyCode)i; } } DataInput sI = new DataInput(c, new Vector2(x, y)); sequences[sequence].dI.Add(sI); } if (GUILayout.Button("Supprimer la derniere frappe de la liste actuelle")) { if (sequences[sequence].dI.Count > 0) { sequences[sequence].dI.RemoveAt(sequences[sequence].dI.Count - 1); } } if (GUILayout.Button("Liste de frappe suivante")) { sequence++; if (sequence >= sequences.Count) { sequences.Add(new SequenceInput()); } } if (GUILayout.Button("Liste de frappe precedente")) { sequence = Mathf.Max(0, sequence - 1); } EditorGUILayout.LabelField("Index : " + sequence.ToString()); foreach(SequenceInput sI in sequences) { foreach(string s in sI.ToStringAlt()) { EditorGUILayout.LabelField(s); } } GUILayout.Label("Sons Optionnels (en prendra un par defaut si aucun n'est choisi)"); clpFail = (AudioClip)EditorGUILayout.ObjectField("Mauvaise touche ", clpFail, typeof(AudioClip), true); clpSuccess = (AudioClip)EditorGUILayout.ObjectField("Bonne touche ", clpSuccess, typeof(AudioClip), true); clpSuccessScenette = (AudioClip)EditorGUILayout.ObjectField("Fin scenette positive ", clpSuccessScenette, typeof(AudioClip), true); if (GUILayout.Button("Créer")) { GameObject instance; instance = Instantiate(model); instance.name = nameObject; Scenette scn = instance.GetComponent<Scenette>(); scn.sequencesToDo = new List<SequenceInput>(sequences); scn.speedBandeauMultipler = vitesseBandeauMultipler; scn.timeBeforeNext = delaiBandeau; scn.mutliplerSpeedEnter = vitesseInsertion; scn.failClic = clpFail; scn.successClic = clpSuccess; scn.successScenette = clpSuccessScenette; scn.animPourHero = anim; scn.backgroundSprite = sprt; scn.textSizeDefeat = textSizeDefeat; scn.textSizeVictory = textSizeVictory; scn.textVictory = textVictory; scn.textDefeat = textDefeat; scn.init(); sequences = new List<SequenceInput>(); } }