C# i Unity pytanie dotyczące przechowywania danych w plikach.

0

Cześć.
Jestem totalnym nowicjuszem i tworzę swoją pierwszą w życiu apkę w Unity.
Mam pytanie odnośnie przechowywania danych w pliku.
Użytkownik może stworzyć własną bibliotekę danych. Jeden element zawiera string i 5x float.
Chcę to trzymać podczas działania aplikacji w pamięci ram w formie listy, ale też zapisywać w pliku.
Jaki typ pliku wybrać? Do teraz zapisywałem to w .dat dzięki BinaryFormatter, ale nie wiem czy jest to najlepsze rozwiązanie.
Zastanawiam się nad XML.
Proszę o pomoc i jakieś wskazówki.

0

Możesz też pomyśleć o JSON, biblioteka NewtonSoft jest b. popularna

0

BinaryFormatter jest najlepszy do zapisywania save'ów itp. jesli nie ma wymogu przesyłania tych danych dalej lub łatwej edycji pliku. Drugim wyborem byłby JSON ale rozmiar takiego pliku będzie znacznie większy. XML jest dość przestarzały, zapomniałbym o tym formacie na Twoim miejscu.
Unity jest obecnie oparty o .NET Framework, w niedalekiej przyszłości powinien przejść na .NET Core, wtedy obsługę JSON masz wbudowaną, obecnie potrzebujesz dodatkowych nugetów więc musisz też zwiększyć rozmiar aplikacji - pytanie czy warto i naprawdę tego potrzebujesz

0

Zobaczę JSON, ale mam zerowe pojęcie o tym.

0

A co sądzicie o SQLite?

2
takitamnoobek napisał(a):

A co sądzicie o SQLite?

Sądzimy (sądzę) że Twoim myśleniem miotają przypadkowe tutoriale.

nie powiedziałeś z góry, o jakich ilościach tych danych mowa, czy będą wyszukiwania np wg kolumny trzeciej itd... wtedy baza relacyjna, a przynajmniej kolumnowa, by miała sens.
Ile tego jest, jakie podziały itd ... jak się ma "użytkownik" do "biblioteki danych" (skądinąd dziwne słowo w IT), jakie operacje są przewidywane ...

Nie dostaniesz kompetentnej porady, jeśli nie podasz pełnego kontekstu

0

Użytkownik będzie tworzył obiekty, które będą się zapisywać w Liście.
Za każdym razem, kiedy użytkownik kliknie "Create" chcę żeby nowy obiekt dodawał się do już istniejącej listy.
Obiekt ma kilka parametrów: 1 string z nazwą i 5x float.
W jednej ze scen za każdym razem kiedy użytkownik wejdzie będzie się ta lista ładować i pokazywać w scrollview po kolei od góry do dołu każdy obiekt.
Ten string oraz floaty będą się wyświetlać w polach tekstowych.
Zamierzam też dodać swoją własną bibliotekę takich danych, która może mieć kiedyś nawet i 10tys+ obiektów i użytkownik będzie mógł z nich skorzystać dodając do własnej edytowalnej listy.
Również zamierzam dodać opcje wyszukiwania w tej liście, że po wpisaniu w polu inputfield wyświetli się docelowy obiekt.

1

"obiekt" .. "obiekt" ... "obiekt" ... a konkretnie, to jak go nazwiesz?
Początek dobrego projektu "obiektu" to dobra nazwa klasy.

Jak na razie najgorsze wyszukiwania jakie proponujesz, to pasuje Dictionary<string,KlasaOJakąPytam>

Widzę po postach, ze ambitnie idziesz w gry, ale nie odniosłem wrażenia, ze masz ugruntowane programowanie obiektowe, może wrócić do tego?

update:
Generalnie w dobrze zaprojektowanym programie takie rzeczy się zamyka w klasach, w środku klas(y) realizujących takie dane masz wolność wyboru technologii, a na zewnątrz w/w klasy korzystasz z tego.

Dłuuugo na etapie developerki obejdziesz się stałymi danymi, produkowanym przez kod w/w klasy, bez kontaktu z zewnętrznymi danymi

1 użytkowników online, w tym zalogowanych: 0, gości: 1