Jump to content
Unity Insider Forum

Zumbibaer

Members
  • Gesamte Inhalte

    6
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

Zumbibaer's Achievements

Newbie

Newbie (1/3)

0

Ansehen in der Community

  1. Hallo zusammen, vor kurzem bin ich auf das Problem gestoßen, das ich einfach mehr Items / Assets im Spiel benötige wie ich selber von Hand im Editor über ScriptableObjects erstellen möchte. Also die Funktionalität an sich ist super aber wenn ich mehr wie 1000 Items anlegen möchte, wollte ich das nur ungern über den UnityEditor machen. Zum einen fehlt mir da die Übersicht über alle meine vorhandenen Objekte von Typ XYZ. Eine tabellarische Darstellung wäre toll, in der ich gleich Einträge editieren kann! (Wenn es so etwas geben sollte, und ich es einfach nicht finde, würde sich der Rest dieses Threads erledigen!!). Kurzum habe ich MySQL geöffnet, eine Datenbank sowie direkt noch eine Datenbank-Anwendung (in Java) geschrieben zum verwalten und einfachem hinzufügen / editieren von Daten. In Unity dann noch über den Editor einen passenen Import geschrieben der alle Daten importiert und als Asset Files ablegt. Eigentlich könnte ich hier schon auf ScritableObjects verzichten und direkt eigene Strukturen verwenden, aber so habe ich immernoch die Möglichkeit im Imspector alles auf Richtigkeit zu prüfen. Kann ich dann ja immernoch rauswerfen. Nun muss ich natürlich in meiner Datenbank-Anwendung diverse Konstanten haben (zB. Item-Stat Definitionen) sowie auch in Unity. Diese habe ich auch über die Datenbank verwaltet. Sprich es existieren Tabellen mit Inhalten wie: ID=1,Name=Dodge_P ID=2,Name=Parry_P Welche dann auch einfach über die Anwendung hinzugefügt, entfernt, und natürlich am wichtigsten, den Items zugeordnet werden können. Und genau diese Informationen brauche ich in Unity um anhand der ItemWerte die tatsächlichen Gesamt-Werte sowie aktuellen Player-Stats zu ermitteln. Dazu sollte ich natürlich auch wissen welche "ID", Dodge ist. Nun kann ich mir zwar diese Daten als ScritableObjects nach Unity importieren, aber im Code weiss ich dann immernoch nicht welche ID "Dodge" ist. Gelöst habe ich es einfach über Konstanten im Code. Also zB ITEMSTAT_DODGE_P = 1 - aber so richtig zufrieden bin ich damit nicht. Warum? Nun die ID's von bestehenden Datensätzen werden sich niemals ändern. Es seidenn man spielt direkt in der Datenbank rum, aber so habe ich dennoch eine Lücke in meinem doch in sich konsistenten Datenbank-System. Dies mag etwas übertrieben sein, aber ich muss ehrlich sein. Ich bin faul.. und gerade solche Fehler sollten doch vermieden werden, daher hier meine Frage in die Runde, wie ihr solche Probleme angeht? Während ich den Beitrag geschrieben habe, ist mir eine Idee gekommen um dies zu umgehen. Wenn ich alle diese Konstanten in eine C# File schreibe, dann könnte ich diese ja rein theoretisch auch über den Datenbank-Import löschen und neu erstellen. Sprich ich lösche den Inhalt aus der Datei und schreibe den Code über den Import neu hinein. Zu drastisch? Nun ich freue mich auf Anregungen :)
×
×
  • Neu erstellen...