public void QueuingSpeech() { var sheet = new ES3Spreadsheet(); sheet.Load(SpeechDataManager.instance.ScriptName); speechQueue = new Queue <SpeechInfo>(); int speechStart = 0; int speechLength = 0; foreach (SpeechDataManager.SpeechSheetInfo info in SpeechDataManager.instance.speechSheetInfos) { if (speechId != info.speechId) { continue; } else { speechStart = info.speechRow; speechLength = info.speechLength; break; } } for (int row = speechStart; row < speechStart + speechLength - 1; row++) { SpeechInfo speechInfo = new SpeechInfo(); speechInfo.speecher = sheet.GetCell <string>(0, row); speechInfo.speechText = sheet.GetCell <string>(1, row); speechQueue.Enqueue(speechInfo); } SpeechStart(); }
public void GetSpeechId() { speechSheetInfos = new List <SpeechSheetInfo>(); int temp_Id; int temp_Row; int temp_Length; if (ES3.FileExists(ScriptName)) { var sheet = new ES3Spreadsheet(); sheet.Load(ScriptName); // Output the first row of the spreadsheet to console for (int row = 0; row < sheet.RowCount; row += 50) { temp_Id = sheet.GetCell <int>(0, row - 1); temp_Row = row; temp_Length = sheet.GetCell <int>(1, row - 1); SpeechSheetInfo temp_Info = new SpeechSheetInfo(temp_Id, temp_Row, temp_Length); speechSheetInfos.Add(temp_Info); } } else { Debug.Log("Error! ScriptFile is not exist"); Debug.Log(ScriptName); } }
public void LoadData() { Spreadsheet = new ES3Spreadsheet(); ES3Settings settings = new ES3Settings(); settings.location = ES3.Location.Resources; Spreadsheet.Load("Data/ItemData.csv", settings); PopulateObjects(); }
void Start() { currRow = 1; logTxtPath = Application.persistentDataPath + "/log_" + DateTime.UtcNow.ToString("MM-dd-yyyy_h-mm-ss") + ".txt"; logResultsCsvPath = Application.persistentDataPath + "/log_" + DateTime.UtcNow.ToString("MM-dd-yyyy_h-mm-ss") + ".csv"; sheet = new ES3Spreadsheet(); numStaticCols = 9 + 4 + 24 + 12; numCardCols = 2 * GameData.defaultCardDict.Count; totalCols = numStaticCols + numCardCols; SaveSheetTitle(); }
public void Save() { Debug.Log("Start Save"); m_Count = SaveTargets.Count; foreach (SaveTarget obj in SaveTargets) { obj.SelfSaving(CountDown); LoadTargets.Remove(obj); LoadTargets.Add(obj); } SaveTargets.Clear(); ES3.DeleteFile("MetaData.csv"); var sheet = new ES3Spreadsheet(); // Add data to cells in the spreadsheet. for (int row = 0; row < LoadTargets.Count; row++) { sheet.SetCell <string>(0, row, LoadTargets[row].name); } sheet.Save("MetaData.csv"); }
public void Load() { LoadTargets.Clear(); Debug.Log("Start Load"); if (ES3.FileExists("MetaData.csv")) { var sheet = new ES3Spreadsheet(); sheet.Load("MetaData.csv"); // Output the first row of the spreadsheet to console. for (int row = 0; row < sheet.RowCount; row++) { GameObject obj = GameObject.Find(sheet.GetCell <string>(0, row)); SavedObject saveTarget = obj.GetComponent <SavedObject>(); LoadTargets.Add(saveTarget); } } m_Count = LoadTargets.Count; foreach (SaveTarget obj in LoadTargets) { obj.SelfLoading(CountDown); } }
private void Import() { string locFolderPath = Application.streamingAssetsPath + "/Localization"; string[] files = Directory.GetFiles(locFolderPath); files = files.Where(x => x.EndsWith(".csv")).ToArray(); for (int i = 0; i < files.Length; i++) { var sheet = new ES3Spreadsheet(); sheet.Load(files[i]); int rowCount = sheet.RowCount; int rowDepth = 0, checkRow = 1; var compareAgainst = sheet.GetCell <string>(0, checkRow); while (true) { checkRow++; rowDepth++; if (checkRow > rowCount) { Debug.Log("Break cuz to big: " + checkRow); rowDepth--; break; } if (sheet.GetCell <string>(0, checkRow) != compareAgainst) { Debug.Log("Break cuz found target"); break; } } Debug.Log("Row Depth: " + rowDepth); for (int row = 1; row < rowCount - 1; row += rowDepth) { Debug.Log("Current Row: " + row); List <Dictionary <Language, string> > dictEntry = new List <Dictionary <Language, string> >(); for (int subRow = row; subRow < row + rowDepth; subRow++) { var dict = new Dictionary <Language, string>(); for (int col = 1; col < sheet.ColumnCount; col++) { dict.Add( LanguageUtil.LanguageAt(col - 1), sheet.GetCell <string>(col, subRow) ); } dictEntry.Add(dict); Debug.Log("sRow: " + subRow); } var locBase = GetLocalizationTarget(sheet.GetCell <string>(0, row)); locBase.SetLocalizedStrings(dictEntry); Debug.Log($"Finished importing to the {locBase.name} ScriptableObject"); } } Debug.Log("Localization import finished. Imported " + localisationTextAssets.Length); }
private void Export() { int languagesCount = Enum.GetNames(typeof(Language)).Length; //gather and count all unique types we will be exporting var spreadsheets = new Dictionary <string, ES3Spreadsheet>(); for (int i = 0; i < localisationTextAssets.Length; i++) { string typeName = localisationTextAssets[i].PathToLocalizationFile(); if (!spreadsheets.ContainsKey(typeName)) { spreadsheets.Add(typeName, new ES3Spreadsheet()); } } //save our localization assets to proper files for (int i = 0; i < localisationTextAssets.Length; i++) { string rowName = localisationTextAssets[i].name; string key = localisationTextAssets[i].PathToLocalizationFile(); ES3Spreadsheet sheet = spreadsheets[key]; int startRow = sheet.RowCount; List <Dictionary <Language, string> > locStrings = localisationTextAssets[i].GetLocalizedStrings(); int rowsToAdd = locStrings.Count + (sheet.ColumnCount == 0 ? 1 : 0); //TODO: Possibly, fill first row with the headers, so we can get rid of redundant checks for (int col = 0; col <= languagesCount; col++) { for (int row = startRow; row < startRow + rowsToAdd; row++) { if (col == row && col == 0) //Top left corner { sheet.SetCell <string>(col, row, "Localization"); } else if (col == 0) //Key { sheet.SetCell <string>(col, row, rowName); } else if (row == 0) //Header { sheet.SetCell <string>( col, row, LanguageUtil.StringAt(col - 1)); } else //Translation { int mod = startRow == 0 ? -1 : 0; // *Checks like this* can be avoided var lDict = locStrings[row - startRow + mod]; //dictionary<language, string> from list of dicts var lDString = lDict[LanguageUtil.LanguageAt(col - 1)]; sheet.SetCell <string>(col, row, lDString); } } } } foreach (KeyValuePair <string, ES3Spreadsheet> es3Spreadsheet in spreadsheets) { es3Spreadsheet.Value.Save(es3Spreadsheet.Key); } Debug.Log("Localization export finished. Exported " + localisationTextAssets.Length + " lines in " + Enum.GetNames(typeof(Language)).Length + " languages"); }