Race condition in coil activation

Aperta
#9 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
csharp, unity
Ambito
game-dev

Direzione di ricerca

Start by tracing Unity's Player.Start, CoilPlayer.OnStart, CoilPlayer.HandleCoilEvent, and IGameLogicEngine.OnCoilChanged, then reproduce the table script and "Pulse Coil" sequence. Done means the ball spawns reliably regardless of the order in which the relevant startup methods run.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

This script has no effect:
image
This script causes the ball to spawn:
image

Cause

What should happen is:

  1. Player.Start is called by Unity
  2. CoilPlayer.OnStart is called
  3. CoilPlayer.HandleCoilEvent is added as a callback to IGameLogicEngine.OnCoilChanged
  4. The table script starts running and the "Pulse Coil" node is executed
  5. The ball spawns

The problem is that the table script starts running before Player.Start is called and nothing happens because CoilPlayer.HandleCoilEvent does not yet observe IGameLogicEngine.OnCoilChanged. This might be non-deterministic as well because the order of in which Start is called on MonoBehaviours is. Not sure how it is in Visual Scripting.

Lingua principale
C#
Stelle
0
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di VisualPinball/VisualPinball.Unity.VisualScripting

Tutte le issue di VisualPinball/VisualPinball.Unity.VisualScripting

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.