SigmaTau91 Geschrieben 4. Juni 2018 Melden Share Geschrieben 4. Juni 2018 Hallo Leute! Folgendes Problem : Ich erstelle gerade in Unity ein Multiplayer-Spiel und auf dem Spieler Prefab befindet sich ein Script, welches sich selbst bei Aufruf als statische Instanz setzt. Jeder Spieler soll nur einen "CharakterManger" erhalten, befinden sich 2 im Spiel, wird ein Error ausgegeben. Starte ich den Host, funktioniert alles wunderbar. Starte ich aber einen Client, erhalte ich die Meldung "Mehr als ein CharakterManger im Spiel", worauf hin für diesen keiner erstellt wird. In der Scene in Unity befinden sich natürlich auch 2 Spieler-Objekte mit jeweils einem CharakterManger Script. Überspringe ich die Meldung, wird vermutlich der CharakterManager vom Host verwendet. Ich bin eigentlich davon ausgegangen das die Clients untereinander ihre eigenen statischen Variablen besitzen, weswegen ich ein wenig überfragt bin, weswegen es hier zum Fehler kommt. Hoffe ihr könnt mir da weiter helfen!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 5. Juni 2018 Melden Share Geschrieben 5. Juni 2018 vor 11 Stunden schrieb SigmaTau91: Ich bin eigentlich davon ausgegangen das die Clients untereinander ihre eigenen statischen Variablen besitzen Nope. Die synchronisieren exakt das, was ihnen gesagt wurde, und sonst nichts. Also SyncVars und was immer du so semi-manuell hin und her schiebst, z.B. als Parameter eines Commands oder CilentRPCs. Dein Manager-Script ist soweit eine komplett lokale Angelegenheit, da muss nichts synchronisiert werden. Du kannst in deiner Initialisierung einfach prüfen, ob isLocalPlayer für dein NetworkBehaviour auf dem Player true ist und setze den Manager nur dann als "den" Manager fest. Vorsicht: Ich meine mich zu erinnern, dass der Wert erst nach OnStartClient() und damit auch nach Awake() initialisiert wird. Genau genommen kannst du einfach deine Singleton-Initialisierung in OnStartLocalClient() machen. Das wird nur auf dem NetworkBehaviour des Objekts aufgerufen, das dem lokalen Client gehört. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.