Ejemplo n.º 1
0
        public override void OnInspectorGUI()
        {
            GridSaver saver = target as GridSaver;

            GUI.enabled = false;
            EditorGUILayout.ObjectField("Script", MonoScript.FromMonoBehaviour((GridSaver)target), typeof(GridSaver), false);
            GUI.enabled = true;

            GUI.enabled = !Application.isPlaying;

            saver.usePersistentPath = EditorGUILayout.ToggleLeft("Persistent data path as root", saver.usePersistentPath);
            saver.path = EditorGUILayout.TextField("Path", saver.path);
            EditorGUILayout.LabelField("Save at: " + saver.rootPath);

            GridSaveManifest man = saver.gridSaveManifest;

            // Bug: always shows 0 when in editor mode
            EditorGUILayout.LabelField("Number of Region saved: " + (man != null ? man.regionPositions.Count : 0).ToString());

            GUI.enabled = true;

            if (GUILayout.Button("Clear save"))
            {
                saver.ClearSave();
            }
        }
Ejemplo n.º 2
0
        public override void OnInspectorGUI()
        {
            GridGenerator generator = target as GridGenerator;

            GUI.enabled = false;
            EditorGUILayout.ObjectField("Script", MonoScript.FromMonoBehaviour((GridGenerator)target), typeof(GridGenerator), false);
            GUI.enabled = true;

            if (generator.algorithm == null)
            {
                EditorGUILayout.HelpBox("The grid generator requires a subclass of GridGeneratorAlgorithm", MessageType.Warning);
            }

            GUI.enabled = !Application.isPlaying;

            EditorGUILayout.LabelField("Generation algorithm", EditorStyles.boldLabel);

            generator.algorithm = EditorGUILayout.ObjectField("Algorithm", (GridGeneratorAlgorithm)generator.algorithm, typeof(GridGeneratorAlgorithm), false) as GridGeneratorAlgorithm;

            generator.generationRegionWidth  = Mathf.Max(1, EditorGUILayout.IntField("Generation region width", generator.generationRegionWidth));
            generator.generationRegionHeight = Mathf.Max(1, EditorGUILayout.IntField("Generation region height", generator.generationRegionHeight));

            EditorGUILayout.LabelField("Saving", EditorStyles.boldLabel);
            generator.useSave = EditorGUILayout.ToggleLeft("Use saving", generator.useSave);

            if (generator.useSave)
            {
                generator.usePersistentPath = EditorGUILayout.ToggleLeft("Persistent data path as root", generator.usePersistentPath);
                generator.path = EditorGUILayout.TextField("Path", generator.path);
                EditorGUILayout.LabelField("Saved at: " + generator.rootPath);

                GridSaveManifest man = generator.gridSaveManifest;
                // Bug: always shows 0 when in editor mode
                EditorGUILayout.LabelField("Number of Region saved: " + man.regionPositions.Count);

                GUI.enabled = true;

                if (GUILayout.Button("Clear save"))
                {
                    generator.ClearSave();
                }
            }
            GUI.enabled = true;
        }
Ejemplo n.º 3
0
        void LoadManifest()
        {
            if (File.Exists(ManifestPath()))
            {
                BinaryFormatter bf   = new BinaryFormatter();
                FileStream      file = File.Open(ManifestPath(), FileMode.Open);

                try {
                    _manifest = bf.Deserialize(file) as GridSaveManifest;
                } catch {
                    Debug.LogError("[Gridlike] Failed to load grid save manifest.");
                    _manifest = new GridSaveManifest();
                }

                file.Close();
            }
            else
            {
                _manifest = new GridSaveManifest();
            }
        }