Also um es so kurz wie möglich zu machen, versuche ich die wesentlichen Informationen meines Charakters zu speichern, und nicht nur habe ich gehört PlayerPrefs ist schlecht beraten, aber es wird auch nicht richtig für einige der Informationen Ich habe (zum Beispiel, ich kann nicht PlayerPrefs mein Beruf und seine begleitenden Statistiken und geerbten Klasseninformationen), so habe ich ziemlich viel davon ausgegangen, dass die beste, wenn nicht nur, dies durch Serialisierung zu erreichen ist.Serialisierung in Unity
Nun, ich bin ziemlich positiv Ich verstehe Serialisierung in einem Kern Weg, aber ich würde nicht behaupten, dass ich es sehr vertraulich kenne, und damit bin ich in einem Stück gebunden.
Ich habe einige Skripte geschrieben, und here's the gist for them. Hinweis: Meine Skripts können sehr gut sein, aber wenn das so ist, bitte sag es mir. Ich behaupte nicht, dass sie großartig sind, nur dass ich eine Menge da habe, und AFAIK, sie sind alle in Ordnung, es ist nur das Serialisieren, das aus irgendeinem Grund für mich schwierig ist.
Geringfügige Beschreibung von ihnen: Ich versuche einfach ein Zeichenscript für einen Wächter zu machen, der sowohl den Job: Mercenary, als auch den Typ: GuardPrototype übernimmt, und dann möchte ich das retten können. In der Theorie würde das GameControl.cs-Skript das erreichen, aber ich habe Probleme (offensichtlich), und ich habe eine Menge Dinge auskommentiert, weil ich ziemlich ahnungslos bin, lol.
Also, das sagte, ich habe das Persistence and Saving-Tutorial von Unity, aber ich benutze nicht nur verschiedene Skripte,/ich rufe nicht einfache Floats, so hatte ich eine harte Zeit, das zu ändern . Letztendlich möchte ich nur zwei Dinge wissen: Ist mein Code, den ich versuche zu sparen, sinnvoll? Wenn ja, wie um alles in der Welt würde ich Serialisierung verwenden, um die Informationen zu speichern?
Vielen Dank im Voraus, ich schätze jede Hilfe, die ich bekomme.
TL, DR Wie zur Hölle funktioniert Serialisierung mit Dingen, die nicht einfache Floats sind, die in separaten Skripten sind?
Hinweise: Im Folgenden sind die Ketten von Skripten I
- ClassParadigm verwenden möchten -> Mercenary // dies ist die Aufgabe, die verwendet wird
- TypeParadigm // weil es mehrere sind könnte es sein, -> StandardParadigm -> GuardPrototype // von allen Standardtypen, es ist von einer Wache
Dann möchte ich ein Skript sie aufrufen lassen. - Zeichen (in diesem Fall GuardA), die dann einen Job annehmen, und ein Typ (beide oben festgelegt), sowie StandardPlayerParadigm // Was ein Standardplayer besitzen wird
Schließlich soll das alles sein auf ein Objekt in Unity gelegt werden, von dem ich dann ein Prefab machen könnte. Mit anderen Worten, wenn dies ein Charakter in meinem Spiel wäre, wäre es immer ein GuardPrototyp + Mercenary, wenn dieses Prefab auf dem Spielfeld wäre.
Edit: Danke an Mike Hunt, weil sie mir definitiv große Zeit mit dem Hauptproblem zur Hand geholfen haben. Ich habe jetzt ein etwas anderes Problem, aber das scheint viel praktikabler.
Erstens I updated my gist. Zweitens ist mir eine Sache in der Einheit mit dem, wenn ich das XmlSerialization Skript zu einem Gameobject anhang, es einig Kind Profile in sie hat (wie ein verschachteltes Menü, das ich es nicht haben will). Ich bin nicht ganz sicher, wie ich das bekämpfen soll, und außerdem scheint es nicht so zu sein, dass es tatsächlich die Werte zuweist, die ich dafür haben möchte (So wie ich will, dass das GuardA-Skript Statistiken von seinem " Typ "Skript, das ich geschrieben habe, aber ich glaube nicht, dass es funktioniert". Ich bin mir sicher, dass ich etwas übertriebenes getan habe und irgendwo in meinem Code, dass es etwas extra genannt hat, aber ich kann nicht für das Leben von mir herausfinden, wo das gewesen wäre.
Also zwei Fragen jetzt: A) Was ist damit los? B) Ist das ein effektiver Einsatz? Habe ich das nicht wie gewünscht umgesetzt?
Auch, dritte Frage: Dies scheint wie eine einwandfreie Methode für doppelte Feinde mit geringen Abweichungen in den Statistiken, aber was genau müsste ich tun, um nur meine Standard-Player zu speichern? Scheint, als ob es immer noch nicht ganz ins Schwarze trifft, aber ich könnte falsch liegen und es einfach nicht merken.
Tags im Tag-Abschnitt gehen, bitte im Titel Ihrer Frage stellt sie nicht. –