Esempio n. 1
0
        public static bool CreateScriptableObjects <T>(string sheetName, string assetNameFormat)
            where T : ScriptableObject
        {
            bool success = true;

            try
            {
                SpreadsheetInformation sheetInfo = new SpreadsheetInformation
                {
                    m_sheetName     = sheetName,
                    m_spreadsheetId = k_exampleSheetId
                };

                GoogleSheet values    = GrabSheetData(sheetInfo);
                string[]    jsonArray = values.ToJsonRowArrays(GoogleSheet.HeadingAttributes.MEMBER_VARIABLE | GoogleSheet.HeadingAttributes.CAMEL_CASE);
                for (int i = 0; i < jsonArray.Length; i++)
                {
                    T scriptableExample = ScriptableObject.CreateInstance <T>();
                    JsonUtility.FromJsonOverwrite(jsonArray[i], scriptableExample);
                    AssetDatabase.CreateAsset(scriptableExample, string.Format(assetNameFormat, values.m_rows[i][0]));
                    AssetDatabase.SaveAssets();
                    AssetDatabase.Refresh();
                }
            }
            catch (Exception e)
            {
                LogError(e.Message);
                success = false;
            }
            return(success);
        }
Esempio n. 2
0
        public static IList <IList <object> > GrabRawSheetData(SpreadsheetInformation sheetInfo)
        {
            UserCredential credential = GetUserCredentials();

            // Create Google Sheets API service.
            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = Application.productName,
            });

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(sheetInfo.m_spreadsheetId, sheetInfo.m_sheetName);

            ValueRange response = request.Execute();

            return(response.Values);
        }
Esempio n. 3
0
        public static GoogleSheet GrabSheetData(SpreadsheetInformation sheetInfo, int headingRow = 0)
        {
            IList <IList <object> > values = GrabRawSheetData(sheetInfo);

            return(GetFilteredData(values, headingRow));
        }