[ASSETS] Update all assets (Dialog, SPUM, SW2)
This commit is contained in:
parent
0ccf6532d7
commit
be2c75118e
@ -90,6 +90,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Editor Default Resources/Dialogue System/Conditions.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -47,7 +47,7 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Editor Default Resources/Dialogue System/DialogueManager Inspector
|
||||
Dark.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -47,7 +47,7 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Editor Default Resources/Dialogue System/DialogueManager Inspector
|
||||
Light.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -60,6 +60,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Editor Default Resources/Dialogue System/EditorNode.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -90,6 +90,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Editor Default Resources/Dialogue System/Event.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -90,6 +90,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Editor Default Resources/Dialogue System/Resize.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -90,6 +90,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Editor Default Resources/Dialogue System/Script.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -90,6 +90,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Editor Default Resources/Dialogue System/Sequence.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -47,6 +47,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Gizmos/DialogueDatabase Icon.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -49,6 +49,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Gizmos/StringAsset Icon.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -49,6 +49,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Gizmos/TextTable Icon.png
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -11,6 +11,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Documentation/Input_Device_Manager_Manual.pdf
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -6,6 +6,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Documentation/Save_System_Manual.pdf
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Documentation/Text_Table_Manual.pdf
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -1,7 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4d9b575363cdb56408d92f7d7f0e5216
|
||||
timeCreated: 1533129795
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/CommonAssemblyDefinitions.unitypackage
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Message System/MessageEventsEditor.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Misc/AssetUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Misc/EditorGUIZoomArea.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Misc/EnablePhysics2DMenuItem.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -1,4 +1,7 @@
|
||||
// Copyright (c) Pixel Crushers. All rights reserved.
|
||||
#if !ODIN_INSPECTOR
|
||||
// Pending fix from Sirenix, to prevent Odin stack overflow bug we don't draw help boxes if Odin in installed.
|
||||
|
||||
// Copyright (c) Pixel Crushers. All rights reserved.
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
@ -53,3 +56,4 @@ namespace PixelCrushers
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Misc/HelpBoxAttributeDrawer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Misc/MoreEditorGuiUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Misc/MoreEditorUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -15,6 +15,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Misc/TimedEventEditor.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Misc/TypeUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Save System/DiskSavedGameDataStorerEditor.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Save System/PlayerPrefsSavedGameDataStorerEditor.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Save System/SaveSystemEditorUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -15,6 +15,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Save System/SaverEditor.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Text/CSVUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Text/StringFieldDrawer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Text/StringFieldTextAreaAttributeDrawer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Text/TextTableEditor.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Text/TextTableEditorWindow.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -0,0 +1,408 @@
|
||||
// Copyright (c) Pixel Crushers. All rights reserved.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using UnityEditor;
|
||||
using UnityEditorInternal;
|
||||
using UnityEngine;
|
||||
|
||||
namespace PixelCrushers
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Custom editor window for mass exporting text tables to CSV.
|
||||
/// </summary>
|
||||
public class TextTableMassExportImportWindow : EditorWindow
|
||||
{
|
||||
|
||||
#region Menu Item
|
||||
|
||||
[MenuItem("Tools/Pixel Crushers/Common/Text Table Mass Export")]
|
||||
public static void ShowWindow()
|
||||
{
|
||||
GetWindow<TextTableMassExportImportWindow>();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private const string PrefsKey = "PixelCrushers.TextTableMassExport";
|
||||
|
||||
[Serializable]
|
||||
public class Prefs
|
||||
{
|
||||
public List<string> textTableGuids = new List<string>();
|
||||
public string csvFilename;
|
||||
public EncodingType encodingType = EncodingType.UTF8;
|
||||
}
|
||||
|
||||
private Prefs prefs;
|
||||
private List<TextTable> textTables = new List<TextTable>();
|
||||
private ReorderableList textTablesList;
|
||||
private Vector2 scrollPosition = Vector2.zero;
|
||||
private string folderPath;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (EditorPrefs.HasKey(PrefsKey))
|
||||
{
|
||||
prefs = JsonUtility.FromJson<Prefs>(EditorPrefs.GetString(PrefsKey));
|
||||
}
|
||||
if (prefs == null) prefs = new Prefs();
|
||||
|
||||
textTables.Clear();
|
||||
foreach (var textTableGuid in prefs.textTableGuids)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(textTableGuid))
|
||||
{
|
||||
var textTable = AssetDatabase.LoadAssetAtPath<TextTable>(AssetDatabase.GUIDToAssetPath(textTableGuid));
|
||||
if (textTable != null)
|
||||
{
|
||||
textTables.Add(textTable);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
prefs.textTableGuids.Clear();
|
||||
foreach (var textTable in textTables)
|
||||
{
|
||||
prefs.textTableGuids.Add((textTable != null) ? AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(textTable)) : string.Empty);
|
||||
}
|
||||
EditorPrefs.SetString(PrefsKey, JsonUtility.ToJson(prefs));
|
||||
}
|
||||
|
||||
private void OnGUI()
|
||||
{
|
||||
try
|
||||
{
|
||||
scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
|
||||
if (textTablesList == null)
|
||||
{
|
||||
textTablesList = new ReorderableList(textTables, typeof(TextTable), true, true, true, true);
|
||||
textTablesList.drawHeaderCallback += OnDrawTextTablesListHeader;
|
||||
textTablesList.drawElementCallback += OnDrawTextTablesListElement;
|
||||
textTablesList.onAddCallback += OnAddTextTable;
|
||||
}
|
||||
textTablesList.DoLayoutList();
|
||||
if (GUILayout.Button("Add Folder..."))
|
||||
{
|
||||
AddFolder();
|
||||
}
|
||||
prefs.encodingType = (EncodingType)EditorGUILayout.EnumPopup("Encoding Type", prefs.encodingType);
|
||||
EditorGUI.BeginDisabledGroup(!HasAnyTextTables());
|
||||
if (GUILayout.Button("Export to CSV..."))
|
||||
{
|
||||
ExportToCSV();
|
||||
}
|
||||
if (GUILayout.Button("Import from CSV File..."))
|
||||
{
|
||||
ImportFromCSVFile();
|
||||
}
|
||||
if (GUILayout.Button("Import from CSV Folder..."))
|
||||
{
|
||||
ImportFromCSVFolder();
|
||||
}
|
||||
EditorGUI.EndDisabledGroup();
|
||||
}
|
||||
finally
|
||||
{
|
||||
EditorGUILayout.EndScrollView();
|
||||
}
|
||||
}
|
||||
|
||||
private bool HasAnyTextTables()
|
||||
{
|
||||
return textTables.Find(x => x != null) != null;
|
||||
}
|
||||
|
||||
private void OnDrawTextTablesListHeader(Rect rect)
|
||||
{
|
||||
EditorGUI.LabelField(rect, "Text Tables");
|
||||
}
|
||||
|
||||
private void OnDrawTextTablesListElement(Rect rect, int index, bool isActive, bool isFocused)
|
||||
{
|
||||
if (!(0 <= index && index < textTables.Count)) return;
|
||||
textTables[index] = EditorGUI.ObjectField(rect, textTables[index], typeof(TextTable), true) as TextTable;
|
||||
}
|
||||
|
||||
private void OnAddTextTable(ReorderableList list)
|
||||
{
|
||||
textTables.Add(null);
|
||||
}
|
||||
|
||||
private void AddFolder()
|
||||
{
|
||||
var newPath = EditorUtility.OpenFolderPanel("Add Text Tables", folderPath, folderPath);
|
||||
if (!string.IsNullOrEmpty(newPath))
|
||||
{
|
||||
folderPath = newPath;
|
||||
var filenames = Directory.GetFiles(folderPath, "*.asset", SearchOption.AllDirectories);
|
||||
foreach (var filename in filenames)
|
||||
{
|
||||
string assetPath = filename.Replace("\\", "/");
|
||||
assetPath = "Assets/" + assetPath.Substring(Application.dataPath.Length);
|
||||
var textTable = AssetDatabase.LoadAssetAtPath<TextTable>(assetPath);
|
||||
if (textTable != null && !textTables.Contains(textTable))
|
||||
{
|
||||
textTables.Add(textTable);
|
||||
}
|
||||
}
|
||||
if (Application.platform == RuntimePlatform.WindowsEditor) folderPath = folderPath.Replace("/", "\\");
|
||||
}
|
||||
}
|
||||
|
||||
private void ExportToCSV()
|
||||
{
|
||||
string newFilename = EditorUtility.SaveFilePanel("Export to CSV", GetPath(prefs.csvFilename), prefs.csvFilename, "csv");
|
||||
if (string.IsNullOrEmpty(newFilename)) return;
|
||||
prefs.csvFilename = newFilename;
|
||||
if (Application.platform == RuntimePlatform.WindowsEditor) prefs.csvFilename = prefs.csvFilename.Replace("/", "\\");
|
||||
switch (EditorUtility.DisplayDialogComplex("Export CSV", "Export languages as columns in one file or as separate files?", "One", "Cancel", "Separate"))
|
||||
{
|
||||
case 0:
|
||||
ExportCSV(prefs.csvFilename, false);
|
||||
break;
|
||||
case 2:
|
||||
ExportCSV(prefs.csvFilename, true);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
EditorUtility.DisplayDialog("Export Complete", "The text table was exported to CSV (comma-separated values) format. ", "OK");
|
||||
}
|
||||
|
||||
private void ImportFromCSVFile()
|
||||
{
|
||||
if (!EditorUtility.DisplayDialog("Import CSV?", "Importing from CSV will overwrite any existing languages or fields with the same name in the current contents. Are you sure?", "Import", "Cancel")) return;
|
||||
string newFilename = EditorUtility.OpenFilePanel("Import from CSV", GetPath(prefs.csvFilename), "csv");
|
||||
if (string.IsNullOrEmpty(newFilename)) return;
|
||||
if (!File.Exists(newFilename))
|
||||
{
|
||||
EditorUtility.DisplayDialog("Import CSV", "Can't find the file " + newFilename + ".", "OK");
|
||||
return;
|
||||
}
|
||||
try
|
||||
{
|
||||
EditorUtility.DisplayProgressBar("Importing CSV File", newFilename, 0);
|
||||
prefs.csvFilename = newFilename;
|
||||
if (Application.platform == RuntimePlatform.WindowsEditor) prefs.csvFilename = prefs.csvFilename.Replace("/", "\\");
|
||||
ImportCSVFile(prefs.csvFilename);
|
||||
if (TextTableEditorWindow.instance != null)
|
||||
{
|
||||
var selection = Selection.activeObject;
|
||||
Selection.activeObject = null;
|
||||
Selection.activeObject = selection;
|
||||
}
|
||||
EditorUtility.ClearProgressBar();
|
||||
EditorUtility.DisplayDialog("Import Complete", "The text tables have been updated from CSV. ", "OK");
|
||||
}
|
||||
finally
|
||||
{
|
||||
EditorUtility.ClearProgressBar();
|
||||
}
|
||||
}
|
||||
|
||||
private void ImportFromCSVFolder()
|
||||
{
|
||||
if (!EditorUtility.DisplayDialog("Import CSV?", "Importing from CSV will overwrite any existing languages or fields with the same name in the current contents. Are you sure?", "Import", "Cancel")) return;
|
||||
string newFolder = EditorUtility.OpenFolderPanel("Import from CSV Folder", GetPath(prefs.csvFilename), "csv");
|
||||
if (string.IsNullOrEmpty(newFolder)) return;
|
||||
try
|
||||
{
|
||||
EditorUtility.DisplayProgressBar("Importing CSV Files", newFolder, 0);
|
||||
var filenames = Directory.GetFiles(newFolder);
|
||||
foreach (var filename in filenames)
|
||||
{
|
||||
if (!filename.EndsWith(".csv", StringComparison.OrdinalIgnoreCase)) continue;
|
||||
Debug.Log($"Importing {filename}");
|
||||
ImportCSVFile(filename);
|
||||
}
|
||||
if (TextTableEditorWindow.instance != null)
|
||||
{
|
||||
var selection = Selection.activeObject;
|
||||
Selection.activeObject = null;
|
||||
Selection.activeObject = selection;
|
||||
}
|
||||
EditorUtility.ClearProgressBar();
|
||||
EditorUtility.DisplayDialog("Import Complete", "The text tables have been updated from CSV. ", "OK");
|
||||
}
|
||||
finally
|
||||
{
|
||||
EditorUtility.ClearProgressBar();
|
||||
}
|
||||
}
|
||||
|
||||
private string GetPath(string filename)
|
||||
{
|
||||
if (string.IsNullOrEmpty(filename)) return string.Empty;
|
||||
try
|
||||
{
|
||||
return Path.GetDirectoryName(filename);
|
||||
}
|
||||
catch (System.ArgumentException)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
private List<string> GetLanguages()
|
||||
{
|
||||
var hashSet = new HashSet<string>();
|
||||
foreach (var textTable in textTables)
|
||||
{
|
||||
if (textTable == null) continue;
|
||||
foreach (var language in textTable.languages.Keys)
|
||||
{
|
||||
hashSet.Add(language);
|
||||
}
|
||||
}
|
||||
return new List<string>(hashSet);
|
||||
}
|
||||
|
||||
private void ExportCSV(string csvFilename, bool separateFiles)
|
||||
{
|
||||
var languages = GetLanguages();
|
||||
if (separateFiles)
|
||||
{
|
||||
foreach (var language in languages)
|
||||
{
|
||||
var content = new List<List<string>>();
|
||||
var row = new List<string>();
|
||||
row.Add("Language");
|
||||
row.Add(language);
|
||||
content.Add(row);
|
||||
foreach (var textTable in textTables)
|
||||
{
|
||||
if (textTable == null) continue;
|
||||
var hasLanguage = textTable.HasLanguage(language);
|
||||
int languageID = textTable.GetLanguageID(language);
|
||||
foreach (var fieldKvp in textTable.fields)
|
||||
{
|
||||
var field = fieldKvp.Value;
|
||||
row = new List<string>();
|
||||
row.Add(field.fieldName);
|
||||
var text = hasLanguage ? field.GetTextForLanguage(languageID) : "";
|
||||
row.Add(text);
|
||||
content.Add(row);
|
||||
}
|
||||
}
|
||||
var languageFilename = csvFilename.Substring(0, csvFilename.Length - 4) + "_" + language + ".csv";
|
||||
CSVUtility.WriteCSVFile(content, languageFilename, prefs.encodingType);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// All in one file:
|
||||
var content = new List<List<string>>();
|
||||
|
||||
// Heading rows:
|
||||
var row = new List<string>();
|
||||
content.Add(row);
|
||||
row.Add("Field");
|
||||
foreach (var language in languages)
|
||||
{
|
||||
row.Add(language);
|
||||
}
|
||||
foreach (var textTable in textTables)
|
||||
{
|
||||
if (textTable == null) continue;
|
||||
// One row per field:
|
||||
foreach (var kvp in textTable.fields)
|
||||
{
|
||||
var field = kvp.Value;
|
||||
row = new List<string>();
|
||||
content.Add(row);
|
||||
row.Add(field.fieldName);
|
||||
foreach (var language in languages)
|
||||
{
|
||||
if (textTable.HasLanguage(language))
|
||||
{
|
||||
var languageID = textTable.GetLanguageID(language);
|
||||
var value = field.HasTextForLanguage(languageID) ? field.GetTextForLanguage(languageID) : "";
|
||||
row.Add(value);
|
||||
}
|
||||
else
|
||||
{
|
||||
row.Add("");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
CSVUtility.WriteCSVFile(content, csvFilename, prefs.encodingType);
|
||||
}
|
||||
}
|
||||
|
||||
private void ImportCSVFile(string csvFilename)
|
||||
{
|
||||
var content = CSVUtility.ReadCSVFile(csvFilename, prefs.encodingType);
|
||||
if (content == null || content.Count < 1 || content[0].Count < 2) return;
|
||||
var fieldList = new List<string>();
|
||||
var firstCell = content[0][0];
|
||||
if (string.Equals(firstCell, "Language"))
|
||||
{
|
||||
// Single language file:
|
||||
var language = content[0][1];
|
||||
if (!string.IsNullOrEmpty(language))
|
||||
{
|
||||
foreach (var textTable in textTables)
|
||||
{
|
||||
if (textTable == null) continue;
|
||||
if (!textTable.HasLanguage(language)) textTable.AddLanguage(language);
|
||||
for (int y = 1; y < content.Count; y++)
|
||||
{
|
||||
var field = content[y][0];
|
||||
if (string.IsNullOrEmpty(field)) continue;
|
||||
fieldList.Add(field);
|
||||
if (textTable.HasField(field))
|
||||
{
|
||||
for (int x = 1; x < content[y].Count; x++)
|
||||
{
|
||||
textTable.SetFieldTextForLanguage(field, language, content[y][x]);
|
||||
}
|
||||
}
|
||||
}
|
||||
textTable.ReorderFields(fieldList);
|
||||
textTable.OnBeforeSerialize();
|
||||
EditorUtility.SetDirty(textTable);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// All-in-one file:
|
||||
foreach (var textTable in textTables)
|
||||
{
|
||||
if (textTable == null) continue;
|
||||
for (int x = 1; x < content[0].Count; x++)
|
||||
{
|
||||
var language = content[0][x];
|
||||
if (string.IsNullOrEmpty(language)) continue;
|
||||
if (!textTable.HasLanguage(language)) textTable.AddLanguage(language);
|
||||
for (int y = 1; y < content.Count; y++)
|
||||
{
|
||||
var field = content[y][0];
|
||||
if (string.IsNullOrEmpty(field)) continue;
|
||||
if (x == 1) fieldList.Add(field);
|
||||
if (textTable.HasField(field))
|
||||
{
|
||||
if ((0 <= y && y < content.Count) && (0 <= x && x < content[y].Count))
|
||||
{
|
||||
textTable.SetFieldTextForLanguage(field, language, content[y][x]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
textTable.ReorderFields(fieldList);
|
||||
textTable.OnBeforeSerialize();
|
||||
EditorUtility.SetDirty(textTable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74cdaa5c88e290f41b2cb6ab33f62897
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/Text/TextTableMassExportImportWindow.cs
|
||||
uploadId: 633831
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/UI/CheckInputManagerSettings.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/UI/InputDeviceManagerEditor.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -13,6 +13,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/UI/UIDropdownFieldDrawer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/UI/UILocalizationManagerEditor.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/UI/UITextFieldDrawer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Editor/UnityEvents/TagMaskDrawer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Message System/DataSynchronizer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Message System/IMessageHandler.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Message System/MessageArgs.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Message System/MessageEvents.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Message System/MessageSystem.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Message System/MessageSystemLogger.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/AlwaysFaceCamera.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/CheckPhysics2D.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/ComponentUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -13,6 +13,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/CoroutineUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/CursorControl.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/DictionaryExtensions.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/Dimension.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/DontDestroyGameObject.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -15,6 +15,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/EnableOnStart.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/GameObjectUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/GameTime.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/HelpBoxAttribute.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/InstantiatePrefabs.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/LODManager.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/ListExtensions.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/MoreGizmos.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/MorePhysics2D.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/Pool.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/RectExtensions.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/RuntimeTypeUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/SafeConvert.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/SceneNotifier.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Misc/ScriptableObjectUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Misc/AutoSaveLoad.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Misc/SaveSystemEvents.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Misc/SaveSystemMethods.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Misc/SaveSystemTestMenu.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -12,6 +12,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Misc/SavedGameData.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Misc/ScenePortal.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -13,6 +13,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Misc/SceneValidationMode.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -31,6 +31,10 @@ namespace PixelCrushers
|
||||
[SerializeField]
|
||||
private bool m_saveCurrentScene = true;
|
||||
|
||||
[Tooltip("Highest save slot number allowed.")]
|
||||
[SerializeField]
|
||||
private int m_maxSaveSlot = 99999;
|
||||
|
||||
[Tooltip("When loading a game/scene, wait this many frames before applying saved data to allow other scripts to initialize first.")]
|
||||
[SerializeField]
|
||||
private int m_framesToWaitBeforeApplyData = 0;
|
||||
@ -55,6 +59,8 @@ namespace PixelCrushers
|
||||
|
||||
private static SceneTransitionManager m_sceneTransitionManager = null;
|
||||
|
||||
private static bool m_allowNegativeSlotNumbers = false;
|
||||
|
||||
private static GameObject m_playerSpawnpoint = null;
|
||||
|
||||
private static int m_currentSceneIndex = NoSceneIndex;
|
||||
@ -123,6 +129,21 @@ namespace PixelCrushers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Highest save slot number allowed.
|
||||
/// </summary>
|
||||
public static int maxSaveSlot
|
||||
{
|
||||
get
|
||||
{
|
||||
return (m_instance != null) ? m_instance.m_maxSaveSlot : int.MaxValue;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (m_instance != null) m_instance.m_maxSaveSlot = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// When loading a game/scene, wait this many frames before applying saved data to allow other scripts to initialize first.
|
||||
/// </summary>
|
||||
@ -186,6 +207,10 @@ namespace PixelCrushers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reference to the DataSerializer in the SaveSystem's hierarchy.
|
||||
/// SaveSystem will use it to serialize and deserialize saved game data.
|
||||
/// </summary>
|
||||
public static DataSerializer serializer
|
||||
{
|
||||
get
|
||||
@ -203,6 +228,10 @@ namespace PixelCrushers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reference to the SavedGameDataStorer in the SaveSystem's hierarchy.
|
||||
/// SaveSystem will use it to store and retrieve saved game data.
|
||||
/// </summary>
|
||||
public static SavedGameDataStorer storer
|
||||
{
|
||||
get
|
||||
@ -220,6 +249,9 @@ namespace PixelCrushers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reference to the SceneTransitionManager in the SaveSystem's hierarchy, if present.
|
||||
/// </summary>
|
||||
public static SceneTransitionManager sceneTransitionManager
|
||||
{
|
||||
get
|
||||
@ -232,6 +264,15 @@ namespace PixelCrushers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Allow the use of negative slot numbers.
|
||||
/// </summary>
|
||||
public bool allowNegativeSlotNumbers
|
||||
{
|
||||
get { return m_allowNegativeSlotNumbers; }
|
||||
set { m_allowNegativeSlotNumbers = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Scenes that have been loaded additively.
|
||||
/// </summary>
|
||||
@ -638,6 +679,30 @@ namespace PixelCrushers
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// If slotNumber is negative and allowNegativeSlotNumbers is false,
|
||||
/// choose an empty positive slot up to maxSlots. If none are empty,
|
||||
/// return false;
|
||||
/// </summary>
|
||||
private static bool SanitizeSlotNumberForSave(int slotNumber, out int sanitizedSlotNumber)
|
||||
{
|
||||
if (slotNumber >= 0 || m_instance == null || m_instance.allowNegativeSlotNumbers)
|
||||
{
|
||||
sanitizedSlotNumber = slotNumber;
|
||||
return true;
|
||||
}
|
||||
for (int i = 0; i <= maxSaveSlot; i++)
|
||||
{
|
||||
if (!HasSavedGameInSlot(i))
|
||||
{
|
||||
sanitizedSlotNumber = i;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
sanitizedSlotNumber = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Saves a game into a slot using the storage provider on the
|
||||
/// Save System GameObject.
|
||||
@ -699,6 +764,11 @@ namespace PixelCrushers
|
||||
|
||||
private static IEnumerator SaveToSlotCoroutine(int slotNumber)
|
||||
{
|
||||
if (!SanitizeSlotNumberForSave(slotNumber, out slotNumber))
|
||||
{
|
||||
Debug.LogError("Can't save game. Invalid save slot: " + slotNumber);
|
||||
yield break;
|
||||
}
|
||||
saveStarted();
|
||||
yield return null;
|
||||
PlayerPrefs.SetInt(LastSavedGameSlotPlayerPrefsKey, slotNumber);
|
||||
@ -711,6 +781,11 @@ namespace PixelCrushers
|
||||
/// </summary>
|
||||
public static void SaveToSlotImmediate(int slotNumber)
|
||||
{
|
||||
if (!SanitizeSlotNumberForSave(slotNumber, out slotNumber))
|
||||
{
|
||||
Debug.LogError("Can't save game. Invalid save slot: " + slotNumber);
|
||||
return;
|
||||
}
|
||||
saveStarted();
|
||||
PlayerPrefs.SetInt(LastSavedGameSlotPlayerPrefsKey, slotNumber);
|
||||
storer.StoreSavedGameData(slotNumber, RecordSavedGameData());
|
||||
|
@ -13,6 +13,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/SaveSystem.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Savers/ActiveSaver.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Savers/AnimatorSaver.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Savers/DestructibleSaver.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Savers/EnabledSaver.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -15,6 +15,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Savers/MultiActiveSaver.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -15,6 +15,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Savers/MultiEnabledSaver.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Savers/PositionSaver.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -12,6 +12,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Savers/Saver.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Serializers/Binary/BinaryDataSerializer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Serializers/Binary/QuaternionSerializationSurrogate.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -14,6 +14,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Serializers/Binary/Vector3SerializationSurrogate.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Serializers/DataSerializer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Serializers/JsonDataSerializer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Spawning/SpawnedObject.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -13,6 +13,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Spawning/SpawnedObjectList.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Spawning/SpawnedObjectManager.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -154,7 +154,10 @@ namespace PixelCrushers
|
||||
savedGameInfo.Add(new SavedGameInfo(string.Empty));
|
||||
}
|
||||
|
||||
savedGameInfo[slotIndex].sceneName = (savedGameData != null) ? savedGameData.sceneName : string.Empty;
|
||||
if (0 <= slotIndex && slotIndex < savedGameInfo.Count)
|
||||
{
|
||||
savedGameInfo[slotIndex].sceneName = (savedGameData != null) ? savedGameData.sceneName : string.Empty;
|
||||
}
|
||||
WriteSavedGameInfoToDisk();
|
||||
}
|
||||
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Storers/DiskSavedGameDataStorer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -10,6 +10,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Storers/EncryptionUtility.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
@ -12,6 +12,6 @@ AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 11672
|
||||
packageName: Dialogue System for Unity
|
||||
packageVersion: 2.2.41.1
|
||||
packageVersion: 2.2.412
|
||||
assetPath: Assets/Plugins/Pixel Crushers/Common/Scripts/Save System/Storers/PlayerPrefsSavedGameDataStorer.cs
|
||||
uploadId: 626932
|
||||
uploadId: 633831
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user