示例#1
0
 //metodo per assegnare gli asset dentro l'inspector... By Luca del dftStudent
 /// <summary>
 /// Lo script metodo charlie e serializza percorsi sono due metodi statici perchè vengono richiamati
 /// in due script cioè manager iniziale e gamemanager.
 /// Per evitare di avere due metodi identici dentro entrambi gli script li ho spostati qui e resi statici
 /// in modo che siano scritti una volta sola e richiamati dove si vuole.
 /// </summary>
 /// <param name="databseInizialeAmicizie"></param>
 /// <param name="databaseInizialeProprieta"></param>
 public static void assegnaAssetDatabase(ref GameData databseInizialeAmicizie,ref caratteristichePersonaggioV2 databaseInizialeProprieta)
 {
     if (databseInizialeAmicizie == null)
     {
         if (EditorPrefs.HasKey(Statici.STR_PercorsoConfig))
         {
             string percorso = EditorPrefs.GetString(Statici.STR_PercorsoConfig);
             databseInizialeAmicizie = AssetDatabase.LoadAssetAtPath<GameData>(percorso + Statici.STR_DatabaseDiGioco);
         }
     }
     if (databaseInizialeProprieta == null)
     {
         if (EditorPrefs.HasKey(Statici.STR_PercorsoConfig3))
         {
             string percorso = EditorPrefs.GetString(Statici.STR_PercorsoConfig3);
             databaseInizialeProprieta = AssetDatabase.LoadAssetAtPath<caratteristichePersonaggioV2>(percorso + Statici.STR_DatabaseDiGioco3);
         }
     }
 }
    public static caratteristichePersonaggioV2 CreaDatabase()
    {
        string tmpStr = "Assets";
        caratteristichePersonaggioV2 _caratteristichePersonaggioV2 = null;
        if (percorso == null || percorso == string.Empty)
        {
            string tmpPercosro = EditorUtility.OpenFolderPanel("Percorso per Database", tmpStr, "");
            if (tmpPercosro != string.Empty)
            {
                percorso = "Assets" + tmpPercosro.Substring(Application.dataPath.Length);
                EditorPrefs.SetString(Statici.STR_PercorsoConfig3, percorso);
            }
        }
        if (percorso != string.Empty)
            _caratteristichePersonaggioV2 = ScriptableObject.CreateInstance<caratteristichePersonaggioV2>();
        _caratteristichePersonaggioV2.classePersonaggio = new System.Collections.Generic.List<String>();

        AssetDatabase.CreateAsset(_caratteristichePersonaggioV2, percorso + Statici.STR_DatabaseDiGioco3);
        AssetDatabase.Refresh();
        ProjectWindowUtil.ShowCreatedAsset(_caratteristichePersonaggioV2);
        resettaParametri(_caratteristichePersonaggioV2);
        return _caratteristichePersonaggioV2;
    }
    private void OnGUI()
    {
        if (_caratteristichePersonaggioV2 != null)
        {

            GUILayout.BeginHorizontal(EditorStyles.objectFieldThumb);
            GUILayout.Label("Editor by DFT Students", GUI.skin.GetStyle("Label"));
            GUILayout.EndHorizontal();
            EditorGUILayout.Separator();
            GestisciProprieta();
        }
        else
        {
            GUILayout.BeginHorizontal(EditorStyles.objectFieldThumb);
            if (GUILayout.Button("Crea il DataBase"))
            {
                string tmpStr = "Assets";
                if (percorso == null || percorso == string.Empty)
                {
                    string tmpPercosro = EditorUtility.OpenFolderPanel("Percorso per Database", tmpStr, "");
                    if (tmpPercosro != string.Empty)
                    {
                        percorso = "Assets" + tmpPercosro.Substring(Application.dataPath.Length);
                        EditorPrefs.SetString(Statici.STR_PercorsoConfig3, percorso);
                    }
                }
                if (percorso != string.Empty)
                    _caratteristichePersonaggioV2 = ScriptableObject.CreateInstance<caratteristichePersonaggioV2>();
                _caratteristichePersonaggioV2.classePersonaggio = new System.Collections.Generic.List<String>();

                AssetDatabase.CreateAsset(_caratteristichePersonaggioV2, percorso + Statici.STR_DatabaseDiGioco3);
                AssetDatabase.Refresh();
                ProjectWindowUtil.ShowCreatedAsset(_caratteristichePersonaggioV2);
                resettaParametri();
            }
            EditorGUILayout.HelpBox("DataBase Mancante", MessageType.Error);
            GUILayout.EndHorizontal();
        }
    }
    private void OnEnable()
    {
        if (EditorPrefs.HasKey(Statici.STR_PercorsoConfig3))
        {
            percorso = EditorPrefs.GetString(Statici.STR_PercorsoConfig3);
            _caratteristichePersonaggioV2 = AssetDatabase.LoadAssetAtPath<caratteristichePersonaggioV2>(percorso + Statici.STR_DatabaseDiGioco3);

        }
    }
示例#5
0
 /// <summary>
 /// Lo script metodo charlie e serializza percorsi sono due metodi statici perchè vengono richiamati
 /// in due script cioè manager iniziale e gamemanager.
 /// Per evitare di avere due metodi identici dentro entrambi gli script li ho spostati qui e resi statici
 /// in modo che siano scritti una volta sola e richiamati dove si vuole.
 /// </summary>
 /// <param name="databseInizialeAmicizie"></param>
 /// <param name="databaseInizialeProprieta"></param>
 /// <summary>
 /// Lo script metodo assegnaAssetDatabase e serializza percorsi sono due metodi statici perchè vengono richiamati
 /// in due script cioè manager iniziale e gamemanager.
 /// Per evitare di avere due metodi identici dentro entrambi gli script li ho spostati qui e resi statici
 /// in modo che siano scritti una volta sola e richiamati dove si vuole.
 /// </summary>
 /// <param name="databseInizialeAmicizie"></param>
 /// <param name="databaseInizialeProprieta"></param>
 public static void assegnaAssetDatabase()
 {
     DataBase.Inizializza();
     databseInizialeAmicizie = DataBase.GiveMeAmicizie();
     databaseInizialeProprieta = DataBase.GiveMeProprieta();
     databaseInizialePercorsi = DataBase.GiveMePercorsi();
 }
    private static void resettaParametri(caratteristichePersonaggioV2 _caratteristichePersonaggioV2)
    {
        for (int i = 0; i < _caratteristichePersonaggioV2.classePersonaggio.Count; i++)
            _caratteristichePersonaggioV2.classePersonaggio[i] = "nessuna classe";

        for (int r = 0; r < _caratteristichePersonaggioV2.classePersonaggio.Count; r++)
        {
            _caratteristichePersonaggioV2.matriceProprieta[r].classe = classiPersonaggi.magoAcqua;
            _caratteristichePersonaggioV2.matriceProprieta[r].nomeM = "nessun nome";
            _caratteristichePersonaggioV2.matriceProprieta[r].nomeF = "nessun nome";
            _caratteristichePersonaggioV2.matriceProprieta[r].giocabile = false;
            _caratteristichePersonaggioV2.matriceProprieta[r].Attacco = 0;
            _caratteristichePersonaggioV2.matriceProprieta[r].difesa = 0;
            _caratteristichePersonaggioV2.matriceProprieta[r].Livello = 0;
            _caratteristichePersonaggioV2.matriceProprieta[r].Mana = 0;
            _caratteristichePersonaggioV2.matriceProprieta[r].Vita = 0;
            _caratteristichePersonaggioV2.matriceProprieta[r].Xp = 0;

            for (int c = 0; c < Enum.GetValues(typeof(ProprietaPersonaggio)).Length; c++)
            {
                _caratteristichePersonaggioV2.schieraProprietaC[c] = Enum.GetName(typeof(ProprietaPersonaggio), c);
            }
            AssetDatabase.Refresh();
        }
        EditorUtility.SetDirty(_caratteristichePersonaggioV2);
        AssetDatabase.SaveAssets();
    }
    private void OnGUI()
    {
        if (_caratteristichePersonaggioV2 != null)
        {

            GUILayout.BeginHorizontal(EditorStyles.objectFieldThumb);
            GUILayout.Label("Editor by DFT Students", GUI.skin.GetStyle("Label"));
            GUILayout.EndHorizontal();
            EditorGUILayout.Separator();
            GestisciProprieta();
        }
        else
        {
            GUILayout.BeginHorizontal(EditorStyles.objectFieldThumb);
            if (GUILayout.Button("Crea il DataBase"))
            {
                _caratteristichePersonaggioV2 = CreaDatabase();
            }
            EditorGUILayout.HelpBox("DataBase Mancante", MessageType.Error);
            GUILayout.EndHorizontal();
        }
    }
        private void OnEnable()
        {
            controlloPercorsiNulli = false;
            controlloPersonaggiNulli = false;

            if (EditorPrefs.HasKey(Statici.STR_PercorsoConfig2))
            {
                pathPercorsi = EditorPrefs.GetString(Statici.STR_PercorsoConfig2);
                percorsi = AssetDatabase.LoadAssetAtPath<Percorsi>(pathPercorsi + Statici.STR_DatabaseDiGioco2);
            }

            if (EditorPrefs.HasKey(Statici.STR_PercorsoConfig3))
            {
                pathPercorsi = EditorPrefs.GetString(Statici.STR_PercorsoConfig3);
                personaggi = AssetDatabase.LoadAssetAtPath<caratteristichePersonaggioV2>(pathPercorsi + Statici.STR_DatabaseDiGioco3);

            }

            // if (percorsi != null) cambiatoAlmenoUnaScena = false;   //NON MI RICORDO PERCHE L'HO MESSO...BOHH RIGUARDARSI LA LEZIONE
        }