void OnEnable() { me = (GestorePercorso)target; if (EditorPrefs.HasKey(Statici.STR_PercorsoConfig2)) { string pathPercorsi = EditorPrefs.GetString(Statici.STR_PercorsoConfig2); percorsi = AssetDatabase.LoadAssetAtPath<Percorsi>(pathPercorsi + Statici.STR_DatabaseDiGioco2); } }
private void OnGUI() { isDirty = false; if (percorsi != null) { GUILayout.BeginHorizontal(EditorStyles.objectFieldThumb); GUILayout.Label("Editor by DFT Students", GUI.skin.GetStyle("Label")); GUILayout.EndHorizontal(); EditorGUILayout.Separator(); GUILayout.BeginHorizontal(EditorStyles.objectFieldThumb); if (GUILayout.Button("Inserisci/Modifca Percorsi")) scelta = DoveSono.Modifica; if (percorsi.Count > 0) if (GUILayout.Button("Gestisci Percorsi")) scelta = DoveSono.Gestione; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); switch (scelta) { case DoveSono.Modifica: InserisciModificaPercorsi(); break; case DoveSono.Gestione: GestisciPercorsi(); break; } } else // if (percorsi != null) { GUILayout.BeginHorizontal(EditorStyles.objectFieldThumb); if (GUILayout.Button("Crea il DataBase Percorsi")) { string tmpStr = "Assets"; if (pathPercorsi == null || pathPercorsi == string.Empty) { string tmpPercosro = EditorUtility.OpenFolderPanel("Percorso per Database", tmpStr, ""); if (tmpPercosro != string.Empty) { pathPercorsi = "Assets" + tmpPercosro.Substring(Application.dataPath.Length); EditorPrefs.SetString(Statici.STR_PercorsoConfig2, pathPercorsi); } } if (pathPercorsi != string.Empty) { percorsi = ScriptableObject.CreateInstance<Percorsi>(); AssetDatabase.CreateAsset(percorsi, pathPercorsi + Statici.STR_DatabaseDiGioco2); AssetDatabase.Refresh(); ProjectWindowUtil.ShowCreatedAsset(percorsi); } } EditorGUILayout.HelpBox("DataBasePercorsi Mancante", MessageType.Error); GUILayout.EndHorizontal(); } SalvaAsset(); }
/// <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 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 }