Je reviens vers vous car j'ai un nouveau problème est j'ai beau chercher sur internet , soit je comprend pas les réponses , soit cela ne marche pas !
J'ai créé un objet vide sur le quel j'ai un script. Quand je sauvegarde sur visual et que je revient sur unity mon objet a bien le script et dès que je lance le jeu, dans le composant script, tout disparaît et une phrase apparaît : "The associated script cannot be loaded. plz fix any compil errors and assign a valid script"
La classe que je crée dans ce script n'est pas dans le monobehaviour car c'est la seule solution que je suis arrivé a faire fonctionner pour appeler ses fonction dans les autres script.
Encore une fois dsl pour la lecture de ce code mal écrit !
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class deck {
//création du deck
int[] paquet = { 1, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 21, 21, 22, 22, 22, 23, 23, 23, 24, 24, 24, 25, 25, 26, 26 };
int[] sorti = new int[71];
int utiliser = 0;
int verif;
bool ok = false;
int y;
int x;
int i;
int j;
int carte;
int nbrcarte;
//public debut d;
string[] alldef = new string[27];
string def;
public GameObject table ;
public GameObject defaussecarte;
public Text titre;
public Text[] textecarte = new Text[14];
// Use this for initialization
void Start() {
//ici est assigné toute les texte des carte comme le premier exemple
alldef[1] = "+1 de dégât pour chaque lot de 3 flingues";
}
// Update is called once per frame
void Update() {
}
//pioche une carte dans le deck en verifiant qu'elle n'ai pas déjà sortie
public int pioche()
{
while (ok == false)
{
verif = Random.Range(0, 70);
for (i = 0; i <= 70; i++)
{
if (verif == sorti[i]) i = 71;
}
if (i == 71) { ok = true; }
}
carte = paquet[verif];
sorti[utiliser] = verif;
utiliser++;
ok = false;
return carte;
}
public void defausse()
{
//titre.text = "défaussé une carte de votre main";
j = 0;
table.SetActive(false);
defaussecarte.SetActive(true);
for ( i = 0 ; i < 14 ; i++)
{
if (debut.main[i] != 0)
{
textecarte[j].text = "carte " + j + " : " + alldef[debut.main[i]];
j++;
}
else
{
textecarte[j].text = "";
}
}
}
public void findefausse(int num)
{
x = 0;
while ( x == 0)
{
verifcarte();
if (j > 8 )
{
y = 0;
j = 0;
i = 0;
while (y == 0)
{
if (debut.main[i] != 0)
{
if ( j == num )
{
debut.main[i] = 0;
y++;
}
j++;
}
i++;
}
}
else
{
x++;
}
}
table.SetActive(true);
defaussecarte.SetActive(false);
}
public int verifcarte()
{
for (i = 0; i < 15; i++)
{
if (debut.main[i] != 0)
{
nbrcarte++;
}
}
return nbrcarte;
}
}
Cordialement Ndank