Jump to content
Unity Insider Forum
Sign in to follow this  
Overload

Photon Countdown Custom Properties ?

Recommended Posts

Moin liebe Leute,

ich habe eine kleine Frage bezüglich eines Countdowns mit PUN innerhalb eines Raumes zu Rundenstart und brauche mal bitte einen Denkanstoß:
Mein Plan: (4 Spieler sollen Platz haben in einem Spiel) Spieler drückt "Spielen" -> PUN sucht nach einem offenen Raum und joined sonst wird ein Random Raum erstellt und er joined (alles noch in der Lobby).
Sobald ein zweiter Spieler dazu kommt broadcasted der MasterClient -> LoadLevel("Level") und beide laden den Raum. Das klappt ;-)

Genau jetzt soll ein Countdown starten der Sekunden bis zum Spielstart zählt und weiteren Spielern Gelegenheit gibt dem Raum noch zu joinen.
Wenn die Spielerzahl bereits 4 beträgt soll der Counter auf 5 Sekunden reduziert werden um die Wartezeit zu kürzen. Während der Wartezeit returne ich aus dem Movement Funktionen damit sich kein Spieler bewegen kann. Denke mal mit Bool oder so...

Jetzt zu meiner Frage:
Wie bekomme ich den Countdown hin, dass alle Spieler die synchronisierte Zeit bekommen ?
Ich habe was von Custom Room Properties gelesen was mir auch einleuchtet dafür zu verwenden. Nur leider ist mir die genaue Vorgehensweise nicht ganz klar, da Exitgames das Demo dafür aus Photon entfernt hat.
Wann wird wo von wem die Propertie gesetzt und wer wertet die wie aus ?

Vielen Dank für eure Mühe :-)

Share this post


Link to post
Share on other sites

Ist bissel her, aber...

Der Masterclient könnte die Zahl merken. Einmal hat er sowas wie networkCountdown und einmal masterClientCountdown. Er denkt über den logischen Teil und updatet masterClientCountdown (also irgendein Client muss das eh machen), und macht dann irgendwas wie RPC("UpdateTimer", RPCTarget.AllViaServer, masterClientCountdown), damit alle gleichzeitig (je nach Ping ;)) bekommen. ja und nun muss jeder inklusiv Masterclient networkCountdown aktualisieren.

Du meinst Custom Properties. Kann man auch. Das ist sogar interessanter, wenn jemand nachträglich joined, dass es gesynced wird.
Da arbeitest du mit hashtable von Photon selbst. Dann einfach die Werte packen und aktualisieren.
https://doc.photonengine.com/en-us/pun/current/gameplay/synchronization-and-state

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×