3 Способу збереження даних гри - nullcode studio, ігри, unity, скрипти

Будь-який гравець шанує як мінімум три заповіді: «Відступися!», «Перекочується!», «Берегти!». Бо їх порушення обіцяє - біль. Ну, і раз така справа, ми розглянемо три способи, як зберігати ігрові дані. Саме на прикладі, змінних, типу: bool, float, int, string і масив. Перший варіант, з використанням стандартних функцій Unity. Другий, збереження в файл, формат якого можна вибрати на свій розсуд, крім того, цей варіант дає можливість шифрувати дані. Третій спосіб, робота з файлом формату XML.

Приступимо до справи. Створюємо C # з будь-яким ім'ям і редагуємо його.

Підключаємо необхідні бібліотеки, для всіх наведених нижче прикладів:


Також, загальні змінні:

Те, що будемо зберігати:


Куди будемо завантажувати:

Ім'я нашого файлу:


Збереження в реєстр (якщо Windows):


Читання масиву тут зроблено з розрахунком на те, що невідомо скільки там елементів записано, тому перебираємо все, які є з відповідними ключами. Припустимо при першому збереження масив містив три рядки, з доданим номером 0,1,2. А в процесі гри, можуть відбутися зміни і будуть елементи з номерами 0,1,2,3,4,5 і т.д. Якщо є номер 0 - то додається +1 і знову перевірка. Однак, треба мати на увазі, що оскільки перевірка здійснюється за конкретним ключу, то не можна просто видалити один елемент, інакше перевірка перерветься на першому відсутньому ключі. Оновлювати масив треба весь, зберігаючи відлік з 0.

Збереження в файл


Додамо змінну для цього способу, вона знадобиться для вибору - шифрувати дані чи ні.

До речі формат файлу в прикладі .ncs три букви від назви нашого проекту, Ви зрозуміло можете придумати, щось своє.

Функція шифрування і дешифрування:

Функція пошуку рядка по заданому ключу:


Суть в тому, що всі рядки файлу завантажуються в масив, а вже з ним ми і працюємо.


Значить, що в value буде видалено все, після першого пропуску.


Чи означає, що в value буде вирізано перше слово.

Результат, який буде записаний у файл, якщо не зашифровано:

3 Способу збереження даних гри - nullcode studio, ігри, unity, скрипти

Варіант з XML файлом


Тут для масиву створюється окремий розділ і в процесі читання файлу, коли доходимо до нього, перебираємо всі ключі, тут у них однакове ім'я, але різні значення. Тому, без різниці які з них видаляти, а які оновлювати, завантажені будуть все які є.


Останній рядок Info не особливо то й потрібна, але для прикладу зійде.)

Ви не можете завантажувати файли з нашого сервера