GithubHelp home page GithubHelp logo

kitgun1 / kimicugooglesheetimporter-for-unity Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 74 KB

Этот ассет был разработан с целью получения данных их гугл таблиц

License: MIT License

C# 100.00%

kimicugooglesheetimporter-for-unity's Introduction

👉 Kimicu Google Sheets Importer for Unity 👈

🟢 Описание

Этот ассет был разработан с целью получения данных их гугл таблиц

Было разработанно специально для игровой студии ImmortalsGames

Вы также можете ознакомиться с примеров в PackageManager > Google Sheet Importer > Samples

🟡 Как установить

  1. Для начала добавьте NuGetForUnity:

    Unity 2019.3 или новее

    1.1. Открыть Package Manager window (Window | Package Manager)
    1.2. Нажмите кнопку + в левом верхнем углу окна и выберите "Add package from git URL..."
    1.3. Введите следующий URL-адрес и нажмите кнопку «Добавить».

    https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity 
    
    Unity 2019.2 или ранее

    1.1. Закрыть Unity Editor
    1.2. Открыть Packages/manifest.json любым текстовым редактором
    1.3. Вставьте следующую строку после "dependencies": {, и сохраните файл.

    "com.glitchenzo.nugetforunity": "https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity",

    1.4. Снова откройте проект Unity в редакторе Unity.

  2. Далее установите нужные пакеты через NuGet > Manage NuGet Package
    Unity_AyFMhMdf4u.png

  3. Далее добавляем UniTask, скачиваем по ссылке и добавляем в проект.

  4. Далее добавим Kimicu Google Sheet Importer for Unity:

    Unity 2019.3 или новее

    1.1. Открыть Package Manager window (Window | Package Manager)
    1.2. Нажмите кнопку + в левом верхнем углу окна и выберите "Add package from git URL..."
    1.3. Введите следующий URL-адрес и нажмите кнопку «Добавить».

    https://github.com/Kitgun1/KimicuGoogleSheetImporter-for-Unity.git 
    
    Unity 2019.2 или ранее

    1.1. Закрыть Unity Editor
    1.2. Открыть Packages/manifest.json любым текстовым редактором
    1.3. Вставьте следующую строку после "dependencies": {, и сохраните файл.

    "com.kimicu.googlesheetimporter": "https://github.com/Kitgun1/KimicuGoogleSheetImporter-for-Unity.git",

    1.4. Снова откройте проект Unity в редакторе Unity.

🟠 Получение данных из Google таблицы

Подготовка

  1. Создайте папку, в которой будем все обрабатывать.
  2. Создаем в этой папке Assembly Difinition Reference.
  3. В поле Assembly Difinition указываем Kimicu.GoogleSheetImporter и сохраняем.

Таблицы

  1. Создайте новые скрипты с названием таблиц, например:
    У нас есть вот такая таблица:
    Unity_AyFMhMdf4u.png

  2. Теперь зная таблицу, надо написать скрипт для хранения каждого поля, в нашем случае это:

    [Serializable]
    public class ItemSettings
    {
       public string Id;
       public string Name;
       public int Price;
    }

Напишем GameSettings

  1. Создайте скрипт GameSettings.
  2. Добавьте аттрибут [Serializable].
  3. Установите namespace - Kimicu.ExcelImporter.
  4. Добавьте список всех таблиц в GameSettings, например:
    public List<ItemSettings> Products;

Напишем Парсер для данных

  1. Создаем новый скрипт, например ItemSettingsParser.
  2. Наследуем его от IGoogleSheetParser и имплиминтируем нужные методы.
  3. Далее напишем конструктор, который будет принимать в качестве аргумента GameSettings.
  4. Кешируем и инициализируем всве внутренние поля.
  5. Прописываем логику для метода Parse(string header, string token):
    switch (header)
    {
       case "Id":
          _currentItemSettings = new ItemSettings() { Id = token };
          _gameSettings.Products.Add(_currentItemSettings);
          break;
       case "Name":
          _currentItemSettings.Name = token;
          break;
       case "Price":
          _currentItemSettings.Price = Convert.ToInt32(token);
          break;
       default:
          throw new Exception($"Invalid header: {header}!");
    }

Получение данных из листа таблицы

  1. В верхнем меню выбираем Kimicu > Config Import.
  2. Выбираем существующий или создаем новый в папке Resources
  3. SPREADSHEET_ID берем из ссылки таблицы chrome_6cKPSWuWVN.png
  4. CREDENTIALS_PATH - json файл с кренделями, который в лежит в корневой папке проекта Получить его можно в Google Developer Console, создав новый проект, добавив сервис аккаунт и ключ к нему
  5. ITEMS_SHEET_NAME - Название листа из Google Sheets
  6. SETTINGS_FILE_NAME - Название файла, в котором будет json строка с данными из таблицы
  7. PARSER NAME - название скрипта парсера, который унаследован от IGoogleSheetParser
  8. После нажатия на кнопку Load Items Settings, задите в папке Resources и сделайте Refresh папки

kimicugooglesheetimporter-for-unity's People

Contributors

kitgun1 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.