private void ImportWarehouseInventoryData(GstuSpreadSheet sheet) { foreach (var warehouseUUID in sheet.columns["UUID"]) { if (warehouseUUID.value != "UUID") { //Assign the position string[] parsedPosValue = sheet[warehouseUUID.value, "Position"].value.Split(',', ')', '('); string x = parsedPosValue[1]; string y = parsedPosValue[2]; Vector2 pos = new Vector2(float.Parse(x), float.Parse(y)); WarehouseObject newObj = Instantiate(blankWarehouseObjectPrefab, pos, Quaternion.identity).GetComponent <WarehouseObject>(); //Assign the UUID newObj.UUID = warehouseUUID.value; string[] parsedTransformValue = sheet[warehouseUUID.value, "Box Dim"].value.Split(',', ')', '('); newObj.objTransform.localScale = new Vector2(float.Parse(parsedTransformValue[1]), float.Parse(parsedTransformValue[2])); //Add to the objects in warehouse dictionary objectsInWarehouse.Add(warehouseUUID.value, newObj); } } }
void OnReceive(GstuSpreadSheet ss) { foreach (var pair in ss.Cells) { Debug.Log(pair.Key + " : " + pair.Value.value); } }
void UpdateEverything(GstuSpreadSheet ss) { //First number is the row second is the column List <List <string> > data = rawData.values; //Towers numberOfWaves = int.Parse(rawData.values[waveSpot - 1][0]); for (int i = 0; i < towers.Length; i++) { SetDataForTower(i); } for (int i = 0; i < enemies.Length; i++) { SetDataForEnemy(i); } waveHandler.GetComponent <Waves>().wavesVar = new WaveHandler[numberOfWaves]; currentWaveHandler.GetComponent <Waves>().wavesVar = new WaveHandler[numberOfWaves]; for (int i = 0; i < numberOfWaves; i++) { waveHandler.GetComponent <Waves>().wavesVar[i] = new WaveHandler(); } currentWaveHandler.GetComponent <Waves>().wavesVar = waveHandler.GetComponent <Waves>().wavesVar; for (int i = 1; i <= numberOfWaves; i++) { SetDataForWave(i); } SetMoneyForWaves(); }
private void LoadWarehouseInfo(GstuSpreadSheet sheet) { warehouseYDim = float.Parse(sheet["B2"].value); warehouseXDim = float.Parse(sheet["A2"].value); CreateWarehouseBounds(); }
private void SetData(GstuSpreadSheet sheet, List <ProductionBuildingConfig> configs, int startRow) { for (int row = startRow, i = 0; i < configs.Count; i++, row++) { SetParameters(configs[i], sheet.rows[row]); } }
void UpdatePlayer(GstuSpreadSheet ss) { float value; PlayerStats["HP"] = float.TryParse(ss["A4"].value, out value) == true ? value : 0.0f; PlayerStats["Speed"] = float.TryParse(ss["B4"].value, out value) == true ? value : 0.0f; }
void UpdateTower2(GstuSpreadSheet ss) { float value; TowerStats["PlayerHeal"] = float.TryParse(ss["A28"].value, out value) == true ? value : 0.0f; TowerStats["TrashCost"] = float.TryParse(ss["B28"].value, out value) == true ? value : 0.0f; }
internal void UpdateStats(GstuSpreadSheet ss) { items.Clear(); health = int.Parse(ss[name, "Health"].value); attack = int.Parse(ss[name, "Attack"].value); defence = int.Parse(ss[name, "Defence"].value); items.Add(ss[name, "Items"].value.ToString()); }
private void CreateWarehouseInfo(GstuSpreadSheet sheet) { SpreadsheetManager.Write(new GSTU_Search(associatedSheet, warehouseInfoWorksheet, "A2"), new ValueRange(warehouseXDim.ToString()), null); SpreadsheetManager.Write(new GSTU_Search(associatedSheet, warehouseInfoWorksheet, "B2"), new ValueRange(warehouseYDim.ToString()), null); }
void ReadSheetCallback(GstuSpreadSheet sheet) { if (sheet != null) { Debug.Log($"Total Row Count: {sheet.rows.primaryDictionary.Count}"); ExportData(sheet, (currentIndex + 1) * (100 / (float)localizedConfig.SheetNames.Count), OnCompleteRead); } }
void UpdateBarricades(GstuSpreadSheet ss) { float value; BarriacdeStats["Health"] = float.TryParse(ss["A20"].value, out value) == true ? value : 0.0f; BarriacdeStats["TrashCost"] = float.TryParse(ss["B20"].value, out value) == true ? value : 0.0f; BarriacdeStats["CooldownTime"] = float.TryParse(ss["C20"].value, out value) == true ? value : 0.0f; }
void UpdateTrashCans(GstuSpreadSheet ss) { float value; TrashCanStats["AmountCollected"] = float.TryParse(ss["A24"].value, out value) == true ? value : 0.0f; //TrashCanStats["TrashLimit"] = float.TryParse(ss["B18"].value, out value) == true ? value : 0.0f; TrashCanStats["Cooldown"] = float.TryParse(ss["B24"].value, out value) == true ? value : 0.0f; }
public Job(GstuSpreadSheet ss, string key) { name = ss[key, "이름"].value; description = ss[key, "설명"].value; int.TryParse(ss[key, "의지"].value, out will); int.TryParse(ss[key, "지식"].value, out knowledge); int.TryParse(ss[key, "힘"].value, out strength); int.TryParse(ss[key, "민첩"].value, out agility); int.TryParse(ss[key, "체력"].value, out helth); }
void UpdateEnemies(GstuSpreadSheet ss) { float value; EnemyStats["Rats"] = new Dictionary <string, float>(); EnemyStats["Rats"]["HP"] = float.TryParse(ss["Rats", "HP"].value, out value) == true ? value : 0.0f; EnemyStats["Rats"]["Speed"] = float.TryParse(ss["Rats", "Speed"].value, out value) == true ? value : 0.0f; EnemyStats["Rats"]["Steal"] = float.TryParse(ss["Rats", "Steal Amount"].value, out value) == true ? value : 0.0f; EnemyStats["Rats"]["Damage"] = float.TryParse(ss["Rats", "Damage"].value, out value) == true ? value : 0.0f; EnemyStats["Rats"]["CoolDown"] = float.TryParse(ss["Rats", "Cool downs"].value, out value) == true ? value : 0.0f; EnemyStats["Rats"]["Range"] = float.TryParse(ss["Rats", "Range"].value, out value) == true ? value : 0.0f; EnemyStats["Rats"]["Power lvl"] = float.TryParse(ss["Rats", "Power lvl"].value, out value) == true ? value : 0.0f; EnemyStats["Rats"]["w/ Ability"] = float.TryParse(ss["Rats", "w/ Ability"].value, out value) == true ? value : 0.0f; EnemyStats["Crows"] = new Dictionary <string, float>(); EnemyStats["Crows"]["HP"] = float.TryParse(ss["Crows", "HP"].value, out value) == true ? value : 0.0f; EnemyStats["Crows"]["Speed"] = float.TryParse(ss["Crows", "Speed"].value, out value) == true ? value : 0.0f; EnemyStats["Crows"]["Steal"] = float.TryParse(ss["Crows", "Steal Amount"].value, out value) == true ? value : 0.0f; EnemyStats["Crows"]["Damage"] = float.TryParse(ss["Crows", "Damage"].value, out value) == true ? value : 0.0f; EnemyStats["Crows"]["CoolDown"] = float.TryParse(ss["Crows", "Cool downs"].value, out value) == true ? value : 0.0f; EnemyStats["Crows"]["Range"] = float.TryParse(ss["Crows", "Range"].value, out value) == true ? value : 0.0f; EnemyStats["Crows"]["Power lvl"] = float.TryParse(ss["Crows", "Power lvl"].value, out value) == true ? value : 0.0f; EnemyStats["Crows"]["w/ Ability"] = float.TryParse(ss["Crows", "w/ Ability"].value, out value) == true ? value : 0.0f; EnemyStats["Opossums"] = new Dictionary <string, float>(); EnemyStats["Opossums"]["HP"] = float.TryParse(ss["Opossums", "HP"].value, out value) == true ? value : 0.0f; EnemyStats["Opossums"]["Speed"] = float.TryParse(ss["Opossums", "Speed"].value, out value) == true ? value : 0.0f; EnemyStats["Opossums"]["Steal"] = float.TryParse(ss["Opossums", "Steal Amount"].value, out value) == true ? value : 0.0f; EnemyStats["Opossums"]["Damage"] = float.TryParse(ss["Opossums", "Damage"].value, out value) == true ? value : 0.0f; EnemyStats["Opossums"]["CoolDown"] = float.TryParse(ss["Opossums", "Cool downs"].value, out value) == true ? value : 0.0f; EnemyStats["Opossums"]["Range"] = float.TryParse(ss["Opossums", "Range"].value, out value) == true ? value : 0.0f; EnemyStats["Opossums"]["Power lvl"] = float.TryParse(ss["Opossums", "Power lvl"].value, out value) == true ? value : 0.0f; EnemyStats["Opossums"]["w/ Ability"] = float.TryParse(ss["Opossums", "w/ Ability"].value, out value) == true ? value : 0.0f; EnemyStats["Skunks"] = new Dictionary <string, float>(); EnemyStats["Skunks"]["HP"] = float.TryParse(ss["Skunks", "HP"].value, out value) == true ? value : 0.0f; EnemyStats["Skunks"]["Speed"] = float.TryParse(ss["Skunks", "Speed"].value, out value) == true ? value : 0.0f; EnemyStats["Skunks"]["Steal"] = float.TryParse(ss["Skunks", "Steal Amount"].value, out value) == true ? value : 0.0f; EnemyStats["Skunks"]["Damage"] = float.TryParse(ss["Skunks", "Damage"].value, out value) == true ? value : 0.0f; EnemyStats["Skunks"]["CoolDown"] = float.TryParse(ss["Skunks", "Cool downs"].value, out value) == true ? value : 0.0f; EnemyStats["Skunks"]["Range"] = float.TryParse(ss["Skunks", "Range"].value, out value) == true ? value : 0.0f; EnemyStats["Skunks"]["Power lvl"] = float.TryParse(ss["Skunks", "Power lvl"].value, out value) == true ? value : 0.0f; EnemyStats["Skunks"]["w/ Ability"] = float.TryParse(ss["Skunks", "w/ Ability"].value, out value) == true ? value : 0.0f; EnemyStats["BigRaccoon"] = new Dictionary <string, float>(); EnemyStats["BigRaccoon"]["HP"] = float.TryParse(ss["BigRaccoon", "HP"].value, out value) == true ? value : 0.0f; EnemyStats["BigRaccoon"]["Speed"] = float.TryParse(ss["BigRaccoon", "Speed"].value, out value) == true ? value : 0.0f; EnemyStats["BigRaccoon"]["Steal"] = float.TryParse(ss["BigRaccoon", "Steal Amount"].value, out value) == true ? value : 0.0f; EnemyStats["BigRaccoon"]["Damage"] = float.TryParse(ss["BigRaccoon", "Damage"].value, out value) == true ? value : 0.0f; EnemyStats["BigRaccoon"]["CoolDown"] = float.TryParse(ss["BigRaccoon", "Cool downs"].value, out value) == true ? value : 0.0f; EnemyStats["BigRaccoon"]["Range"] = float.TryParse(ss["BigRaccoon", "Range"].value, out value) == true ? value : 0.0f; EnemyStats["BigRaccoon"]["Power lvl"] = float.TryParse(ss["BigRaccoon", "Power lvl"].value, out value) == true ? value : 0.0f; EnemyStats["BigRaccoon"]["w/ Ability"] = float.TryParse(ss["BigRaccoon", "w/ Ability"].value, out value) == true ? value : 0.0f; }
private void UpdateInvidualObjectBoxDim(GstuSpreadSheet sheet) { BatchRequestBody updateRequest = new BatchRequestBody(); //Update the obj's scale in scene objToUpdate.objTransform.localScale = new Vector2(float.Parse(boxXDimInput.text), float.Parse(boxYDimInput.text)); updateRequest.Add(sheet[objToUpdate.UUID, "Box Dim"].AddCellToBatchUpdate(associatedSheet, warehouseItemsWorksheet, objToUpdate.objTransform.localScale.ToString())); updateRequest.Send(associatedSheet, warehouseItemsWorksheet, null); }
void UpdateAllAnimals(GstuSpreadSheet ss) { foreach (Animal animal in container.allAnimals) { animal.UpdateStats(ss); } foreach (AnimalObject animalObject in animalObjects) { animalObject.BuildAnimalInfo(); } }
internal void UpdateStats(GstuSpreadSheet ss, bool mergedCells) { items.Clear(); health = int.Parse(ss[name, "Health"].value); attack = int.Parse(ss[name, "Attack"].value); defence = int.Parse(ss[name, "Defence"].value); //I know that my items column may contain multiple values so we run a for loop to ensure they are all added foreach (var value in ss[name, "Items", true]) { items.Add(value.value.ToString()); } }
void OnReceiveJob(GstuSpreadSheet ss) { Jobs.Clear(); var rows = ss.columns["A"]; rows.RemoveAt(0); foreach (var p in rows) { Jobs.Add(new Job(ss, p.value)); } }
private void UpdateIndvidualObjectUUID(GstuSpreadSheet sheet) { BatchRequestBody updateRequest = new BatchRequestBody(); updateRequest.Add(sheet[objToUpdate.UUID, "UUID"].AddCellToBatchUpdate(associatedSheet, warehouseItemsWorksheet, itemKeyInput.text)); objectsInWarehouse.Remove(objToUpdate.UUID); objectsInWarehouse.Add(itemKeyInput.text, objToUpdate); objToUpdate.UUID = itemKeyInput.text; updateRequest.Send(associatedSheet, warehouseItemsWorksheet, null); }
private void UpdateWarehouseData(GstuSpreadSheet sheet) { BatchRequestBody updateRequest = new BatchRequestBody(); foreach (KeyValuePair <string, WarehouseObject> pair in objectsInWarehouse) { //Add the updated data to the bach request updateRequest.Add(sheet[pair.Key, "Position"].AddCellToBatchUpdate(associatedSheet, associatedWorksheet, pair.Value.objTransform.position.ToString())); } //Send the request updateRequest.Send(associatedSheet, associatedWorksheet, null); }
internal void onSheetRead(GstuSpreadSheet sheet, bool generateInstances) { List <ColumnExporter> exporters = ReadExporters(sheet); string sheetName = GSTUSheetUtils.GetSheetName(sheet); GenerateClasses(sheetName, exporters); if (generateInstances) { GenerateInstances(sheet, sheetName, exporters); } AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }
void ReadSheetCallback(GstuSpreadSheet sheet) { EditorUtility.ClearProgressBar(); process = 0; if (sheet != null) { Debug.Log($"Total Row Count: {sheet.rows.primaryDictionary.Count}"); if (isBuildText) { BuildText(sheet, OnCompleteRead); } else { ExportData(sheet, OnCompleteRead); } } }
private void GenerateInstances(GstuSpreadSheet sheet, string spreadsheetName, List <ColumnExporter> exporters) { List <GSTU_Cell> keys = GSTUSheetUtils.GetSheetRowKeys(sheet); string instancesFolder = folderPath + "/" + spreadsheetName + "/"; FileUtils.GenerateFoldersForPath(instancesFolder); string className = GetAggregateClassName(spreadsheetName); Type aggregateType = AmoaebaUtils.ReflectionHelpers.GetTypeFromName("" + outputNamespace + "." + className); ScriptableObject aggregateInstance = ScriptableObject.CreateInstance(aggregateType); className = GetEntryClassName(spreadsheetName); Type classType = AmoaebaUtils.ReflectionHelpers.GetTypeFromName("" + outputNamespace + "." + className); Type arrayType = classType.MakeArrayType(); Array instances = Array.CreateInstance(arrayType.GetElementType(), keys.Count); for (int i = 0; i < keys.Count; i++) { GSTU_Cell key = keys[i]; ScriptableObject instance = ScriptableObject.CreateInstance(classType); instances.SetValue(instance, i); foreach (ColumnExporter exporter in exporters) { GSTU_Cell entry = sheet[key.value, exporter.sheetName]; FieldInfo columnField = classType.GetField(exporter.Name, BindingFlags.Public | BindingFlags.Instance); columnField.SetValue(instance, exporter.ParseTypeForValue(entry.value)); } AssetDatabase.CreateAsset(instance, instancesFolder + key.value + ".asset"); } AssetDatabase.CreateAsset(aggregateInstance, instancesFolder + spreadsheetName + "Entries.asset"); MethodInfo aggregateMethod = aggregateType.GetMethod(AGGREGATE_CLASS_FILL_METHOD, BindingFlags.NonPublic | BindingFlags.Instance); object[] arguments = { instances }; aggregateMethod.Invoke(aggregateInstance, arguments); }
private List <ColumnExporter> ReadExporters(GstuSpreadSheet sheet) { List <GSTU_Cell> columnNames = GSTUSheetUtils.ColumnNamesRow(sheet); List <GSTU_Cell> columnTypes = GSTUSheetUtils.TypesRow(sheet); List <ColumnExporter> retVal = new List <ColumnExporter>(); int max = Mathf.Min(columnNames.Count, columnTypes.Count); for (int i = 0; i < max; i++) { ColumnExporter exporter; exporter.sheetName = columnNames[i].value; exporter.Type = StringToParseType(columnTypes[i].value); retVal.Add(exporter); } return(retVal); }
void OnReceiveScenario(GstuSpreadSheet ss) { Scenarios.Clear(); var rows = ss.columns["A"]; rows.RemoveAt(0); foreach (var p in rows) { Scenario scenario = new Scenario(); scenario.name = ss[p.value, "이름"].value; scenario.placeName = ss[p.value, "시작 장소"].value; scenario.description = ss[p.value, "내용"].value; Scenarios.Add(scenario); Debug.Log(scenario.ToShow()); } }
private void UpdateAnimalInformation(GstuSpreadSheet ss) { BatchRequestBody updateRequest = new BatchRequestBody(); updateRequest.Add(ss[animal.name, "Health"].AddCellToBatchUpdate(animal.associatedSheet, animal.associatedWorksheet, animal.health.ToString())); updateRequest.Add(ss[animal.name, "Defence"].AddCellToBatchUpdate(animal.associatedSheet, animal.associatedWorksheet, animal.health.ToString())); updateRequest.Add(ss[animal.name, "Attack"].AddCellToBatchUpdate(animal.associatedSheet, animal.associatedWorksheet, animal.health.ToString())); updateRequest.Send(animal.associatedSheet, animal.associatedWorksheet, null); ///Although this does work if requires that the list is set up in the correct order to write the data correctly, the above solution provides a more robust solution as the cells /// already know what to update. /*string cellRef = ss[animal.name, "Name"].CellRef(); //get the cell ref where the animal start, i know this because name is my first field for the data * List<string> list = new List<string>(); * list.Add(animal.name); * list.Add(animal.health.ToString()); * list.Add(animal.attack.ToString()); * list.Add(animal.defence.ToString()); * SpreadsheetManager.Write(new GSTU_Search(animal.associatedSheet, animal.associatedWorksheet, cellRef), list, null);*/ }
void OnSheetLoaded(GstuSpreadSheet ss) { datas = new VisibleData(); for (int i = 1; i < ss.columns["A"].Count; i++) { int id = int.Parse(ss.rows[i + 1][0].value); datas.Add(id, new Data()); for (int j = 0; j < ss.rows[i + 1].Count; j++) { //Debug.Log("ss.rows[i]: " + ss.rows[i + 1][j].value); datas[id].UpdateStats(ss.rows[i + 1]); } } #if UNITY_EDITOR EditorUtility.SetDirty(this); #endif onGoogleSynced?.Invoke(); }
private void UpdateWarehouseData(GstuSpreadSheet sheet) { //Begin wiping old data-------------------------------------------------------------------------------------------------- BatchRequestBody updateRequest = new BatchRequestBody(); foreach (var warehouseUUID in sheet.columns["UUID"]) { if (warehouseUUID.value != "UUID") { updateRequest.Add(sheet[warehouseUUID.value, "Box Dim"].AddCellToBatchUpdate(associatedSheet, warehouseItemsWorksheet, "")); updateRequest.Add(sheet[warehouseUUID.value, "Position"].AddCellToBatchUpdate(associatedSheet, warehouseItemsWorksheet, "")); updateRequest.Add(sheet[warehouseUUID.value, "UUID"].AddCellToBatchUpdate(associatedSheet, warehouseItemsWorksheet, "")); } } updateRequest.Send(associatedSheet, warehouseItemsWorksheet, null); //End wiping old data------------------------------------------------------------------------------------------------------- //Begin importing new data-------------------------------------------------------------------------------------------------- List <List <string> > warehouseObjectImportList = new List <List <string> >(); foreach (KeyValuePair <string, WarehouseObject> pair in objectsInWarehouse) { List <string> temp = new List <string>() { pair.Value.UUID, pair.Value.objTransform.localScale.ToString(), pair.Value.objTransform.position.ToString() }; warehouseObjectImportList.Add(temp); } SpreadsheetManager.Write(new GSTU_Search(associatedSheet, warehouseItemsWorksheet, "A2"), new ValueRange(warehouseObjectImportList), null); //End importing new data---------------------------------------------------------------------------------------------------- }
public void Bado(GstuSpreadSheet spreadSheetRef) { StringBuilder str = new StringBuilder(); foreach (var row in spreadSheetRef.rows.primaryDictionary) { foreach (var cell in row.Value) { str.Append(cell.value + "|"); } str.Remove(str.Length - 1, 1); str.Append("\n"); } str.Remove(str.Length - 1, 1); infoData = str.ToString(); listData = new List <string>(infoData.Split(new char[] { '\n' })); listData.RemoveAt(0); }
void UpdatePlayerAbilities(GstuSpreadSheet ss) { float value; PlayerAbilties["Attack"] = new Dictionary <string, float>(); PlayerAbilties["Attack"]["Damage"] = float.TryParse(ss["Basic Attack", "Damage"].value, out value) == true ? value : 0.0f; PlayerAbilties["Attack"]["Cooldown"] = float.TryParse(ss["Basic Attack", "Cooldown"].value, out value) == true ? value : 0.0f; PlayerAbilties["Attack"]["Range"] = float.TryParse(ss["Basic Attack", "Range"].value, out value) == true ? value : 0.0f; PlayerAbilties["Poison"] = new Dictionary <string, float>(); PlayerAbilties["Poison"]["Damage"] = float.TryParse(ss["Fleas", "Damage"].value, out value) == true ? value : 0.0f; PlayerAbilties["Poison"]["Cooldown"] = float.TryParse(ss["Fleas", "Cooldown"].value, out value) == true ? value : 0.0f; PlayerAbilties["Poison"]["Range"] = float.TryParse(ss["Fleas", "Range"].value.Split(' ')[0], out value) == true ? value : 0.0f; PlayerAbilties["Stun"] = new Dictionary <string, float>(); PlayerAbilties["Stun"]["Damage"] = float.TryParse(ss["Stun", "Damage"].value, out value) == true ? value : 0.0f; PlayerAbilties["Stun"]["Cooldown"] = float.TryParse(ss["Stun", "Cooldown"].value, out value) == true ? value : 0.0f; PlayerAbilties["Stun"]["Range"] = float.TryParse(ss["Stun", "Range"].value, out value) == true ? value : 0.0f; PlayerAbilties["Ultimate"] = new Dictionary <string, float>(); PlayerAbilties["Ultimate"]["Damage"] = float.TryParse(ss["Ultimate", "Damage"].value, out value) == true ? value : 0.0f; PlayerAbilties["Ultimate"]["Cooldown"] = float.TryParse(ss["Ultimate", "Cooldown"].value, out value) == true ? value : 0.0f; PlayerAbilties["Ultimate"]["Range"] = float.TryParse(ss["Ultimate", "Range"].value.Split(' ')[0], out value) == true ? value : 0.0f; }